A seguito del post ”Errore 404 – La pagina richiesta non è stata trovata”, è bene fare una precisazione.
Restituire pagine di errore personalizzate con delle alternative perfettamente valide e funzionanti (nonchè significative per l’utente finale), equivale ad alterare il normale corso della vita della pagina.{: .blockquote}
Qualunque sia il server web, dopo che una risorsa non è stata trovata, il server genera l’errore passando l’informazione all’handler che poi gestisce questi errori verificando la mappatura nella sua “tabella” interna. Se tramite le impostazioni del pannello di controllo si specifica di “mostrare” una nuova pagina, c’è la buona probabilità che venga fatto un redirect e che il codice di errore a quel puntopassi da 404 (pagina non trovata) a 200 (OK), perchè effettivamente la nuova risorsa richiesta esiste.
Questo non cambia nulla agli occhi dell’utente finale, perchè a quest’ultimo poco interessa il codice di errore restituito. Diverso è per i motori di ricerca che, nel lungo periodo, potrebbero fraintendere una serie di richieste a questa pagina e immagazzinarle come “contenuto duplicato” dando origine a tutta un’altra fitta serie di problemi che non sto qui ad elencare.
In tal senso, laddove si vuole far leva sulla pagina di errore mostrando però del contenuto valido, si deve necessariamente agire lato server, al fine di ritornare un codice di errore corretto, il 404 per l’appunto. Questo dirà al motore di ricerca che effettivamente la pagina richiesta non è stata trovata, ma mostrerà al “malcapitato” utente un modo per continuare la sua navigazione.
Ottenere questo risultato senza un linguaggio di scripting è impossibile, e per questo stesso motivo, attenzione a non mettere mai la index page come la pagina d’errore predefinita. Rischiereste entro breve tempo di provocare più danni che benefici.
Per sapere quale codice d’errore ritorna la vostra pagina, potete utilizzare un normalissimo HTTP Status Code Checker