Come Gestire gli Errori 404 con un Occhio alla SEO (e agli utenti)?

Redirezioni e usabilità

scritto da Francesco Gavello [+] il 14 giugno 2014 | 4 Commenti in: Featured | Welcome Weekend

Come gestire gli errori 404 sul blog

Puntata novantasei. Mica male!  :) Quest’oggi parliamo di SEO e di portali che promuovono eventi. L’avvio ce lo dà Andrea. Se vuoi lanciare una discussione su queste pagine, lascia la tua domanda tra i commenti o direttamente da qui. Buon sabato!

Andrea chiede:

Sul mio sito (vedi in alto) gestisco due tipi di contenuti: articoli ed eventi. Per entrambi ho implementato microdati e microformati, ma c’è una problematica relativa all’indicizzazione che mi disturba e che non so come trattare. Il problema è che gli articoli sono contenuti che rimangono nel tempo, mentre gli eventi, dal momento che ne pubblico a centinaia ogni mese, vengono rimossi una volta che sono conclusi. Questo per mantenere il database snello.

Naturalmente questo genera degli errori, perché contenuti indicizzati si trovano di fatto a scomparire generando un errore 404. Ho risolto parzialmente facendo sì che la mia pagina 404 riconosca quando l’errore viene generato da un evento mancante e non da un articolo e realizzando in questo caso un redirect 301 verso la home page. Non sono sicuro che sia la modalità migliore, tu cosa ne pensi?

Google effettivamente mi potrebbe penalizzare per un numero così alto di errori 404 e continuativi nel tempo? Il redirect verso la home ha senso?

Questa domanda segue idealmente un recente articolo, in cui parlavamo di e-commerce e disponibilità di contenuti a momenti alterni. Lo stesso Matt Cutts suddivideva il problema sul fronte quantitativo, proponendo soluzioni per piccoli quantitativi di pagine (decine), e-commerce di medie dimensioni (centinaia di pagine) o portali di altissimo profilo (migliaia di pagine).

In questo caso, è bene ricordare che di per sé gli errori 404 non pregiudicano il ranking, ed è lo stesso Google a dirlo. Tuttavia, per salvaguardare l’esperienza dell’utente, l’applicazione di un Redirect 301 funge ottimamente allo scopo. L’idea è di perfezionare il rilevamento della pagina non trovata cercando di proporre il contento più coerente possibile.

Nell’articolo poco sopra facevo riferimento a una concessionaria di auto usate. Se periodicamente più modelli escono dal listino (per ovvie ragioni) ha perfettamente senso proporre all’utente che raggiunge quelle pagine dai motori di ricerca perlomeno un modello simile per marca e -magari!- anno o chilometraggio. Gestendo questi dati adeguatamente da back-end è possibile in molti casi sviluppare quel poco PHP necessario a riportare l’utente grossolanamente verso contenuti ancora potenzialmente utili. Come ultima spiaggia, un indice di categoria o la homepage.

Nel tuo caso, potresti valutare una redirezione mirata per luogo o per  data, se disponi di queste informazioni in maniera disgiunta dal contenuto dell’evento. A livello più tecnico, considera l’utilizzo del tag “Unavailable After“, in grado in maniera preventiva di impostare una “scadenza” agli occhi di Google per i tuoi contenuti ed evitare risultati in SERP in grado di far rimbalzare velocemente l’utente via dal tuo sito.

(questo sì, un parametro SEO tenuto d’occhio da Google).

Che consiglio daresti a Andrea? Ti è mai capitato di raggiungere il classico portale di eventi da Google, solo per scoprire che di quell’evento non vi era più traccia?

Trovato questo articolo interessante?

Condividilo sulla tua rete di contatti Twitter, sulla tua bacheca su Facebook o semplicemente premi "+1" per suggerire questo risultato nelle ricerche in Google. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!

4 Commenti

Update 12/02/2012: Il Regolamento Commenti è cambiato! Leggi ciò che serve sapere!

  1. Fabrizio Martella ha detto:

    E’ buona abitudine fare in modo che, sia gli errori 404 che 500, vadano a finire in pagine personalizzate dove l’utente non trovando quella pagina è incentivato ugualmente a continuare la navigazione all’interno del sito.
    Altra cosa importante è che vada a finire in queste pagine non con un redirect 301 (che vorrebbe dire: questa pagina non c’è più e viene sostituita da quest’altra), ma bensì lato server facendo in modo che l’HEADER sia contrassegnato in modo che il motore lo riconosca come errore e cancelli dall’indice quelle pagine.
    Suggerisco di fare quanto descritto sopra per non avere errori in google webmaster tools, ma come giustamente dice Gavello non si rischia nessuna penalizzazione.
    Ecco un esempio: http://www.leccenews24.it/cronaca/maxi-sequestro-di-droga-presso-le-cesineeeeeeeee.htm
    Si è sicuri che è tutto OK quando appare la pagina personalizzata senza che l’URL cambi. E’ un impostazione che va data lato server, ovviamente dopo aver preparato le pagine personalizzate.

    Rispondi
  2. Andrea Lombardi ha detto:

    Innanzitutto vi ringrazio per l’aiuto, mi sono preso un po’ di tempo per pensarci e mi sono reso conto che il modo che avevo utilizzato era sbagliato.

    Mi spiego, facendo come ho descritto nella domanda, WordPress genera un errore 404 il quale poi reindirizza l’utente ad un’altra pagina con un 301. Ma il problema è che l’header 404 viene comunque comunicato dal server, ergo, l’errore 404 rimane per Google (e per chiunque altro).

    Allora mi sono un po’ informato è ho trovato la seguente soluzione:


    function not_error_events( $status_header, $header ) {

    $url = $_SERVER["REQUEST_URI"];

    if ( strpos($url, '/evento/') !== false && (int) $header == 404 ) {
    header("HTTP/1.1 410 Gone");
    header("Refresh: 0; url=http://www.bebeap.com");

    return status_header(410);
    }

    return $status_header;
    }
    add_filter('status_header', 'not_error_events', 10, 2);

    Sostanzialmente nel momento in cui viene richiesto un contenuto in esistente io intercetto la richiesta con il filtro ‘status_header’, verifico se proviene da una pagina evento e, solo in questo caso, genero un errore “410 Gone” (contenuto non più disponibile) e reindirizzo con un refresh verso un’altra pagina.

    In questo modo ho generato un header corretto, verifica: http://tools.seobook.com/server-header-checker/?page=single&url=http%3A%2F%2Fwww.bebeap.com%2Fevento%2Fasfas&useragent=1&typeProtocol=11

    Cosa ne pensate?
    Ancora grazie mille Francesco!

    Rispondi
  3. Andrea Lombardi ha detto:

    PS: Un ultimo spunto.
    Per migliorare l’esperienza utente la mia pagina 404.php esegue automaticamente una ricerca prendendo i termini dalla URL non trovata e proponendo contenuti il più vicino possibile a quelli cercati.

    Mi spiego, se si chiede la pagina http://www.bebeap.com/tedx-bergamo.html che non esiste, viene in automatico ricercato il termine “tedx bergamo” e proposta una serie di contenuti.

    Rispondi

Lascia un commento

Anteprima commentatore

Personalizza il tuo avatar!
Vai su gravatar.com e carica quello che preferisci!

I commenti sono modificabili entro 5 minuti dal loro inserimento.
Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Solo i commenti firmati con un nome saranno accettati. Leggi il Regolamento Commenti!