Codici HTTP - Guida pratica per risolvere errori su WordPress

Sesto Vitale .

3 giugno 2026

Dashboard cPanel con sezione "Metriche" evidenziata, dove un'icona di avviso indica la presenza di "Errori", un importante codice di stato da controllare.

Il codice di stato HTTP è il messaggio breve che accompagna ogni risposta del server e che mi dice, in pochi millisecondi, se una pagina è stata trovata, spostata, bloccata o se il problema sta nel browser, nel tema o nell’hosting. In un sito ben tenuto non serve memorizzarli tutti: basta saper leggere quelli che incidono davvero su traffico, crawling e manutenzione. Qui metto ordine tra le classi principali, i casi più utili su siti web e WordPress e il metodo pratico che uso per capire dove intervenire senza andare a tentativi.

Le informazioni essenziali da tenere a mente

  • I codici HTTP si leggono per classi: 1xx informativi, 2xx ok, 3xx redirect, 4xx errore lato client, 5xx errore lato server.
  • Non tutti i numeri segnalano un problema: 301, 304, 201 e 204 possono essere perfettamente normali.
  • Su WordPress i casi più frequenti sono 404, 500, 503, 403 e 429, spesso legati a permalink, plugin, cache o sicurezza.
  • Il primo controllo utile è sempre il contesto: una singola pagina, tutto il sito, solo gli utenti non loggati o solo alcune richieste API.
  • Per diagnosticare bene servono tre elementi: intestazioni HTTP, log del server e stato di WordPress (plugin, tema, permalink, cache).

Diagramma che illustra le categorie di codice di stato HTTP: 1xx (informativo), 2xx (successo), 3xx (reindirizzamento), 4xx (errore client) e 5xx (errore server).

Come leggere le risposte HTTP

Nella documentazione MDN la logica è molto chiara: ogni risposta racconta l’esito di una richiesta, e il numero iniziale ti dice subito in quale zona guardare. Io parto sempre da qui, perché un 404 non va letto come un 500 e un 301 non va trattato come un errore. La differenza tra classi è il primo filtro che evita diagnosi sbagliate.

Classe Cosa indica Lettura pratica
1xx Risposta informativa Il server ha ricevuto la richiesta e sta ancora elaborando o preparando la risposta.
2xx Successo La richiesta è andata a buon fine. Qui rientrano 200, 201 e 204.
3xx Redirezione La risorsa è altrove oppure la risposta è stata servita da cache. Qui contano 301, 302, 304, 307 e 308.
4xx Errore lato client La richiesta è sbagliata, incompleta, non autorizzata o il contenuto non esiste più.
5xx Errore lato server Il problema è quasi sempre nella configurazione, nel PHP, nel proxy, nel server o in un componente che non risponde bene.

La parte che molti sottovalutano è che il numero non basta da solo: 401 e 403 non raccontano la stessa situazione, così come 404 e 410 non hanno lo stesso significato operativo. Una volta capita la classe, bisogna scendere sui codici che contano davvero nella gestione quotidiana di un sito.

I codici che contano davvero nella gestione di un sito

Quando gestisco un sito, i numeri che controllo per primi sono quelli che influenzano accessibilità, SEO, performance e manutenzione. Qui sotto trovi i casi più importanti con una lettura concreta, non teorica.

Codice Significato pratico Cosa controllo per primo
200 OK La pagina o la risorsa è stata servita correttamente. Controllo solo se il contenuto è quello giusto e se non arriva una versione vecchia dalla cache.
201 Created Una risorsa è stata creata con successo, spesso in API o form avanzati. Verifico che l’oggetto creato sia davvero presente e che l’endpoint restituisca i dati attesi.
204 No Content L’azione è riuscita, ma non c’è corpo nella risposta. È normale in molte chiamate di backend e REST API.
301 Moved Permanently La risorsa si è spostata in modo permanente. Controllo destinazione finale, canonical e assenza di catene o loop di redirect.
302 Found Redirezione temporanea. Verifico che sia davvero temporanea, altrimenti preferisco una regola più esplicita.
304 Not Modified Il browser o la CDN riutilizzano una copia già valida. Non è un errore: controllo solo che la cache non stia servendo contenuti obsoleti.
400 Bad Request La richiesta è malformata o non leggibile come dovrebbe. Guardo query string, parametri, filtri di sicurezza e integrazioni API.
401 Unauthorized Serve autenticazione. Controllo credenziali, token, basic auth, cookie e sessioni.
403 Forbidden Il server ha capito la richiesta ma rifiuta l’accesso. Verifico permessi, plugin di sicurezza, firewall applicativi e regole lato server.
404 Not Found La risorsa non esiste all’indirizzo richiesto. Guardo slug, permalink, rewrite rules e link rotti.
410 Gone La risorsa è stata rimossa in modo intenzionale. Lo uso quando non voglio lasciare ambiguità ai motori di ricerca o agli utenti.
429 Too Many Requests La richiesta è stata limitata per eccesso di traffico o frequenza. Controllo rate limiting, bot protection, API e plugin di sicurezza.
500 Internal Server Error Errore generico lato server. Vado subito su log PHP, plugin, tema e configurazione.
502 Bad Gateway Un proxy o un gateway ha ricevuto una risposta non valida dal server a monte. Controllo hosting, reverse proxy, PHP-FPM e CDN.
503 Service Unavailable Servizio non disponibile, spesso per manutenzione o sovraccarico. Guardo manutenzione, picchi di carico, timeout e cache.
504 Gateway Timeout Il gateway ha atteso troppo a lungo una risposta. Indago lentezza del backend, query pesanti e limiti di timeout.

