1
0
forked from BgLUG/bglug.it
bglug.it/content/posts/2024/2024-09-09-migrazione-wordpress-hugo/index.it.md
paspo fb867f876c fix_archetipo_ancora (#221)
fixes #218

Reviewed-on: BgLUG/bglug.it#221
Co-authored-by: paspo <paolo@asperti.com>
Co-committed-by: paspo <paolo@asperti.com>
2024-09-13 18:32:20 +00:00

75 lines
6.5 KiB
Markdown

---
title: "Migrazione da Wordpress a Hugo"
date: 2024-09-08T10:50:41+02:00
draft: false
slug: "2024-09-09-migrazione-wordpress-hugo"
type: post
image: wordpress-to-hugo.png
image_alt: Immagine che mostra una freccia da wordpress a hugo
image_caption: "Image credits: amreo, [CC0](https://creativecommons.org/publicdomain/zero/1.0/)"
summary: Racconto e dettagli della migrazione da Wordpress a Hugo.
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 "Image credits: none, CC0")
![Contributi al sito bglug.it secondo gitea](contributi-bglug.it.png "Image credits: none, CC0")
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 "Image credits: [devPractical](https://devpractical.com/what-are-static-site-generators/)")
## Cos'è Hugo?
![Logo di hugo](hugo-logo-wide.png "Image credits: [Hugo](https://gohugo.io/)")
[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 noi, 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.
## Vogliamo te
In conclusione, ci farebbe molto piacere ricevere contributi anche da parte di persone esterne. Se hai voglia di aiutarci, sei il benvenuto! Non solo per questo progetto, ma anche per le altre attività del BGLUG.
Ecco alcuni link utili per cominciare:
- Repository del sito su Gitea: [https://git.libreschool.org/BgLUG/bglug.it](https://git.libreschool.org/BgLUG/bglug.it)
- Chat del BGLUG su Mattermost: [https://chat.bglug.it/](https://chat.bglug.it/)