Blog
ExpressionEngine, Viaggi, Fotografia e altro...

Come gestire correttamente gli errori 404 con ExpressioneEngine

Molti sviluppatori e web designer puntano a rimuovere dall'URL di ExpressionEngine la "stringa" index.php. Compiono uno sforzo cioè per ottenere un URL "concettualmente pulito". Il problema è che non dedicano la stessa attenzione agli errori 404, probabilmente cosa molto più importante che rimuovere index.php dall'URL.

 

Cosa sono gli errori 404

E' molto semplice. Un errore 404 è un errore che il server web comunica al client nel caso quest'ultimo abbia richiesto una risorsa (pagina, immagine etc) non esistente.

 

Perchè gestire correttamente gli errori 404, aspetto SEO

La gestione corretta è importante in termini SEO che in termini di usabilità e di esperienza utente.
Se ad URL diversi corrispondono le stesse pagine, i motori di ricerca tenderanno a penalizzare queste perchè riterranno che i contenuti siano duplicati!

 

Perchè gestire correttamente gli errori 404, aspetto utente

Molto spesso l'utente interviene manualmente nell'URL. Potrebbe quindi non rispettare la navigazione "imposta" da un sistema di navigazione.
Mettiamo che l'URL, ad un certo punto della navigazione, sia www.dominio.com/prodotto_A/modello_B/.
L'utente potrebbe modificare modello_B in modello_C e ottenere (per nostro errore) la pagina prodotto_A.
Pessimo risultato! Introduciamo nell'utente un forte disagio cognitivo.

Oltre alla "manomissione" dell'URL da parte dell'utente, bisogna tenere in considerazione che la mancata gestione degli errori 404 possono essere usati volutamente per penalizzare il nostro sito. Terzi potrebbero linkara le nostre pagine con parolo chiavi scomode e il nostro server risponderebbe positivamente... 

Inoltre non gestire gli errori 404 potrebbe portarci ad avere indicizzati contenuti in un modo da noi non previsto o non voluto.

 

Creare un template 404

Quindi per prima cosa, seguendo le linee guide per la pagina 404, creiamo un template per questa pagina.
Inseriamoci per esempio un modo per tornare immediatamente alla home, una serie di link agli articoli più recenti o i più richiesti e anche la possibilità di fare una ricerca all'interno del sito.

 

Usiamo il parametro require_entry="yes"

Inseriamo quindi il parametro require_entry="yes"  nel tag Channel Entries principale della nostra pagina prodotto_A.

Questo parametro serve ad imporre una condizione: ci aspettiamo che il tag Channel produca almeno un risultato (una entrie).
Nel caso in cui non ci sia alcun risultato (perchè l'URL è sbagliata) dobbiamo reindirizzare l'utente verso la pagina 404.

Per fare ciò è sufficiente inserire nel tag Channel Entries tag condizionale:


if no_results
redirect="404"
/if