Un errore 404 indica che il server ha ricevuto la richiesta del browser, ma non riesce a trovare la risorsa associata all’URL richiesto. È il classico messaggio 404 Not Found o “Pagina non trovata”.
La prima cosa da chiarire, però, è che un 404 non è sempre un errore da correggere. Se una pagina è stata eliminata volontariamente e non esiste un contenuto equivalente, restituire un vero codice HTTP 404 può essere il comportamento corretto. Il problema nasce quando il 404 compare su una pagina che dovrebbe esistere, deriva da un link sbagliato oppure impedisce a utenti e motori di ricerca di raggiungere una risorsa che è stata semplicemente spostata.
Per questo la domanda utile non è “come elimino tutti gli errori 404?”, ma “perché questo URL restituisce 404 e quale dovrebbe essere il suo comportamento corretto?”.
Che cos’è l’errore 404 e cosa significa “Not Found”
Il 404 appartiene alla famiglia dei codici di stato HTTP 4xx, cioè le risposte che indicano che la richiesta non può essere soddisfatta nelle condizioni in cui è stata effettuata. Se vuoi inquadrare il 404 insieme agli altri codici, trovi una guida dedicata ai codici di errore HTTP.
Secondo la specifica HTTP, un codice 404 Not Found comunica che il server non trova la risorsa richiesta. Il codice, da solo, non specifica se l’assenza sia temporanea o definitiva. Quando invece il server sa che una risorsa è stata rimossa in modo permanente, il codice 410 Gone permette di comunicarlo in maniera più esplicita. MDN descrive questa distinzione tra 404 e 410.
Cosa succede tra browser e server quando ricevi un codice 404
Quando inserisci un indirizzo nel browser o fai clic su un link, il browser invia una richiesta HTTP al server.
In uno scenario normale il server individua la risorsa e restituisce una risposta come 200 OK, accompagnata dal contenuto della pagina. Se invece non trova una risorsa associata all’URL richiesto, può restituire:
HTTP/1.1 404 Not Found
Il browser visualizza quindi la pagina di errore predisposta dal server o dal CMS.
Questo significa che sito irraggiungibile ed errore 404 non sono la stessa cosa. Con un 404 la comunicazione con il server è avvenuta: è la specifica risorsa richiesta a non essere stata trovata.
Errore 404, soft 404 e pagina 404 personalizzata non sono la stessa cosa
Questi tre concetti vengono spesso confusi.
Un vero 404 mostra che la risorsa non esiste e restituisce HTTP 404.
Una pagina 404 personalizzata è semplicemente il contenuto grafico mostrato al visitatore quando si verifica quella situazione. Può avere menu, ricerca, collegamenti utili e lo stesso design del resto del sito, ma il server deve comunque restituire il codice HTTP corretto.
Un soft 404, invece, crea un’incoerenza: la pagina comunica all’utente che il contenuto non esiste, ma il server restituisce per esempio 200 OK. Google può interpretare una pagina del genere come soft 404 ed escluderla dalla Ricerca. Google documenta esplicitamente il comportamento dei soft 404.
La distinzione è importante perché non basta guardare ciò che compare a schermo. Per diagnosticare correttamente il problema bisogna verificare anche lo status HTTP effettivamente restituito dal server.
Perché compare un errore 404
Un 404 può comparire per ragioni molto diverse. Ed è proprio la causa a determinare la soluzione corretta.
Un caso banale è l’URL scritto male: basta una lettera sbagliata o un carattere mancante perché il browser richieda una risorsa che non esiste.
Un altro scenario frequente si verifica quando una pagina viene eliminata oppure cambia URL senza che i link interni, i backlink o altri riferimenti vengano aggiornati.
Ci sono poi situazioni più tecniche: routing del CMS, regole di riscrittura, permalink, configurazione server o applicazioni JavaScript possono far restituire 404 anche a contenuti che dovrebbero essere disponibili.
URL errato, pagina eliminata, spostata o linkata male
Per capire il problema conviene distinguere quattro situazioni.
L’URL non è mai esistito. Può provenire da un errore di digitazione, un bot, un vecchio link esterno scritto male o una richiesta automatica. In questo caso non è detto che sia necessario intervenire.
La pagina è stata eliminata intenzionalmente. Se non esiste un sostituto realmente equivalente, 404 o 410 possono essere risposte corrette.
La pagina è stata spostata. Se il contenuto esiste ancora a un nuovo indirizzo, il vecchio URL dovrebbe normalmente puntare alla nuova destinazione attraverso un redirect permanente.
Un link interno è sbagliato. Qui il problema non è necessariamente il 404 in sé, ma il collegamento che continua a mandare utenti e crawler verso una destinazione inesistente. La soluzione primaria consiste nel correggere il link.
Questa separazione evita uno degli errori più comuni nella gestione dei siti: configurare redirect automaticamente su qualsiasi URL che restituisce 404.
Quando la pagina dovrebbe esistere ma il server restituisce comunque 404
Il caso cambia completamente se apri una pagina che sai essere presente nel CMS ma il server risponde comunque con 404.
A quel punto il problema può essere nel routing, nelle regole di riscrittura degli URL, nella configurazione del web server oppure nel CMS.
Su WordPress, per esempio, problemi con permalink e regole di rewrite possono far apparire 404 su articoli che esistono realmente. Ho separato questo scenario dalla guida generale proprio perché richiede un troubleshooting specifico: trovi la procedura nell’articolo su come risolvere i post WordPress che restituiscono errori 404.
Gli errori 404 fanno male alla SEO?
Un URL che restituisce 404 non rappresenta automaticamente un problema SEO e non esiste l’obiettivo di portare il numero di 404 del sito a zero.
Google continua a incontrare normalmente URL inesistenti sul Web. Una pagina eliminata senza un sostituto valido può correttamente restituire 404 o 410 e non deve essere reindirizzata soltanto per far scomparire una segnalazione da Search Console.
La questione SEO diventa rilevante soprattutto quando il 404 segnala un problema che interrompe una relazione che invece dovrebbe esistere.
Quando un 404 è normale e non deve essere corretto
Immagina di aver eliminato una vecchia pagina dedicata a un servizio che non offri più e di non avere sul sito una risorsa realmente equivalente.
Lasciare che quel vecchio URL restituisca 404 è perfettamente sensato.
Lo stesso può valere per URL generati da bot, errori casuali di digitazione o percorsi che non sono mai appartenuti all’architettura reale del sito.
Search Console può conoscere e ricontrollare URL che continuano a restituire errori 4xx. La presenza della voce “Non trovata (404)” nel report di indicizzazione non significa quindi automaticamente che devi creare una pagina o impostare un redirect. Google stesso ricorda che una pagina non indicizzata non rappresenta necessariamente un problema: va valutata la ragione concreta per cui quell’URL esiste.
Quando un 404 diventa un problema
Il 404 merita invece attenzione quando:
- una pagina importante è scomparsa accidentalmente;
- un link interno porta a una risorsa inesistente;
- una pagina è stata spostata ma il vecchio URL continua a ricevere traffico o backlink;
- il CMS restituisce 404 per contenuti che esistono;
- una sitemap continua a includere URL eliminati;
- una navigazione, una scheda prodotto o un percorso di conversione conduce verso una pagina non trovata.
In questi casi il problema non deriva da una presunta “penalizzazione per i 404”. Deriva dal fatto che utenti, link e segnali del sito stanno puntando verso una destinazione che non svolge più la funzione prevista.
È una differenza importante: permette di correggere le cause reali senza introdurre redirect inutili o creare nuove incoerenze.
Come trovare gli errori 404 sul tuo sito
Per gestire bene i 404 serve capire almeno tre cose: quali URL restituiscono 404, da dove vengono raggiunti e se quelle URL dovrebbero realmente esistere.
Non esiste quindi un unico strumento capace di dare da solo la risposta completa.
Google Search Console: Indicizzazione delle pagine e Controllo URL
Google Search Console è un buon punto di partenza perché mostra gli URL che Google conosce e i motivi per cui alcune pagine non vengono indicizzate.
Nel report Indicizzazione delle pagine puoi controllare i motivi di mancata indicizzazione e individuare la categoria relativa agli URL Non trovati (404). Il report non va però interpretato come una lista di errori da correggere in blocco: Google raccomanda di esaminare il motivo e stabilire se si tratta davvero di qualcosa che richiede un intervento. La documentazione del Page indexing report chiarisce proprio questo punto.
Per un singolo URL conviene invece usare Controllo URL. Lo strumento consente di verificare ciò che Google conosce della pagina e di testare la versione live; è particolarmente utile se hai appena corretto un problema e vuoi verificare cosa restituisce ora la risorsa. Google documenta le funzioni del Controllo URL.
Search Console, però, vede il sito dal punto di vista di Google. Non sostituisce un crawl interno.
Crawler e controllo dei link interni
Per trovare collegamenti interni che puntano a URL in 404 conviene eseguire una scansione del sito con un crawler.
Uno strumento come Screaming Frog SEO Spider permette di raccogliere gli URL e analizzare i codici di risposta. Se un collegamento interno punta a un 404, non limitarti a registrare l’URL rotto: individua la pagina sorgente che contiene il link.
Questo cambia la soluzione.
Se /vecchia-pagina/ è in 404 perché non deve più esistere, il codice può essere corretto. Ma se dieci articoli del sito continuano a linkarla, quei dieci collegamenti vanno aggiornati o rimossi.
Quando servono log del server e controllo dei backlink
Per siti molto grandi o per problemi difficili da ricostruire, i log del server possono mostrare quali URL vengono effettivamente richiesti dai crawler e con quale frequenza.
Il controllo dei backlink è utile invece quando scopri che un URL in 404 riceve collegamenti esterni validi. In quel caso devi chiederti se esiste una nuova destinazione che soddisfa davvero lo stesso intento.
Se sì, un redirect può avere senso. Se non esiste un sostituto coerente, non bisogna inventarne uno soltanto per evitare il 404.
Come risolvere un errore 404 senza creare nuovi problemi
Una volta trovato un URL in 404, non scegliere la soluzione partendo dal codice di stato. Parti dalla storia della risorsa e da ciò che dovrebbe accadere quando qualcuno richiede quell’indirizzo.
La matrice seguente riassume i casi principali.
| Situazione | Intervento consigliato |
|---|---|
| Pagina spostata e nuovo contenuto equivalente | Redirect permanente verso la nuova URL |
| Link interno con URL errato | Correggere direttamente il link |
| Pagina eliminata senza sostituto pertinente | Lasciare 404 oppure usare 410 se la rimozione è chiaramente permanente |
| Pagina che dovrebbe essere online | Correggere il problema tecnico |
| URL casuale mai esistito | Spesso nessun intervento |
| Pagina “non trovata” che restituisce 200 | Correggere il soft 404 |
| Vecchio URL ancora presente nella sitemap | Rimuoverlo dalla sitemap e verificare il comportamento desiderato |
Il punto decisivo è la pertinenza della destinazione. Un redirect deve rappresentare lo spostamento o la sostituzione reale della risorsa, non essere un modo per nascondere qualsiasi 404.
Quando usare un redirect 301 o 308
Se una pagina è stata spostata definitivamente e il nuovo URL rappresenta la stessa risorsa o un sostituto chiaramente equivalente, puoi utilizzare un redirect permanente.
Google indica i redirect server-side permanenti come soluzione preferibile quando una pagina cambia definitivamente indirizzo e riconosce sia 301 sia 308 come redirect permanenti. La documentazione Google sui redirect spiega le diverse opzioni.
Per esempio:
/vecchia-guida-seo/
↓ 301
/nuova-guida-seo/
Se vuoi approfondire implementazione e differenze fra redirect permanenti e temporanei, trovi la guida dedicata ai redirect 301 e 302.
La regola da ricordare è semplice: il redirect deve portare alla destinazione che un utente si aspetterebbe realmente di trovare al posto della vecchia pagina.
Quando lasciare un vero 404 o usare 410
Se il contenuto non esiste più e sul sito non c’è una sostituzione appropriata, Google indica 404 Not Found o 410 Gone come risposte valide.
A livello semantico HTTP c’è una differenza.
404 comunica che la risorsa non è stata trovata, senza specificare se la situazione sia temporanea o permanente.
410 comunica più esplicitamente che la risorsa non è più disponibile e che la condizione è considerata permanente.
Non serve però trasformare ogni vecchio 404 in 410. Per la maggior parte dei siti un vero 404 è sufficiente quando la risorsa semplicemente non esiste.
Perché non conviene reindirizzare tutti i 404 alla home
Un redirect automatico di qualsiasi URL inesistente verso la homepage sembra una soluzione comoda: niente pagina di errore e nessun visitatore apparentemente “perso”.
In realtà elimina una parte importante dell’informazione.
Se richiedo:
/esempio-prodotto-non-esistente/
e vengo mandato alla homepage senza alcuna relazione con ciò che cercavo, non ho ricevuto una sostituzione della risorsa. Ho semplicemente cambiato pagina.
Google raccomanda di utilizzare un redirect quando una pagina è stata spostata o dispone di un chiaro sostituto. Per una risorsa eliminata senza sostituzione raccomanda invece un vero 404 o 410.
Quindi il redirect alla home non dovrebbe essere il fallback universale dei 404.
Quando il contenuto esiste ma il problema è tecnico
Se la pagina dovrebbe essere disponibile, non impostare immediatamente un redirect.
Prima verifica:
- se il contenuto esiste nel CMS;
- quale codice HTTP restituisce realmente la URL;
- se permalink o regole di rewrite sono corretti;
- se il web server instrada correttamente la richiesta;
- se plugin, temi o codice applicativo interferiscono con il routing;
- se cache o CDN stanno servendo una risposta non aggiornata.
In WordPress è particolarmente importante distinguere pagina eliminata da pagina esistente che restituisce erroneamente 404. Nel secondo caso la soluzione è correggere WordPress o il server, non nascondere il problema con un redirect.
Soft 404: come riconoscerli e correggerli
Il soft 404 è uno dei casi più insidiosi perché ciò che vede il visitatore e ciò che comunica il server non coincidono.
Una pagina può visualizzare:
Pagina non trovata
ma rispondere:
HTTP/1.1 200 OK
Per il protocollo HTTP quella richiesta è stata soddisfatta normalmente. Il contenuto della pagina, però, dice l’esatto contrario.

