Hai appena finito di lavorare al tuo sito, tutto sembra a posto. La homepage funziona. Ma quando clicchi su “Chi sono” o su un articolo del blog… ti compare un errore 404 – Pagina non trovata.
È uno degli errori più comuni in WordPress. E anche uno dei più frustranti, perché il contenuto esiste, ma sembra scomparso.
In questo articolo ti spiego perché succede, come risolverlo (quando è semplice) e quando è meglio non improvvisare.
Il problema: la homepage si carica, ma tutte le altre pagine danno errore 404
È un classico. Il sito è online, i contenuti ci sono, ma qualsiasi URL che non sia la home restituisce un errore. Succede su:
- Articoli del blog
- Pagine secondarie
- Pagine personalizzate (landing, prodotti, ecc.)
E può capitare all’improvviso, dopo:
- L’installazione di un plugin
- Un aggiornamento di WordPress
- Il cambio di tema
- Una migrazione o spostamento del sito
Causa 1: i permalink sono corrotti
È la causa più frequente. WordPress gestisce gli URL tramite una struttura chiamata permalink. Se qualcosa rompe quel meccanismo (es. file .htaccess
mancante o errato), le pagine “non sanno più” come essere servite.
Come provare a risolvere:
- Vai in WordPress → Impostazioni → Permalink
- Senza cambiare nulla, clicca su “Salva le modifiche”
Questo forza WordPress a rigenerare le regole di riscrittura degli URL. Se il problema era nei permalink, ora tutto dovrebbe tornare a funzionare.
Causa 2: file .htaccess mancante o errato
Il file .htaccess
si trova nella root del sito ed è fondamentale per far funzionare i permalink.
A volte viene cancellato, riscritto male o non ha i permessi giusti.
Soluzione tecnica:
- Accedi via FTP o file manager del tuo hosting
- Controlla se esiste un file
.htaccess
- Se è vuoto o assente, crea un nuovo file
.htaccess
con questo contenuto base:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Salva e riprova. Attenzione: se hai regole personalizzate (es. per sicurezza, cache, redirect), non cancellarle.
Causa 3: problema di hosting o Apache
In alcuni casi, l’hosting disabilita il modulo mod_rewrite
di Apache, necessario per far funzionare gli URL personalizzati. Questo capita soprattutto in ambienti condivisi o su server mal configurati.
In questo caso non puoi farci nulla da sola. Devi contattare l’assistenza del tuo hosting e chiedere:
“Il modulo mod_rewrite è attivo sul mio spazio web? Potete verificare il supporto per i permalink WordPress?”
Causa 4: conflitti con plugin o tema
Alcuni plugin (soprattutto di sicurezza, caching o redirect) possono interferire con gli URL. Anche un tema mal sviluppato può sovrascrivere regole di routing.
Per testare:
- Disattiva temporaneamente tutti i plugin
- Cambia tema attivo (usa Twenty Twenty-One o simili)
- Riprova ad accedere a una pagina
Se funziona, riattiva uno a uno per identificare il colpevole.
Quando non improvvisare
Se non riesci ad accedere al pannello WordPress, non sai cos’è .htaccess
, o il sito ha subito una migrazione recente, non rischiare: ogni tentativo può peggiorare la situazione.
Molti utenti, per risolvere da soli, finiscono per:
- Cancellare file importanti
- Rompere il file
.htaccess
- Fare redirect errati
- Perdere traffico o indicizzazione
Conclusione
Se la homepage funziona ma le altre pagine danno errore 404, il contenuto non è perso: è solo WordPress che non riesce più a gestire gli URL.
In molti casi si risolve facilmente, ma se il problema persiste o non sai dove mettere le mani, scrivimi: posso intervenire in sicurezza e ripristinare la struttura del sito senza danni.