Nel lavoro con contenuti e siti editoriali, 301, 304, 404, 500 e 503 sono quelli che tornano più spesso. Sono anche quelli che fanno la differenza tra una migrazione ben fatta e un sito che perde traffico o fiducia. Da qui il passaggio naturale è WordPress, perché è lì che questi codici emergono in modo più visibile.

Perché WordPress genera 404, 500 e 503 più spesso di altri errori

WordPress è dinamico: gli URL vengono riscritti, i plugin intervengono sulle richieste, il tema può influenzare il rendering e la cache può cambiare completamente il comportamento percepito. La documentazione WordPress ricorda che i permalink sono URL permanenti e che, se la struttura non è allineata al server, le pagine possono rispondere con un 404 anche quando il contenuto esiste davvero. In pratica, il numero che vedi non sempre descrive il problema profondo: spesso descrive solo il punto in cui il flusso si è rotto.

Questo è il caso più comune. Se cambio gli slug, migro un sito, altero la struttura dei permalink o il server non applica correttamente le rewrite rules, WordPress può continuare a pubblicare la pagina ma il percorso pubblico non la raggiunge. Qui la prima prova utile è sempre semplice: verifico la struttura dei permalink, rigenero le regole salvando le impostazioni e controllo se il problema riguarda una singola URL o tutto il sito.

500 quando un plugin rompe il caricamento

Il 500 è il campanello d’allarme più ambiguo, perché non mi dice quale componente ha fallito. Nella pratica, però, le cause più frequenti sono un plugin incompatibile, un tema con errore PHP, una modifica manuale nel file di configurazione o un limite di memoria troppo stretto. WordPress Recovery Mode aiuta proprio in questi casi: permette di rientrare nell’area admin quando un errore fatale blocca il normale accesso e indica spesso il componente da isolare.

503 tra manutenzione e sovraccarico

Il 503 non è sempre negativo. Può comparire durante una manutenzione programmata, un deploy o un periodo di carico elevato. Il problema nasce quando resta attivo più del dovuto, oppure quando una cache mal configurata lo serve anche agli utenti che non dovrebbero vederlo. In un sito editoriale o ad alto traffico, questo codice merita attenzione perché segnala una disponibilità solo temporaneamente compromessa, non un semplice errore di contenuto.

Leggi anche: Cos'è un blog? Guida completa per farlo crescere con WordPress

403 e 401 quando l’accesso è bloccato

Su WordPress questi codici emergono spesso in aree amministrative, API, media protetti o richieste filtrate da plugin di sicurezza. Il 401 dice, in sostanza, che manca l’autenticazione corretta; il 403 dice che l’autenticazione può anche esserci, ma l’accesso è negato. Se li confondo, finisco per controllare il posto sbagliato: credenziali e token nel primo caso, permessi, firewall e regole di accesso nel secondo. Il passaggio successivo è quindi capire come diagnosticare tutto con ordine.

Come diagnostico il problema senza andare a tentativi

Quando devo capire perché una risposta HTTP non torna, parto sempre da una sequenza precisa. Mi evita il classico errore di cambiare dieci cose insieme senza sapere quale abbia davvero funzionato.

  1. Controllo il contesto: il problema riguarda una sola pagina, tutto il sito, una sola lingua, gli utenti non loggati o solo il backend?
  2. Guardo le intestazioni nel pannello Network del browser o con un controllo tipo curl -I: il codice è corretto, c’è un redirect, c’è un Location, la cache sta intervenendo?
  3. Distinguo frontend e backend: se una pagina pubblica va in errore ma il pannello admin funziona, il problema è spesso su tema, cache o routing; se cade tutto, salgo subito verso plugin, PHP e hosting.
  4. Svuoto le cache solo dopo aver capito quale layer le produce: browser, plugin, server, CDN. Farlo alla cieca non serve.
  5. Su WordPress verifico i permalink: se c’è un 404 dopo un cambio di struttura o di tema, io riparto quasi sempre da lì prima di cercare colpe altrove.
  6. Controllo i log: errore PHP, log del web server, debug log di WordPress e, se serve, log del proxy o della CDN.
  7. Disattivo temporaneamente plugin o tema solo quando il quadro mi suggerisce un conflitto reale, non come gesto automatico.