Google può riconoscere questa incoerenza e classificare la URL come soft 404.
Perché una pagina può sembrare 404 ma restituire HTTP 200
La causa può trovarsi nel CMS, nel template della pagina di errore, nel routing dell’applicazione oppure nel rendering JavaScript.
Può succedere anche che una pagina valida venga interpretata come soft 404 perché Google riceve poco contenuto, non riesce a caricare risorse importanti o vede un messaggio di errore durante il rendering. La documentazione Google cita, tra le possibili cause, risorse mancanti, errori di connessione, pagine quasi vuote e problemi durante il caricamento.
Per questo non basta vedere la voce “Soft 404” e sostituire automaticamente il codice HTTP. Prima devi verificare se la pagina dovrebbe esistere.
Come verificare lo status e cosa correggere
La diagnosi cambia in base al risultato.
Se il contenuto è stato davvero eliminato, configura un vero 404 o 410.
Se il contenuto è stato trasferito a un nuovo indirizzo equivalente, utilizza un redirect permanente.
Se invece la pagina esiste e dovrebbe essere indicizzata, controlla ciò che Google riesce effettivamente a renderizzare attraverso Controllo URL e verifica risorse, contenuto principale e risposta HTTP. Google raccomanda proprio questa distinzione nel troubleshooting dei soft 404.
Questo è un buon esempio del motivo per cui “404” non identifica da solo la soluzione: la stessa segnalazione può richiedere l’eliminazione della pagina dall’indice, un redirect oppure la riparazione di una pagina valida.
Come impostare una pagina 404 utile senza trasformarla in un soft 404
Una pagina di errore può essere utile anche quando il codice HTTP deve restare 404.
L’obiettivo è aiutare la persona che ha raggiunto un vicolo cieco a capire cosa è successo e trovare una strada alternativa.
Una buona pagina 404 può mantenere la grafica e la navigazione del sito, spiegare chiaramente che la risorsa richiesta non è disponibile e proporre collegamenti verso contenuti realmente utili. Google suggerisce, per esempio, di mantenere aspetto e navigazione coerenti con il resto del sito e di offrire link che aiutino il visitatore a proseguire.
Il requisito tecnico non cambia: una pagina 404 personalizzata deve continuare a restituire HTTP 404 quando viene richiesta una risorsa inesistente. Google avverte esplicitamente di non trasformarla in un soft 404 restituendo uno status di successo.
Su WordPress puoi personalizzare anche il layout della pagina. Per la parte grafica e CMS trovi la guida specifica su come personalizzare la pagina 404 in WordPress.
Prima di considerare il lavoro concluso controlla comunque sempre entrambi i livelli:
Cosa vede l’utente? + Quale codice HTTP riceve browser/crawler?
Una pagina graficamente perfetta che restituisce lo status sbagliato resta una configurazione tecnicamente errata.
Conclusione
La gestione degli errori 404 diventa molto più semplice quando smetti di considerarli tutti come problemi da eliminare.
Un 404 è prima di tutto un’informazione sullo stato di una risorsa. Se la pagina è stata eliminata e non esiste un sostituto, 404 o 410 possono essere esattamente la risposta corretta. Se è stata spostata, serve un redirect verso la nuova destinazione pertinente. Se dovrebbe esistere, bisogna riparare la causa tecnica. Se invece una pagina “non trovata” restituisce 200 OK, devi verificare un possibile soft 404.
Il workflow più affidabile è quindi:
trova l’URL → individua da dove proviene → ricostruisci cosa dovrebbe esistere → verifica lo status HTTP → scegli la soluzione.
È questo passaggio di diagnosi che evita redirect inutili, link interni rotti e correzioni che nascondono il sintomo senza risolvere il problema.
Se il 404 riguarda contenuti WordPress che dovrebbero essere disponibili e non riesci a isolare la causa fra permalink, rewrite, server o plugin, può avere senso intervenire sul problema a livello di assistenza e manutenzione WordPress invece di accumulare redirect come soluzione temporanea.