C’è un momento nella vita di ogni sito WordPress in cui smette di essere un “blog” e diventa una creatura un po’ troppo esigente: plugin che litigano tra loro, database che cresce senza controllo, e un hosting che costa quanto una pizza gourmet… ogni mese.
Il mio momento è arrivato quando ho guardato la fattura annuale (hosting + dominio + “piccole aggiunte” varie) e ho pensato: “ok, qui qualcosa non torna”.
Spoiler: ho trasformato tutto in un sito statico. E sì, ho anche rotto parecchie cose lungo la strada.
⸻
La fase 1: WordPress, il regno del caos ordinato
Partiamo da lì: WordPress classico.
Funziona, è flessibile, ma nel mio caso era diventato un piccolo Frankenstein digitale:
- 467 articoli
- migliaia di immagini (e relative miniature)
- tag ovunque (anche dove non servivano)
- plugin che si guardavano male tra loro
Ogni articolo nuovo era una festa… per il server.
⸻
La fase 2: la grande idea — “lo rendo statico e risparmio tutto”
L’idea era semplice:
👉 trasformare tutto in HTML statico
👉 eliminare il server dinamico
👉 pubblicare su GitHub + Cloudflare Pages
👉 azzerare hosting e alleggerire costi
Ho scelto Staatic come motore di conversione.
Sembrava facile.
Non lo era.
⸻
Il primo ostacolo: “perché il sito non si apre più?”
Dopo il primo export, tutto sembrava funzionare… finché:
- link rotti
- pagine non trovate
- HTTPS che si comportava come un animale selvatico
- crawler che si fermava a metà
E ovviamente il classico:
“Crawling failed”
Traduzione: non sto capendo niente di quello che stai facendo
⸻
Il secondo problema: GitHub e il loop infinito
Ho collegato tutto a GitHub.
Risultato:
- ogni publish rompeva la repo
- VS Code chiedeva di inizializzare Git ogni volta
- push forzati come se non ci fosse un domani
Il problema? Avevo messo Git dentro la cartella di export.
Morale:
👉 mai mischiare build e repository
Ho dovuto separare tutto in:
- cartella export
- repo stabile
E la pace è tornata.
⸻
Il terzo boss: Cloudflare che non trovava la cartella
Deploy su Cloudflare Pages.
Errore classico:
“Output directory not found”
Nonostante la cartella fosse lì.
Il motivo? Semplice e crudele:
👉 Cloudflare stava guardando un commit diverso da quello che stavo controllando io.
Traduzione: stavo vivendo su due timeline diverse.
⸻
Il quarto problema: il menu mobile rotto (il trauma)
A un certo punto il sito funzionava… ma solo da desktop.
Su mobile:
- hamburger menu morto
- click non funzionanti
- JavaScript che “non era più JavaScript”
Errore nel console:
MIME type “text/html” invece di “application/javascript”
Traduzione:
👉 il sito stava servendo pagine HTML al posto dei file JS
Praticamente: il browser chiedeva un motore, riceveva una pizza.
⸻
Il quinto livello: tag, archivi e file infiniti
Poi ho scoperto il vero mostro:
- tag pages inutili
- archivi autore
- paginazioni infinite
- feed RSS
- sitemap multiple
Ogni cosa diventava una pagina statica.
Risultato:
👉 12.000 file generati per 467 articoli
A quel punto ho deciso:
“i tag non esistono più”
E li ho eliminati senza pietà.
⸻
Il sesto boss finale: le immagini
Pensavo fosse finita.
Invece WordPress aveva creato:
- 150×150
- 300×300
- 768x…
- 1536x…
- 2048x…
Per ogni singola immagine.
Traduzione:
👉 ogni foto era diventata una famiglia numerosa
Con plugin e filtri ho iniziato a:
- eliminare miniature inutili
- bloccare generazione futura
- pulire la media library
E improvvisamente il sito ha perso peso… come un SSD dopo la dieta.
⸻
Il momento di svolta
A un certo punto ho capito una cosa semplice:
👉 il problema non era WordPress
👉 era tutto quello che ci avevo costruito sopra
Quando ho:
- separato Git dall’export
- tolto tag e archivi inutili
- pulito immagini
- sistemato Cloudflare
- stabilizzato Staatic
…tutto ha iniziato a funzionare.
⸻
Il risultato finale
Oggi il mio sito:
- è statico
- è veloce
- non ha server da pagare
- è ospitato su GitHub + Cloudflare Pages
- non richiede manutenzione costante
E soprattutto:
💸 hosting: 0€
💸 infrastruttura: quasi zero
💸 stress: in forte calo
⸻
Le lezioni che ho imparato
Se dovessi riassumere tutto:
- Non mischiare build e repository Git
- Cloudflare non perdona configurazioni incoerenti
- WordPress genera molto più “rumore” di quanto pensi
- Le immagini sono il vero nemico silenzioso
- I tag sembrano innocui… finché non diventano 1000 pagine inutili
