In che modo i codici di stato HTTP, gli errori di rete e gli errori DNS incidono sulla Ricerca Google

In questa pagina viene descritto in che modo i diversi codici di stato HTTP, errori di rete ed errori DNS incidono sulla Ricerca Google. Esamineremo i 20 principali codici di stato individuati da Googlebot sul Web, nonché i principali errori di rete e DNS. I codici di stato più insoliti, come 418 (I'm a teapot), non verranno presi in esame. Tutti i problemi menzionati in questa pagina generano un errore o un avviso corrispondente nel report Copertura dell'indice di Search Console.

Codici di stato HTTP

I codici di stato HTTP vengono generati dal server che ospita il sito quando risponde a una richiesta effettuata da un client, ad esempio un browser o un crawler. Ogni codice di stato HTTP ha un significato diverso, ma spesso il risultato della richiesta è lo stesso. Ad esempio, esistono più codici di stato che segnalano il reindirizzamento, ma il loro risultato è identico.

Search Console genera messaggi di errore per i codici di stato nell'intervallo 4xx–5xx e per i reindirizzamenti non riusciti (3xx). Se il server risponde con un codice di stato 2xx, i contenuti ricevuti nella risposta possono essere presi in considerazione per l'indicizzazione.

Codici di stato HTTP

2xx (success)

Google valuta i contenuti per stabilire se sono indicizzabili. Se i contenuti suggeriscono un errore, ad esempio una pagina vuota o un messaggio di errore, Search Console mostra un errore soft 404.

200 (success)

Google trasmette i contenuti alla pipeline di indicizzazione. I sistemi di indicizzazione possono indicizzare i contenuti, ma ciò non è assicurato.

201 (created)
202 (accepted)

Googlebot attende i contenuti per un periodo di tempo limitato, poi trasmette ciò che ha ricevuto alla pipeline di indicizzazione. Il timeout dipende dallo user agent, ad esempio Googlebot per smartphone potrebbe avere un timeout diverso rispetto a Googlebot per immagini.

204 (no content)

Googlebot segnala alla pipeline di indicizzazione di non avere ricevuto contenuti. Search Console potrebbe mostrare un errore soft 404 nel report Copertura dell'indice del sito.

3xx (redirection)

Googlebot segue fino a 10 hop di reindirizzamento. Se il crawler non riceve contenuti entro 10 hop, Search Console mostra un errore di reindirizzamento nel report Copertura dell'indice del sito. Il numero di hop seguiti da Googlebot dipende dallo user agent; ad esempio, Googlebot per smartphone potrebbe avere un valore diverso rispetto a Googlebot per immagini.

Nel caso del file robots.txt, Googlebot segue almeno 5 hop di reindirizzamento come definito dal documento RFC 1945, poi si interrompe e lo considera come un errore 404 per il file robots.txt.

Eventuali contenuti ricevuti da Googlebot dall'URL di reindirizzamento vengono ignorati e, per l'indicizzazione, vengono considerati i contenuti dell'URL di destinazione finale.

301 (moved permanently)

Googlebot segue il reindirizzamento e la pipeline di indicizzazione utilizza il reindirizzamento come un indicatore forte del fatto che la destinazione di reindirizzamento sia quella canonica.

302 (found)

Googlebot segue il reindirizzamento e la pipeline di indicizzazione utilizza il reindirizzamento come un indicatore debole del fatto che la destinazione di reindirizzamento sia quella canonica.

303 (see other)
304 (not modified)

Googlebot segnala alla pipeline di indicizzazione che i contenuti sono uguali a quelli dell'ultima scansione. La pipeline di indicizzazione potrebbe ricalcolare gli indicatori per l'URL, ma in caso contrario il codice di stato non ha effetto sull'indicizzazione.

307 (temporary redirect) Equivalente a 302.
308 (moved permanently) Equivalente a 301.

4xx (client errors)

La pipeline di indicizzazione di Google non considera gli URL che restituiscono un codice di stato 4xx per l'indicizzazione; inoltre, gli URL che sono già indicizzati e che restituiscono un codice di stato 4xx vengono rimossi dall'indice.

Tutti i contenuti ricevuti da Googlebot dagli URL che restituiscono un codice di stato 4xx vengono ignorati.

400 (bad request)

Tutti gli errori 4xx, ad eccezione del 429, vengono trattati allo stesso modo: Googlebot segnala alla pipeline di indicizzazione che i contenuti non esistono.

La pipeline di indicizzazione rimuove l'URL dall'indice se era stato indicizzato precedentemente. Le nuove pagine 404 trovate non vengono elaborate. La frequenza di scansione diminuisce gradualmente.

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Googlebot considera il codice di stato 429 come un indicatore che il server è sovraccarico e ciò è considerato un errore del server.

5xx (server errors)

Gli errori del server 5xx e 429 richiedono ai crawler di Google di rallentare temporaneamente la scansione. Gli URL già indicizzati vengono conservati nell'indice, ma alla fine vengono eliminati.

Se il file robots.txt restituisce un codice di stato di errore del server per più di 30 giorni, Google utilizzerà l'ultima copia memorizzata nella cache del file robots.txt. Se non è disponibile, Google presume che non ci siano restrizioni di scansione.

Tutti i contenuti ricevuti da Googlebot dagli URL che restituiscono un codice di stato 5xx vengono ignorati.

500 (internal server error)

Googlebot riduce la frequenza di scansione per il sito. La diminuzione nella frequenza di scansione è proporzionale al numero di singoli URL che restituiscono un errore del server. La pipeline di indicizzazione di Google rimuove dall'indice gli URL che continuano a restituire un errore del server.

502 (bad gateway)
503 (service unavailable)

Errori soft 404

Un errore soft 404 si verifica quando un URL restituisce una pagina che comunica all'utente l'inesistenza della pagina di interesse e anche un codice di stato 200 (success). In alcuni casi si tratta di una pagina senza contenuti principali o vuota.

Queste pagine possono essere generate per vari motivi dal server web, dal sistema di gestione dei contenuti del tuo sito web oppure dal browser dell'utente. Ad esempio:

  • Manca un file server-side include.
  • Una connessione al database interrotta.
  • Una pagina di risultati interna della ricerca vuota.
  • Un file JavaScript non caricato o mancante.

Restituire un codice di stato 200 (success) ma poi visualizzare o suggerire un messaggio di errore o un qualche tipo di errore nella pagina costituisce un'esperienza utente negativa. Gli utenti potrebbero pensare che la pagina sia attiva e funzionante, ma poi si imbattono in un qualche tipo di errore. Queste pagine sono escluse dalla Ricerca.

Quando gli algoritmi di Google rilevano che la pagina in realtà è una pagina di errore in base ai suoi contenuti, Search Console mostra un errore soft 404 nel report Copertura dell'indice del sito.

Correggere gli errori soft 404

A seconda dello stato della pagina e del risultato voluto, puoi risolvere gli errori soft 404 in diversi modi:

Cerca di determinare qual è la soluzione migliore per i tuoi utenti.

La pagina e i contenuti non sono più disponibili

Se hai rimosso la pagina e non ce n'è una sostitutiva con contenuti simili sul tuo sito, restituisci un codice (di stato) di risposta 404 (not found) o 410 (gone) per la pagina. Questi codici di stato indicano ai motori di ricerca che la pagina non esiste e che i contenuti non devono essere indicizzati.

Se hai accesso ai file di configurazione del server, puoi rendere queste pagine di errore utili per gli utenti personalizzandole. Una pagina 404 personalizzata ottimale consente agli utenti di trovare le informazioni che stanno cercando e inoltre fornisce loro altri contenuti utili che li incoraggiano a continuare la navigazione nel tuo sito. Ecco alcuni suggerimenti per progettare una pagina 404 personalizzata utile:

  • Comunica chiaramente ai visitatori che la pagina che stanno cercando non è stata trovata. Utilizza un linguaggio semplice e cordiale.
  • Assicurati che la tua pagina 404 abbia lo stesso aspetto e le stesse funzionalità (navigazione inclusa) del resto del sito.
  • Potresti aggiungere link agli articoli o ai post più letti del tuo sito, nonché un link alla home page.
  • Valuta la possibilità di fornire agli utenti un metodo per segnalare link inaccessibili.

Le pagine 404 personalizzate vengono create esclusivamente per gli utenti. Dal momento che queste pagine non sono utili dal punto di vista di un motore di ricerca, assicurati che il server restituisca un codice di stato HTTP 404 per evitare che vengano indicizzate.

La pagina o i contenuti ora si trovano altrove

Se la pagina è stata spostata o è presente una pagina che la sostituisce in modo chiaro all'interno del tuo sito, restituisci un codice 301 (permanent redirect) per reindirizzare l'utente. Ciò non interrompe la sua esperienza di navigazione ed è anche un ottimo modo per comunicare ai motori di ricerca la nuova posizione della pagina. Utilizza lo strumento Controllo URL per verificare se l'URL restituisce effettivamente il codice corretto.

La pagina e i contenuti esistono ancora

Se una pagina valida del tuo sito è stata contrassegnata con un errore soft 404, è probabile che non sia stata caricata correttamente per Googlebot o che non siano state caricate delle risorse fondamentali o che sia stato visualizzato un messaggio di errore in evidenza durante il rendering. Utilizza lo strumento Controllo URL per esaminare i contenuti visualizzati e il codice HTTP restituito. Se la pagina visualizzata è vuota, quasi vuota oppure i contenuti hanno un messaggio di errore è possibile che faccia riferimento a molte risorse impossibili da caricare (immagini, script e altri elementi non testuali), il che può essere interpretato come errore soft 404. I motivi per cui non è possibile caricare le risorse includono: risorse bloccate (dal file robots.txt), troppe risorse presenti nella pagina, vari errori del server o risorse di dimensioni molto grandi e/o che si caricano lentamente.

Errori di rete ed errori DNS

Gli errori di rete e gli errori DNS hanno effetti rapidi e negativi sulla presenza di un URL nella Ricerca Google. Googlebot considera gli errori di timeout di rete, di reimpostazione della connessione e DNS in modo simile agli errori del server 5xx. In caso di errori di rete, la scansione inizia immediatamente a rallentare, in quanto un errore di rete indica che il server potrebbe non essere in grado di gestire il carico di gestione. Poiché Googlebot non ha potuto raggiungere il server che ospita il sito, anche Google non ha ricevuto alcun contenuto dal server. Se i contenuti non sono disponibili, Google non può indicizzare gli URL sottoposti a scansione; inoltre, quelli già indicizzati non raggiungibili verranno rimossi dall'indice di Google entro pochi giorni. Search Console potrebbe generare messaggi per ciascun errore.

Eseguire il debug degli errori di rete

Questi errori si verificano prima o durante la scansione di un URL da parte di Google. Poiché gli errori possono verificarsi prima che il server possa rispondere e, di conseguenza, non esiste un codice di stato che possa suggerire la presenza di problemi, diagnosticare questi errori può essere più difficile. Per eseguire il debug degli errori di timeout e di reimpostazione della connessione:

  • Esamina le impostazioni del firewall e i relativi log. Potrebbe essere presente una serie di regole di blocco eccessivamente generiche. Assicurati che gli indirizzi IP di Googlebot non siano bloccati da regole firewall.
  • Esamina il traffico di rete. Utilizza strumenti come tcpdump e Wireshark per acquisire e analizzare i pacchetti TCP e individuare anomalie relative a uno specifico componente di rete o modulo del server.
  • Se non trovi nulla di sospetto, contatta la tua società di hosting.

L'errore potrebbe riguardare qualsiasi componente del server che gestisce il traffico di rete. Ad esempio, le interfacce di rete sovraccariche potrebbero comportare l'eliminazione di pacchetti e, a loro volta, causare timeout (ovvero l'impossibilità di stabilire una connessione) e reimpostazioni della connessione (ovvero l'invio un pacchetto RST dovuto alla chiusura accidentale di una porta).

Eseguire il debug degli errori DNS

Gli errori DNS in genere sono causati da errori di configurazione, ma possono anche essere causati da una regola firewall che blocca le Query DNS di Googlebot. Per eseguire il debug degli errori DNS, segui questi passaggi:

  • Controlla le regole firewall. Assicurati che nessuno degli indirizzi IP di Google sia bloccato da regole firewall e che siano consentite le richieste UDP e TCP.
  • Esamina i record DNS. Verifica che i record A e CNAME rimandino rispettivamente agli indirizzi IP e al nome host corretti. Ad esempio:
    dig +nocmd example.com a +noall +answer
    dig +nocmd www.example.com cname +noall +answer
  • Verifica che tutti i server dei nomi rimandino agli indirizzi IP corretti del tuo sito. Ad esempio:
    dig +nocmd example.com ns +noall +answer
    example.com.    86400  IN  NS  a.iana-servers.net.
    example.com.    86400  IN  NS  b.iana-servers.net.
    dig +nocmd @a.iana-servers.net example.com +noall +answer
    example.com.    86400  IN  A  93.184.216.34
    dig +nocmd @b.iana-servers.net example.com +noall +answer
    ...
  • Se hai apportato modifiche alla tua configurazione DNS nelle ultime 72 ore, potresti dover attendere la propagazione delle modifiche sulla rete DNS globale. Per velocizzare la propagazione, puoi fare il flush della cache DNS pubblica di Google.
  • Se utilizzi un server DNS personalizzato, assicurati che funzioni correttamente e non sia sovraccarico.