Codici di stato HTTP per chi gestisce un sito: significato e SEO | We.Inc
Tutti i codici di stato HTTP più comuni spiegati in modo semplice: cosa vedono i visitatori, come li tratta Google, 301 vs 302 vs 410, soft 404 e come risolvere gli errori 403, 404, 500, 502 e 503.
Codici di stato HTTP per chi gestisce un sito
Un codice di stato HTTP è il numero a tre cifre che il server invia prima di ogni pagina. 2xx significa che ha funzionato, 3xx che la pagina è stata spostata, 4xx che la richiesta era sbagliata o la pagina manca, e 5xx che il server ha fallito. Per la SEO, usa 301 per gli spostamenti permanenti, 404 o 410 per le pagine rimosse e 503 per la manutenzione.
Le cinque classi
Intervallo
Classe
Cosa significa per il tuo sito
100 to 199
Informativa
Raramente visibile ai proprietari; la connessione è ancora in corso
200 to 299
Successo
La pagina è stata consegnata e può essere indicizzata
300 to 399
Reindirizzamento
Il visitatore viene mandato a un altro URL
400 to 499
Errore del client
Pagina mancante, richiesta errata o permessi assenti
500 to 599
Errore del server
L'hosting o l'app ha fallito; intervieni subito
I riferimenti per sviluppatori elencano ogni codice mai definito. Chi gestisce un sito ha bisogno di qualcosa di più mirato: quale codice restituisce la mia pagina, cosa vede un visitatore, cosa ne farà Google e come lo risolvo. Cerca nella tabella qui sotto per numero o parola, poi leggi le sezioni su SEO e soluzioni.
Digita un codice come 503 o una parola come redirect nella casella di ricerca per filtrare l'elenco.
Leggi le colonne visitatori e motori di ricerca per vedere l'effetto pratico sul tuo sito.
Per scoprire quale codice restituisce davvero un URL, apri gli strumenti per sviluppatori del browser, scegli la scheda Network e ricarica; la colonna Status lo mostra.
Usa la tabella delle soluzioni per l'errore che vedi, poi ricontrolla lo stato dopo la modifica.
Una pagina che dice Non trovato ma restituisce 200 è un soft 404. Fai in modo che le pagine di errore inviino un vero stato 404.
Punta i vecchi URL direttamente all'indirizzo finale. Google segue fino a 10 passaggi di reindirizzamento, ma ogni passaggio rallenta i visitatori.
Durante un fermo programmato restituisci 503 con un header Retry-After invece di una pagina di manutenzione con 200, così il testo di manutenzione non viene trattato come tuo contenuto.
Non reindirizzare ogni pagina eliminata alla homepage. Reindirizza solo quando esiste un sostituto simile; altrimenti lascia che restituisca 404 o 410.
Domande frequenti
Qual è la differenza tra 301 e 302 per la SEO?
Google tratta 301 e 308 come un segnale forte che il nuovo URL è quello da mostrare nei risultati, e 302 e 307 come un segnale debole. Usa 301 quando lo spostamento è permanente e 302 solo quando l'URL originale tornerà.
Devo usare 404 o 410 per una pagina eliminata?
Vanno bene entrambi. La documentazione di Google dice che tratta allo stesso modo tutti i codici 4xx tranne 429: l'URL non viene indicizzato, e gli URL indicizzati che li restituiscono vengono rimossi. 410 indica in modo più preciso che la rimozione è voluta e permanente.
Cos'è un soft 404?
Un soft 404 è una pagina che dice alle persone di non esistere, o è quasi vuota, mentre il server restituisce comunque 200. Search Console li segnala. Risolvili restituendo un vero 404 o 410, oppure mettendo contenuti utili nella pagina.
Gli errori 500 danneggiano il posizionamento?
Le interruzioni brevi sono tollerate. Google rallenta la scansione quando vede risposte 5xx o 429, e gli URL che continuano a fallire alla fine vengono rimossi dall'indice. Risolvi in fretta gli errori del server persistenti e usa 503 per la manutenzione programmata.
Qual è la differenza tra 307 e 308?
Entrambi mantengono il metodo della richiesta originale, quindi un POST di un modulo resta un POST dopo il reindirizzamento. 307 è temporaneo e 308 è permanente. 301 e 302 permettono ai client di trasformare un POST in GET, ed è per questo che le API preferiscono 307 e 308.
Perché il codice conta più del testo della pagina
I crawler decidono cosa fare con un URL in base al suo stato prima di leggere una sola parola. Una pagina di errore gentile con stato 200 sembra contenuto reale; una pagina funzionante che restituisce per sbaglio 404 sparisce dai risultati di ricerca.
I codici di stato sono impostati dal server, dall'hosting o dal framework, quindi lo stesso errore spesso si ripete su migliaia di URL. Controllare qualche pagina rappresentativa dopo ogni deploy permette di accorgersene presto.
Catene di reindirizzamento
Una catena si crea quando la pagina A reindirizza a B, che reindirizza a C. Di solito si accumula in anni di migrazioni: da http a https, poi da non-www a www, poi da un vecchio slug a uno nuovo.
Ogni passaggio aggiunge un viaggio di andata e ritorno prima che si veda qualcosa. Appiattisci le catene puntando ogni vecchio URL direttamente alla destinazione finale, e aggiorna i link interni in modo che non passino mai da un reindirizzamento.
Come risolvere gli errori più comuni
Le prime cose da controllare in base all'hosting
Codice
Causa probabile
Vercel o Netlify
cPanel o Apache
Permessi dei file, blocco IP o file index mancante
Controlla la protezione con password e le regole del firewall nelle impostazioni del progetto
Imposta le cartelle a 755 e i file a 644; controlla le regole deny in .htaccess
Percorso sbagliato, pagina eliminata o fallback SPA mancante
Aggiungi un rewrite verso index.html per le route lato client; controlla la cartella di output
Verifica che il file esista in public_html e che gli slug rispettino maiuscole e minuscole
Crash dell'app o configurazione del server errata
Apri i log della funzione per la richiesta che fallisce
Leggi il log degli errori; una riga di .htaccess rotta è una causa frequente
L'app a monte si è bloccata o ha restituito dati senza senso
Controlla i log delle funzioni e i timeout
Riavvia PHP-FPM o l'app; controlla i limiti di memoria
Sovraccarico, in pausa o in manutenzione
Controlla i limiti di utilizzo e i deployment in pausa
Controlla i limiti delle risorse nel pannello dell'hosting
Impostare lo stato giusto nel codice
Reindirizzamento permanente e pagina rimossa su Apache
Va in .htaccess. La prima riga manda un vecchio URL al suo sostituto con 301; la seconda restituisce 410 per una pagina eliminata definitivamente.
Reindirizzamenti e fallback SPA su Netlify
Un file _redirects nella cartella di pubblicazione. L'ultima regola serve la shell dell'app per le route lato client con stato 200.
Risposta di manutenzione con Retry-After
Un piccolo handler Node che dice ai crawler di tornare tra un'ora invece di indicizzare il messaggio di manutenzione.
OK
La pagina si carica normalmente
Created
Di solito una risposta API dopo aver salvato qualcosa
No Content
Sullo schermo non cambia nulla
Moved Permanently
Mandato automaticamente al nuovo URL
Found
Mandato a un altro URL per ora
See Other
Mandato a una pagina di risultato dopo un modulo
Not Modified
Viene mostrata la copia in cache
Temporary Redirect
Mandato altrove, stesso metodo mantenuto
Permanent Redirect
Mandato altrove, stesso metodo mantenuto
Bad Request
Una pagina di errore; il link o i dati del modulo non sono validi
Unauthorized
Una richiesta di accesso
Forbidden
Messaggio di accesso negato
Not Found
La tua pagina di pagina non trovata
Method Not Allowed
Un errore dopo aver inviato un modulo nel modo sbagliato
Gone
La tua pagina di pagina non trovata
Too Many Requests
Un messaggio di limite di richieste
Unavailable For Legal Reasons
Un avviso che la pagina è bloccata per motivi legali
Internal Server Error
Una pagina di errore generica
Bad Gateway
Errore dal proxy o dalla CDN davanti alla tua app
Service Unavailable
Pagina di manutenzione o di sovraccarico
Gateway Timeout
La pagina resta bloccata, poi dà errore
Ricerca dei codici di stato
Cerca per codice o parola
es. 503 o redirect
Filtra per classe
Tutti
{n} di {total} codici mostrati
Codici comuni, cosa vedono i visitatori e come reagiscono i motori di ricerca