Il codice di stato HTTP 410 (o “Gone”), più semplicemente conosciuto come Errore 410, rappresenta, a seconda dei casi, un problema o un alleato per chi gestisce un sito Internet. Fondamentalmente esso si manifesta quando il client di un utente tenta di accedere ad una pagina Web e questa non esiste più in quanto rimossa in via permanente.
Differenze tra errore 410, 404 e 5xx
Da questo punto di vista è importante sottolineare che tale codice di errore si differenzia dal codice di stato 404 (“Not found”) e dall’error code 500 (“Internal Server Error”) in quanto il primo non si riferisce necessariamente ad una pagina inesistente ma più precisamente ad una risorsa che non viene reperita all’URL specificato nel momento corrente, mentre nel caso del secondo il contenuto desiderato esiste (o dovrebbe esistere) ma non è raggiungibile in quanto il server ha generato un malfunzionamento nel tentare di soddisfare una richiesta.
Errore 410 e rilevanza in ambito SEO
A di là delle loro peculiarità gli status code 410, 404 e 500 hanno comunque in comune il fatto che la richiesta formulata dal client non può essere soddisfatta, ma mentre nel primo caso è probabile che essa non troverà mai soddisfazione in quanto la pagina è stata cancellata, volontariamente o meno, nel caso degli altri due è possibile che essa produca un risultato positivo in futuro.
Dal punto di vista della SEO (Search Engine Optimization) le implicazioni sono quindi differenti. Volendo semplificare all’estremo possiamo affermare che il crawler di un motore di ricerca (in sostanza stiamo parlando di Google) identificherà il verificarsi di un errore 404 come uno stato temporaneo ed effettuerà un’ulteriore scansione in un momento successivo con lo scopo di verificarne o meno la persistenza. Un errore 410 dovrebbe invece escludere future scansioni in quanto viene interpretato come uno stato definitivo.
In realtà, come specificato dagli stessi SEO specialist di Mountain View, anche i contenuti associati ad errori 410 non verrebbero del tutto esclusi da scansioni ripetute che sarebbero però molto meno frequenti rispetto al caso degli errori 404.
Errore 410 e indicizzazione
Quali sono quindi gli effetti su indicizzazione e posizionamento dello stato 410? Di base gli errori 404 e 410 sono originati da problematiche differenti e nell’immediato vengono trattati in modo diverso dai motori di ricerca. Nel medio e lungo periodo le conseguenze ai fini del posizionamento sono invece le medesime in quanto il loro persistere porta alla rimozione di una pagina dall’indice.
E’ convinzione comune che la SERP (Search Engine Results Page) di Google tenda a penalizzare i siti Web che presentano al proprio interno pagine irraggiungibili, ma questo non è sempre vero. Le motivazioni che portano alla cancellazione di un contenuto sono infatti numerose e l’algoritmo di Google viene appositamente implementato per tenerne conto, ad esempio un tutorial datato potrebbe non avere più ragione di rimanere online, un articolo contenente informazioni non verificate potrebbe danneggiare la reputazione di una testata, un post potrebbe generare poco traffico o un e-commerce potrebbe non offrire più un determinato prodotto.
In tutti questi casi il server comunicherà al browser un codice di stato 404 e il crawler, dopo aver verificato più volte l’assenza delle pagine non reperibili, ne determinerà la naturale cancellazione dall’indice senza per questo penalizzare il sito Web associato ad esse. L’errore 404 deve essere considerato invece negativo in altri casi, per esempio:
- quando in realtà nasconde uno status 200 (“ok”). Tale situazione viene definita “soft 404” e si verifica nel caso in cui una risorsa è effettivamente presente sul server ma non può essere trovata.
- Quando danneggia la struttura dei link di un sito Web interferendo negativamente sulla user experience.
- Quando un crawler (come il Googlebot) rileva un numero eccessivo di errori 404 per un singolo sito Internet.
Posto quindi che l’errore 404 non si traduce automaticamente in una penalizzazione sui motori di ricerca, il codice di stato 410 può essere utilizzato in sostituzione del 404 per semplificare il lavoro del crawler comunicandogli quali sono le pagine che sono state cancellate definitivamente e non saranno più disponibili. Ciò renderà più rapido il processo di deindicizzazione delle risorse cancellate facilitando quello di indicizzazione dei contenuti ancora accessibili.
Errore 410 come alternativa ai redirect
Un altro discorso a favore dell’errore 410 riguarda l’utilizzo eccessivo che spesso si fa dei redirect e in particolare delle redirezioni basate sul codice di stato 301 (“Moved Permanently”), con il quale si indica che tutte le richieste dirette ad una determinata pagina dovranno essere indirizzate verso una risorsa alternativa.
Generalmente per far questo si ricorre ad un comune file .htaccess tramite una direttiva che accetta come argomenti l’URL della pagina non più disponibile e quello della sua alternativa:
Redirect 301 /pagina-cancellata.php /pagina-alternativa.php
Il termine “alternativa” è però in questo caso fondamentale: non di rado è possibile analizzare siti Web in cui tutti i redirect 301 vengono indirizzati verso un’home page o una pagina di ricerca, lo scopo di questo codice di stato è invece quello di comunicare che nonostante la pagina desiderata non sia più raggiungibile è comunque disponibile un altro contenuto in grado di soddisfare anche a larghe linee la richiesta dell’utente.
Redirigere il traffico generato da un argomento specifico verso una risorsa generica o del tutto estranea alle ragioni che hanno motivato una richiesta potrebbe non essere una buona soluzione né per la qualità della user experience né per il posizionamento, ecco perché anche in questo caso sarebbe buona norma approfittare dell’errore 410 e consentire la deindicizzazione delle pagine non più disponibili.
Impostare il codice di stato 410 con .htaccess
Esattamente come accade nel caso del redirect 301, anche in quello dell’errore 410 è possibile utilizzare un file .htaccess per segnalare la rimozione definitiva di una pagina Web.
Le modalità disponibili sono differenti è tutte parimenti efficaci. La prima può essere esemplificata dalla seguente direttiva:
RewriteRule
^docs/pagina-cancellata.php$ - [G,L]
In essa si può notare l’inserimento dell’accento circonflesso (“^”) e del simbolo del dollaro (“$”) che fungono da ancoraggi e delimitano rispettivamente l’inizio e la fine di un URL. Vengono poi utilizzate le flag:
- “G”: che significa “Gone” e forza l’URL determinando come risposta lo status 410;
- “L”: che significa “Last” e arresta il processo di riscrittura in modo che non vengano applicate ulteriori direttive di rewrite per l’URL coinvolto.
Un’altra sintassi, più semplice, prevede l’utilizzo dell’istruzione redirect che può essere applicata sia al valore numerico del codice di stato:
Redirect 410 /docs/pagina-cancellata.php
che al suo significato letterale:
Redirect gone /docs/pagina-cancellata.php
In alternativa, nel caso in cui si voglia impostare un errore 404 per un’intera directory, è possibile procedere in questo modo dove la flag “R” forza un redirect verso lo stato passatole come argomento:
RewriteRule ^docs/ - [L,R=410]
Indipendentemente dalla soluzione utilizzata, lo scopo di tali operazioni non dovrà mai essere quello di forzare gli algoritmi di indicizzazione, al contrario gli obbiettivi da raggiungere dovranno essere sempre quelli di migliorare la struttura dei link di un sito Web e di ottimizzare quanto più possibile il cosiddetto Crawl Budget, cioè la propensione dei search engine bot a scansionare le pagine Internet per determinarne la posizione nell’indice dei motori di ricerca.