162 30/03/2026 07/04/2026 8 min

Perché compare l’errore 503

L’errore 503 Service Unavailable indica quasi sempre che il server web è raggiungibile, ma il servizio applicativo dietro al sito non riesce a rispondere in tempo o è temporaneamente indisponibile.

Su hosting condiviso, VPS e server gestiti con pannelli come cPanel, Plesk o FastPanel, le cause più comuni sono abbastanza ripetitive: PHP-FPM fermo o saturo, pool esauriti, manutenzione attiva, limiti di risorse superati, database lento, plugin WordPress problematici, oppure un firewall o un sistema di protezione che sta bloccando richieste legittime.

Il punto importante è non partire subito con modifiche casuali. Un 503 può sparire da solo dopo pochi minuti, ma se il sito è in produzione va trattato come un piccolo incidente: prima si verifica cosa sta fallendo, poi si applica il fix minimo e reversibile.

Controlli immediati da fare subito

Se il sito è giù adesso, questi sono i primi controlli da fare nell’ordine giusto.

  1. Verifica se il problema è generale o solo su una pagina
    Apri la home, una pagina interna e, se possibile, una pagina amministrativa. Se il 503 compare ovunque, il problema è quasi certamente lato applicazione o backend. Se colpisce solo alcune URL, la causa può essere un plugin, una regola di rewrite o una chiamata a servizi esterni.
  2. Controlla lo stato del server dal pannello hosting
    Nel pannello cerca indicatori come uso CPU, RAM, processi PHP, stato di PHP-FPM, limiti di account o sospensioni temporanee. Se la CPU è alta o la RAM è quasi piena, il 503 può essere solo la conseguenza di saturazione delle risorse.
  3. Apri i log degli errori
    Nei pannelli hosting i log sono spesso la fonte più veloce: cerca error log, PHP error log, web server log o log del dominio. Un 503 accompagnato da messaggi come server reached max_children, upstream timed out, service temporarily unavailable o resource limit reached indirizza subito la diagnosi.
  4. Controlla se il sito è in manutenzione
    Su WordPress verifica se è presente il file .maintenance nella root del sito. Se esiste e l’aggiornamento è rimasto bloccato, il sito può restituire 503 fino alla rimozione del file.
  5. Verifica eventuali picchi anomali
    Se il problema è iniziato dopo un deploy, un aggiornamento plugin o un aumento improvviso del traffico, è probabile che ci sia un collo di bottiglia temporaneo o un componente incompatibile.

Diagnosi probabile

Le cause più frequenti di un 503 in hosting sono queste:

  • PHP-FPM saturo o bloccato: il backend PHP non riesce a servire nuove richieste perché ha raggiunto il numero massimo di processi.
  • Database lento o non raggiungibile: WordPress, Joomla, Laravel o altre applicazioni restano in attesa finché il web server restituisce 503.
  • Limiti di risorse dell’hosting superati: CPU, RAM, processi entry, I/O o limiti imposti dal provider.
  • Plugin o tema difettoso: un aggiornamento può introdurre chiamate lente, errori fatali o loop di richieste.
  • Manutenzione o deploy incompleto: file di lock, cache rotta, aggiornamento interrotto, release non terminata.
  • Protezione o firewall applicativo aggressivo: alcune regole possono bloccare richieste e far sembrare il sito non disponibile.

Come leggere i segnali senza perdere tempo

La chiave è distinguere tra problema del web server e problema dell’applicazione.

Se il dominio risponde, ma il backend va in timeout, il problema è quasi sempre nella parte applicativa. Se invece il sito cade solo sotto carico, bisogna guardare cache, processi PHP, query lente e risorse del server. Se il 503 compare in modo intermittente, è molto probabile che ci sia saturazione momentanea o un servizio che si riavvia.

In pratica, il 503 non va letto come un errore generico: è un segnale che il front-end web sta facendo il suo lavoro, ma non trova un servizio stabile dietro di sé.

Soluzione consigliata passo-passo

  1. Rimuovi la modalità manutenzione se il sito è WordPress
    Accedi ai file del sito da File Manager del pannello o via FTP e controlla la root del sito. Se trovi il file .maintenance, rinominalo o rimuovilo solo dopo aver verificato che non ci sia un aggiornamento in corso. Questa è la correzione più sicura quando il 503 compare dopo update interrotti.
  2. Riavvia il servizio PHP-FPM dal pannello
    Se hai accesso al pannello, cerca la gestione dei servizi PHP o la selezione della versione PHP per il dominio. In molti casi un riavvio del pool PHP-FPM libera processi bloccati e risolve il 503 senza altri interventi. Dopo il riavvio, ricarica il sito e controlla se la risposta torna normale.
  3. Controlla i limiti di risorse dell’account
    Se il provider mostra grafici o indicatori di consumo, verifica se il sito ha sforato CPU, RAM, processi o I/O. Se il sito è in hosting condiviso, un 503 può comparire quando l’account supera i limiti previsti. In questo caso la soluzione più sicura è alleggerire il carico, ridurre plugin pesanti o passare a un piano con risorse adeguate.
  4. Disattiva temporaneamente plugin o componenti sospetti
    Se il problema è iniziato dopo un aggiornamento, rinomina la cartella del plugin più recente o sospetto. Su WordPress, se non sai quale sia il colpevole, puoi rinominare temporaneamente la cartella plugins in plugins.off per testare se il sito torna su. Se il sito riparte, riattiva i plugin uno alla volta fino a trovare quello difettoso.
  5. Verifica il database
    Entra in phpMyAdmin o nel gestore database del pannello e controlla se il DB risponde. Se il database è lento, pieno o con tabelle corrotte, il frontend può andare in timeout e restituire 503. Un backup prima di qualsiasi riparazione è fortemente consigliato.
  6. Pulisci cache e oggetti temporanei
    Se usi cache di pagina, object cache o Redis, svuotale dopo aver verificato che il backend sia sano. Una cache corrotta può continuare a servire pagine incomplete o a innescare richieste fallite.
  7. Controlla il log dopo ogni modifica
    Dopo ogni intervento, riapri i log e verifica se gli errori stanno diminuendo o se compare un messaggio nuovo. La validazione è importante quanto il fix: se il 503 sparisce ma il log continua a mostrare errori PHP, il problema non è del tutto risolto.

