Apri il tuo sito e, invece della home page, compare una pagina bianca con un numero: 403, 404, 500, 503. Non è un messaggio in codice pensato per spaventarti: è il modo standard con cui un server web ti dice cosa è andato storto. Imparare a leggere questi codici ti fa risparmiare tempo, perché ognuno indica una famiglia di cause diversa e quindi una strada diversa per risolvere.

In questo articolo vediamo i codici che incontrerai più spesso, cosa significano in pratica e cosa puoi controllare da solo prima di chiedere aiuto.

Come sono fatti i codici HTTP

Ogni volta che un browser chiede una pagina, il server risponde con un codice di tre cifre. La prima cifra dice già molto:

Famiglia Significato Esempi
2xx Tutto bene, la pagina è stata consegnata 200
3xx Reindirizzamento: la pagina si trova altrove 301, 302
4xx Il problema riguarda la richiesta: pagina inesistente, accesso negato 403, 404
5xx Il problema è dal lato del server o dell’applicazione 500, 502, 503

Una regola pratica: con un 4xx di solito c’è qualcosa da sistemare nei file, negli indirizzi o nelle regole del sito; con un 5xx c’è un errore nel codice, nella configurazione o nelle risorse a disposizione.

Errore 404: pagina non trovata

È il più comune e anche il più innocuo. Il server funziona, ma all’indirizzo richiesto non c’è niente. Le cause tipiche:

  • hai cambiato l’indirizzo di una pagina (lo “slug”) e i vecchi link puntano ancora a quello di prima;
  • hai cancellato un articolo o un prodotto;
  • c’è un errore di battitura nel link, magari con maiuscole e minuscole diverse (sui server Linux contano);
  • dopo una migrazione, in WordPress, i permalink non sono stati rigenerati.

Cosa fare: se la pagina è stata spostata, imposta un reindirizzamento 301 dal vecchio al nuovo indirizzo (con un plugin del CMS o con una regola nel file .htaccess, vedi la nostra guida su .htaccess). In WordPress, se all’improvviso tutte le pagine interne danno 404 ma la home funziona, prova a salvare di nuovo le impostazioni dei permalink: spesso basta questo.

Un po’ di 404 sono normali: bot e scanner chiedono continuamente indirizzi che non esistono. Preoccupati quando a dare 404 sono pagine vere che i tuoi visitatori cercano.

Errore 403: accesso negato

Il server ha capito la richiesta ma si rifiuta di servirla. Le cause più frequenti:

  • permessi dei file sbagliati, per esempio una cartella che il server web non può leggere (trovi i valori corretti nella guida sui permessi di file e cartelle);
  • manca il file iniziale (index.php o index.html) e l’elenco dei file della cartella è, giustamente, disattivato;
  • una regola nel file .htaccess blocca il tuo indirizzo IP o certi percorsi;
  • un sistema di protezione ha considerato sospetta la richiesta. Da noi il sito è difeso dal firewall applicativo di cPGuard e da Security Intelligence, che bloccano bot e tentativi di attacco: è il loro lavoro, ma a volte un plugin o un’operazione legittima può assomigliare a un attacco.

Cosa fare: controlla che nella cartella public_html ci sia il file iniziale e che i permessi siano corretti; se hai modificato da poco il .htaccess, prova a ripristinare la versione precedente. Se il 403 compare solo a te, o solo durante un’operazione precisa nel pannello del CMS, apri un ticket indicando ora, indirizzo della pagina e il tuo IP pubblico: possiamo verificare se è intervenuta una protezione.

Errore 500: errore interno del server

È il messaggio più generico di tutti: qualcosa è andato storto mentre il server preparava la pagina, ma il browser non riceve dettagli (ed è giusto così, per non mostrare informazioni interne ai visitatori). Le cause più frequenti:

  • un errore di sintassi nel file .htaccess: basta una riga scritta male per far cadere tutto il sito;
  • un plugin o un tema che va in errore, spesso subito dopo un aggiornamento;
  • codice non compatibile con la versione di PHP impostata;
  • un limite superato, per esempio la memoria disponibile per PHP (ne parliamo nella guida su memory_limit e upload).

Cosa fare: chiediti cosa è cambiato per ultimo. Hai aggiornato un plugin? Cambiato la versione di PHP? Modificato un file? Torna indietro su quella modifica: puoi rinominare la cartella di un plugin via FTP, rimettere la versione di PHP precedente dal pannello (guida: cambiare versione PHP) o ripristinare il file da JetBackup. Il dettaglio dell’errore lo trovi quasi sempre nel log degli errori, come spieghiamo nell’articolo sui log di accesso e di errore.

Errore 502 e 503: servizio non disponibile

Il 503 significa che il servizio, in quel momento, non è in grado di rispondere. Può essere voluto (molti CMS mostrano un 503 durante la modalità manutenzione o mentre installano un aggiornamento) oppure indicare che il sito ha esaurito le risorse a disposizione, per esempio perché troppi processi PHP lenti sono rimasti occupati tutti insieme. Il 502 (Bad Gateway) indica invece che un componente intermedio non ha ricevuto una risposta valida da quello che stava dietro.

Cosa fare:

  1. Controlla la pagina stato dei servizi: se c’è un intervento in corso, lo trovi lì.
  2. In WordPress, verifica che nella cartella principale non sia rimasto un file .maintenance dopo un aggiornamento interrotto: se c’è, cancellalo.
  3. Se il 503 compare a ondate, magari nelle ore di punta o durante un’importazione di prodotti, il sito sta probabilmente chiedendo più risorse di quelle che ha. Una cache ben configurata, come iWebLab Cache, riduce molto il lavoro di PHP.
  4. Se non trovi la causa, apri un ticket con l’indirizzo e l’orario esatto: dai log del server possiamo capire cosa è successo.

Errore 301 e 302: non sono errori

Li citiamo perché spesso vengono scambiati per problemi. Un 301 è un reindirizzamento permanente (per esempio da http:// a https://), un 302 è temporaneo. Diventano un problema solo quando si rincorrono all’infinito: in quel caso il browser mostra “troppi reindirizzamenti”, un caso che trattiamo a parte nella guida su ERR_TOO_MANY_REDIRECTS.

Come vedere il codice esatto

Non sempre la pagina d’errore mostra il numero. Per leggerlo:

  • nel browser apri gli strumenti per sviluppatori (tasto F12), scheda Rete o Network, ricarica la pagina e guarda la colonna “Stato”;
  • dal terminale puoi usare curl, che mostra solo le intestazioni della risposta:
curl -I https://www.tuodominio.it/

La prima riga della risposta contiene il codice, ad esempio HTTP/2 404.

Quando aprire un ticket

Se dopo questi controlli il problema resta, scrivici dall’area clienti. Per farci intervenire subito indica: indirizzo esatto della pagina, codice d’errore, ora in cui l’hai visto, cosa è cambiato di recente e se l’errore compare a tutti o solo a te. Con queste informazioni possiamo andare dritti al punto nei log, invece di procedere per tentativi.

Altri articoli su Backup, sicurezza e prestazioni

Parliamone

Un hosting che ti spiega le cose, e poi le fa

Questi articoli nascono dalle domande dei nostri clienti. Se vuoi un hosting dove dietro ogni risposta c’è un tecnico vero, parliamone.

  • 4,9 su 5 su Trustpilot264 recensioni, il 96% a cinque stelle
  • Risponde un tecnicoIn italiano, da chi gestisce i server
  • Il trasloco lo facciamo noiSito, database e posta, controllati prima di spostare i DNS