Ci sono casi in cui questo flusso si chiude in pochi minuti: per esempio, un 301 che finisce in un loop, un 404 dopo un cambio di slug o un 500 causato da un plugin appena aggiornato. In altri casi serve più pazienza, ma la logica non cambia: prima osservo la risposta, poi cerco il punto del sistema che la produce. Da qui vale la pena chiarire un equivoco molto comune.

Quando il codice non indica un guasto

Molti problemi nascono non dal server, ma da una lettura frettolosa del numero. Un 301 ben impostato durante una migrazione è corretto, non sospetto. Un 304 significa spesso che cache e browser stanno lavorando bene. Un 201 o un 204, soprattutto nelle API o nei flussi di back office, sono segnali normali di successo. Anche un 410 può essere una scelta precisa se voglio rimuovere una pagina senza lasciare ambiguità.

Io faccio attenzione soprattutto a due casi. Il primo è il 301 che funziona ma porta alla destinazione sbagliata, o peggio entra in catena con altri redirect: qui il numero è giusto, il percorso no. Il secondo è il 304 che, in un sito con contenuti aggiornati spesso, può nascondere problemi di cache troppo aggressiva. In entrambi i casi non bisogna “correggere il codice”: bisogna correggere la logica del flusso.

Questa distinzione è utile anche in chiave editoriale e SEO, perché evita falsi allarmi e interventi distruttivi. Non tocco un redirect solo perché vedo un 3xx; lo tocco se la destinazione, la permanenza o la catena non sono quelle che voglio davvero. È l’ultima verifica che farei prima di intervenire sul sito.

Le verifiche che farei prima di toccare il sito

Se dovessi ridurre tutto a una routine pratica, partirei sempre da cinque controlli: URL esatto, codice restituito, catena di redirect, stato della cache e presenza di errori nei log. Su WordPress aggiungo subito permalink, plugin di sicurezza, tema attivo e, quando serve, Recovery Mode. È un ordine che mi fa risparmiare tempo perché separa il sintomo dal punto in cui nasce.

La regola più utile è semplice: se il problema riguarda una sola risorsa, penso prima a URL, rewrite rules e redirect; se riguarda tutto il sito, salgo verso hosting, PHP, plugin e proxy. Quando tengo fermo questo schema, il numero nella risposta diventa un indizio affidabile e non un’etichetta generica. Ed è proprio così che i codici di risposta smettono di sembrare rumore e diventano uno strumento operativo.

Domande frequenti

I codici 4xx indicano errori lato client (es. 404 Not Found, 403 Forbidden), mentre i 5xx segnalano errori lato server (es. 500 Internal Server Error, 503 Service Unavailable). Comprendere la differenza è fondamentale per una diagnosi corretta del problema.
Per un errore 500 su WordPress, controlla i log PHP e del server. Spesso è causato da plugin incompatibili, un tema difettoso o problemi di memoria. La modalità di ripristino di WordPress può aiutarti a isolare il componente problematico.
Un 301 (Moved Permanently) indica che una risorsa si è spostata in modo definitivo e trasferisce il valore SEO. Un 302 (Found) indica uno spostamento temporaneo, mantenendo l'URL originale come canonico. È cruciale usarli correttamente per la SEO e l'esperienza utente.
No, un codice 304 non è un errore. Indica che il browser o la CDN possono riutilizzare una copia cached della risorsa perché non è stata modificata dall'ultima richiesta. È un segnale di efficienza della cache, non di un problema.

Valuta l'articolo

Media: 0.0 / 5 · 0 valutazioni

Tag

codice di stato codici di stato http wordpress errori http comuni wordpress
Autor Sesto Vitale
Sesto Vitale
Sono Sesto Vitale, un esperto nel campo della comunicazione digitale, dei media e dei dati con oltre dieci anni di esperienza nell'analisi delle tendenze del mercato e nella creazione di contenuti informativi. La mia specializzazione si concentra sull'interpretazione dei dati e sull'analisi critica dei media, unendo competenze tecniche e una profonda comprensione delle dinamiche comunicative contemporanee. Adotto un approccio che mira a semplificare concetti complessi, rendendo le informazioni accessibili e utili per un pubblico ampio. La mia missione è fornire contenuti accurati e aggiornati, garantendo sempre un'analisi obiettiva e basata su fatti verificabili. Sono impegnato a costruire fiducia con i lettori, assicurandomi che ogni articolo rifletta il mio impegno per l'integrità e la trasparenza informativa.

Commenti (0)

Aggiungi un commento