Perché una pagina di errore 404 dovrebbe mostrare il corretto codice di stato e non essere reindirizzata?

Con pagina di errore 404 s'intende una pagina programmata appositamente per comparire alla richiesta di un URL non più esistente. Ma perché non è consigliabile reindirizzare una pagina ormai inesistente ad un'altra pagina?

Esempio di pagina 404

Se si prova a richiedere l’URL https://www.sistrix.it/io-non-esisto/ non si troverà alcun contenuto. Siccome la pagina richiesta è inesistente il nostro server mostrerà una pagina di errore (chiamata anche pagina 404) creata per questo scopo.

Nel caso si richieda l’URL https://www.sistrix.it/io-non-esisto/ il server risponderà con una pagina di errore 404 tramite un codice di stato.

Quindi, se un utente desidera visualizzare un URL inesistente sul tuo sito, dovresti mostrare una pagina di errore che indichi chiaramente che tale URL richiesto non esiste ed essere certo che il corretto codice di stato “404” venga mostrato dal server.

Il codice di stato “404” significa “file not found” (“pagina non trovata”) ed è l’opposto del codice di stato “200”, ovvero “file found” (“pagina trovata”).

A cosa servono i codici di stato HTTP?

Il webcrawler dei motori di ricerca usa i codici di stato per verificare se l’URL richiesto è disponibile (200), o meno (404).

Perché il codice di stato 404 è così importante per le pagine inesistenti?

Solo quando il server mostra il codice di stato corretto il motore di ricerca riesce a capire che un URL non è più disponibile e rimuovere quindi il suddetto URL dall’indice, dopo un certo periodo di tempo.

Se una pagina 404 mostra il codice di stato errato, per esempio “200“, allora l’URL sarà mostrato nei risultati di ricerca, apparendo come nel caso seguente:

Pagina di errore 404 con codice di stato scorretto: il server riporta un codice 200 invece di un 404, per cui la pagina compare nei risultati di ricerca di Google.

Perché il reindirizzamento automatico non è la soluzione migliore?

Indirizzare tutti i link che portano a pagine inesistenti direttamente ad una pagina di destinazione usando il codice di stato “301” non è la soluzione migliore. In questo caso, infatti, l’utente non raggiungerà il contenuto che gli interessa e, soprattutto, non saprà che tale contenuto non è più disponibile: Google considererà quindi tale pagina come un errore Soft 404.

Cosa dice Google?

Assicurati che il tuo server web restituisca un codice di stato HTTP 404 effettivo quando viene richiesta una pagina mancante.

Fonte: Guida di Search Console

Informazioni aggiuntive sull’argomento