Se usi cPanel, Plesk o FastPanel

Molti casi si risolvono senza terminale.

cPanel

  • Vai su Metrics o Errors per leggere i log.
  • Apri Select PHP Version o MultiPHP Manager per verificare la versione PHP e il pool associato.
  • Se il provider lo consente, controlla Resource Usage per limiti superati.
  • Usa File Manager per cercare .maintenance o per rinominare i plugin sospetti.

Plesk

  • Vai su Domini e apri il dominio interessato.
  • Controlla Log e Statistiche per errori e saturazione.
  • Verifica la sezione PHP Settings e, se disponibile, riavvia PHP-FPM dal controllo del servizio.
  • Usa il File Manager per controllare file di manutenzione o plugin problematici.

FastPanel

  • Apri il sito e controlla i log dal dominio.
  • Verifica la configurazione PHP e il servizio associato.
  • Controlla se la cache o il reverse proxy stanno restituendo una risposta obsoleta.

Quando il problema è il database

Un database lento non produce sempre errori evidenti. A volte il sito sembra semplicemente “muto”, poi il front-end restituisce 503 perché la query non termina in tempo.

Segnali tipici:

  • il pannello admin si apre lentamente o non si apre affatto;
  • le pagine pubbliche vanno in timeout solo sotto carico;
  • nel log compaiono riferimenti a query lente o connessione al DB fallita;
  • dopo un riavvio temporaneo il sito torna online ma ricade nell’errore.

In questo scenario la soluzione più prudente è: verificare la salute del servizio database, controllare spazio disco, esaminare query lente e, se possibile, aumentare temporaneamente le risorse o alleggerire il carico applicativo.

Quando il problema è WordPress

WordPress è uno dei casi più comuni perché un singolo plugin può bloccare il sito intero.

Le verifiche più utili sono queste:

  • disattiva i plugin più recenti o quelli che fanno API calls, SEO, cache, sicurezza o page builder;
  • verifica il tema attivo, soprattutto se è stato aggiornato da poco;
  • controlla il file wp-config.php solo per diagnosi, ad esempio per capire se ci sono costanti di debug attive;
  • se il backend amministrativo non si apre, prova a rinominare la cartella del plugin sospetto da File Manager o FTP.

Se il sito torna online dopo la disattivazione di un plugin, la regola pratica è semplice: non riattivarlo subito in produzione. Prima verifica se esiste una versione aggiornata, un’alternativa più leggera o un conflitto noto con la versione PHP in uso.

Quando serve aprire un ticket al provider

Se hai già verificato manutenzione, PHP-FPM, plugin, database e log, ma il 503 continua, è il momento di contattare l’hosting con dati precisi. Un ticket ben scritto accelera molto la diagnosi.

Invia questi elementi:

  • orario di inizio del problema;
  • dominio e URL coinvolti;
  • messaggi precisi dal log errori;
  • eventuali modifiche fatte prima del guasto;
  • screenshot o estratto dei grafici di CPU, RAM o processi, se disponibili.

Con queste informazioni il provider può capire rapidamente se c’è un problema lato infrastruttura, un limite dell’account o un processo bloccato.

Prevenzione: come ridurre il rischio di 503

La prevenzione migliore è meno spettacolare del fix, ma molto più utile sul lungo periodo.

  • Tieni aggiornati CMS, plugin e temi, ma evita aggiornamenti massivi senza backup.
  • Monitora CPU, RAM, I/O e query lente almeno nei periodi di traffico alto.
  • Usa cache in modo corretto, evitando plugin ridondanti che fanno la stessa cosa.
  • Riduci i plugin inutili e rimuovi quelli che non usi più.
  • Prepara sempre un backup reversibile prima di aggiornamenti importanti.
  • Controlla i log regolarmente, non solo quando il sito è già in crisi.

Controlli finali / rollback

  1. Verifica finale: ricarica home, pagina interna e login admin; l’esito atteso è HTTP 200 o comunque caricamento normale senza timeout.
  2. Controllo log: per almeno qualche minuto non devono comparire nuovi errori fatali, timeout o messaggi di saturazione.
  3. Rollback: se il sito peggiora dopo una modifica, ripristina il plugin rinominato, il file rimosso o la configurazione precedente dal backup prima di fare altri tentativi.

Assunzione operativa: i passaggi sopra sono pensati per hosting Linux con pannello e per siti basati su CMS o PHP, dove il 503 dipende quasi sempre dal backend e non dal DNS.