1
0
forked from BgLUG/bglug.it
bglug.it/content/posts/2024/2024-09-09-migrazione-wordpress-hugo/index.it.md

65 lines
6.0 KiB
Markdown
Raw Normal View History

---
title: "Migrazione da Wordpress a Hugo"
date: 2024-09-08T10:50:41+02:00
#expiryDate: # impostare se il post deve essere rimosso automaticamente nel futuro
#publishDate: # impostare se il post deve essere pubblicato automaticamente nel futuro
draft: false
slug: "2024-09-09-migrazione-wordpress-hugo"
type: post
image: wordpress-to-hugo.png # se non metti un'immagine, viene presa la prima immagine del post
image_alt: "Descrizione dell'immagine. Il ratio dell'immagine deve essere 360x250."
summary: Se non presente, usa il testo dell'articolo
tags:
- news
categories:
- News
---
Siamo lieti di annunciare che la migrazione da **Wordpress** a **Hugo** è giunta a termine, sia per questo sito web che per quello di libreschool.org, con la pubblicazione di questo sito.
Questo progetto è il risultato di un lungo percorso iniziato a novembre dell'anno scorso, con il primo commit effettuato da Paolo Asperti il 26 novembre 2023 per il sito web [LibreSchool.org](https://libreschool.org), e concluso con la pubblicazione del nuovo sito web del bglug.it, avvenuta il 3 settembre 2024, durante la prima riunione serale del BGLUG dopo la pausa estiva.
Questo risultato è stato reso possibile grazie all'impegno di diverse persone, ma il contributo principale è stato senza dubbio di **Paolo Asperti**, che si è occupato della parte tecnica. È importante anche menzionare **Omar Lazzari**, che ha dato un contributo rilevante nella gestione dei contenuti.
![Contributi al sito libreschool.org secondo gitea](contributi-libreschool.org.png)
![Contributi al sito bglug.it secondo gitea](contributi-bglug.it.png)
Durante la migrazione non sì è perso nulla. È stato utilizzato uno strumento per esportare gli articoli da WordPress e convertirli in "formato Hugo", con successivi aggiustamenti manuali.
Il codice sorgente di entrambi i siti web è pubblico e disponibile [qui](https://git.libreschool.org/BgLUG/bglug.it) per BGLUG.it e [qui](https://git.libreschool.org/LibreSchool/libreschool.org) per LibreSchool.org.
## Cos'è un generatore di siti web statici?
Prima di parlare di Hugo, è importante capire cosa sia un generatore di siti web statici.
Un [generatore di siti web statici](https://en.wikipedia.org/wiki/Static_site_generator), o Static Site Generator (SSG), è un software che prende in input file testuali (ad esempio in formato markdown o rst) e genera un sito web composto da file HTML, CSS, JS, immagini e altri elementi, ma senza logica eseguibile lato server (come PHP o server REST).
![Schema che mostra il funzionamento di un generico SSG. Viene mostrato come il generatore prende in input dei file template come head.html, footer.html e sidebar.html, dei file contenuti come contacts.md, home.md e product.md e produce in output un albero di file con dentro un file index.html e due directory contenenti rispettivamente ciascuno un file index.html](static-site-generator.png)
## Cos'è Hugo?
![Logo di hugo](hugo-logo-wide.png)
[Hugo](https://gohugo.io/) è uno dei tanti SSG liberi presenti sul mercato, ed è probabilmente il più popolare.
È stato scelto per entrambi i nostri siti web web per la sua velocità, flessibilità e l'ampia disponibilità di temi. In particolare, abbiamo deciso di adottare il tema [hugo-arcana](https://themes.gohugo.io/themes/hugo-arcana/).
Per noi, questo significa che ogni volta che dobbiamo modificare il sito web, come per creare un nuovo articolo, è sufficiente aggiornare i file dei contenuti seguendo le istruzioni della nostra [wiki](https://git.libreschool.org/BgLUG/bglug.it/wiki) e pubblicare le modifiche sul repository ufficiale del sito. Da lì, una serie di automazioni gestite da CI/CD di Gitea eseguono Hugo e caricano i file generati sul server web. Queste automazioni controllano anche che i contenuti siano fatti come sì deve e che non spacchino qualcosa.
Uno dei vantaggi degli SSG è che permettono a terzi di proporre modifiche al sito web, purché queste vengano accettate da noi.
## Perché abbiamo migrato da Wordpress a Hugo?
[Wordpress](https://wordpress.com/it/) è il [sistema di gestione contenuti](https://it.wikipedia.org/wiki/Content_management_system) più popolare nonché il sistema che utilizzavamo prima della migrazione. Uno dei vantaggi di un CMS è la gestione dinamica dei contenuti, che possono cambiare durante la giornata o in base alle interazioni degli utenti. Permettono anche di gestire pagamenti, commenti e logiche avanzate per gli utenti.
Tuttavia, questi vantaggi non erano rilevanti per noi. Invece, gli svantaggi di WordPress, come la necessità di aggiornamenti frequenti e maggiore manutenzione, tempi di caricamento più lenti e una maggiore superficie di attacco (PHP + WordPress), erano problematici. Avevamo riscontrato anche episodi di comparsi articoli non voluti.
Queste sono state le principali ragioni per cui abbiamo scelto di migrare da WordPress a Hugo.
## Vantaggi della migrazione a Hugo per il BGLUG
La migrazione a Hugo ha portato numerosi vantaggi per il nostro team e la comunità del BGLUG, tra cui:
- **Maggiore velocità**: Il nuovo sito è notevolmente più veloce rispetto alla versione basata su wordpress, con tempi di caricamento molto ridotti.
- **Sicurezza migliorata**: Senza la necessità di gestire un backend complesso come PHP o database MySQL, la superficie d'attacco del sito è stata drasticamente ridotta.
- **Manutenzione semplificata**: Hugo richiede meno manutenzione, eliminando la necessità di continui aggiornamenti di plugin e temi. Possiamo essere relativamente sicuri che il sito web funzionerà perfettamente anche tra vent'anni
- **Archiviazione semplificata**: l'archiviazione è molto più semplice perché viene gratis con git. Tra dieci anni se vorremmo rivedere il vecchio sito basta andare indietro con `git checkout` e lanciare `hugo server`.
Ci sarebbe anche il vantaggio dei costi minori in quanto l'hosting di un sito web statico costa notevolmente meno in quanto occupa relativamente poco spazio e può essere messo letteralmente ovunque, come su una CDN. Tuttavia a noi non è cambiato nulla perché continua a girare sullo stesso web server, ove sono presenti altri servizi.