Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔧 Come risolvere l'errore 502 bad gateway in WordPress

🔧 Come risolvere l'errore 502 bad gateway in WordPress

Visiti il tuo sito e vedi una schermata bianca con tre parole: «502 Bad Gateway». Il traffico arriva, ma i visitatori vedono un errore invece del contenuto. Le vendite si bloccano, il posizionamento SEO scivola e tu perdi tempo a fare ipotesi.

L'errore 502 sembra preoccupante, ma sotto il cofano è semplicemente un problema di comunicazione tra server. Il tuo sito non è rotto, i dati non sono spariti e nella maggior parte dei casi la soluzione richiede da cinque a quindici minuti. Ecco una guida passo passo che ti accompagna dai controlli più semplici fino alla diagnostica avanzata.

💡 Panoramica rapida:

  • Ricarica la pagina e verifica se il server di hosting è irraggiungibile
  • Svuota la cache del browser e disattiva temporaneamente la CDN
  • Se l'errore persiste, disattiva i plugin via FTP e verifica il tema
  • Reimposta il file .htaccess e contatta il tuo host quando tutto il resto non funziona

Cos'è un errore 502 Bad Gateway

Quando apri un sito, il browser invia una richiesta HTTP. Sul lato server un reverse proxy (Nginx, Apache) la riceve e distribuisce le richieste tra il server applicativo (PHP), il database, il web server statico e la CDN. Ogni nodo gestisce la propria parte e restituisce il risultato al proxy. Il proxy assembla la risposta e la consegna al browser, e la pagina si carica.

Un errore 502 si verifica quando uno dei server in questa catena restituisce una risposta non valida al proxy. Il proxy non riesce ad assemblare la pagina e mostra «Bad Gateway». Il browser segnala onestamente che il gateway tra i server ha ricevuto qualcosa di inaspettato.

Esternamente l'errore può assumere forme diverse: «502 Bad Gateway», «502 Service Temporarily Overloaded», «HTTP 502», «Nginx 502 Bad Gateway», «Proxy Error». La sostanza è la stessa: da qualche parte nella catena c'è un'interruzione.

Perché si verifica l'errore 502

Le cause sono quasi sempre lato server, ma a volte sono le tue stesse azioni sul sito a innescarlo:

  • Sovraccarico del server. Un picco improvviso di traffico esaurisce le risorse dell'hosting e i processi PHP non riescono a smaltire la coda di richieste.
  • Plugin o tema difettoso. Un codice che causa un errore fatale PHP interrompe la risposta del server applicativo e il proxy non riceve nulla.
  • Problemi con la CDN. Cloudflare, KeyCDN o un altro servizio di content delivery non riesce a connettersi al server di origine e restituisce un 502.
  • Record DNS errati. Dopo aver cambiato host o aggiornato i server DNS, i record non si sono ancora propagati, quindi il sito è temporaneamente irraggiungibile.
  • File.htaccess corrotto. Una sintassi errata o regole di riscrittura in conflitto compromettono la gestione delle richieste.
  • Limite di memoria PHP esaurito. Un plugin o uno script pesante consuma tutta la memoria disponibile e il processo va in crash.

Ora esaminiamo ogni soluzione passo dopo passo, dalla più rapida alla più complessa.

Passo 1. Ricarica la pagina

Prima e più semplice azione: premi F5 o Ctrl+R. Se l'errore è stato causato da un breve problema del server, la richiesta ripetuta andrà a buon fine. Prova ad aprire il sito in un altro browser o usando la connessione dati mobile; questo esclude un problema dal tuo lato.

Verifica se il sito funziona per il resto del mondo usando isup.me o Down For Everyone Or Just Me. Se il servizio mostra che il sito è irraggiungibile solo per te, il problema è locale, quindi vai avanti. Se il sito non è disponibile per nessuno, molto probabilmente il server di hosting è andato giù o è stato applicato un blocco a livello di provider.

Passo 2. Svuota la cache del browser

Il browser memorizza nella cache non solo immagini e stili, ma anche le risposte errate del server. Un refresh forzato (Ctrl+F5 su Windows, Cmd+Shift+R su macOS) obbliga il browser a richiedere di nuovo la pagina, ignorando la cache locale.

Se il refresh forzato non ha funzionato, svuota completamente la cache. In Chrome: Impostazioni → Privacy e sicurezza → Cancella dati di navigazione → «Immagini e file memorizzati nella cache». Abbiamo descritto le istruzioni dettagliate per vari browser e per svuotare la cache lato WordPress in una guida separata.

Passo 3. Disattiva temporaneamente la CDN

Le reti di content delivery come Cloudflare o KeyCDN instradano il traffico attraverso i propri server. Se si verifica un guasto lato CDN o è configurata una regola firewall errata, i visitatori vedranno un 502 anche quando il server di origine è perfettamente funzionante.

Per verificare questa ipotesi, metti in pausa la CDN dal suo pannello di controllo. Cloudflare: vai su Panoramica → Sospendi Cloudflare. KeyCDN e servizi simili: trova il pulsante Disattiva o Sospendi nel pannello. Dopo la disattivazione, ricarica il tuo sito. Se l'errore scompare, il problema è lato CDN; contatta la loro assistenza.

Mentre la CDN è disattivata, il sito funziona direttamente dal tuo hosting, quindi la velocità potrebbe calare leggermente, ma la disponibilità sarà ripristinata. Abbiamo confrontato i servizi CDN più diffusi e la loro configurazione in un articolo sulle CDN gratuite per WordPress.

Passo 4. Verifica le impostazioni DNS

Dopo aver cambiato host o aggiornato i record NS, le informazioni DNS si propagano sulla rete in un periodo che va da alcune ore a 48 ore. Durante questo tempo alcuni visitatori potrebbero atterrare sul vecchio server, che non risponde o risponde in modo errato.

Se hai migrato il sito di recente, attendi 24 ore; di solito sono sufficienti. Inoltre, svuota la cache DNS locale: su Windows apri il Prompt dei comandi ed esegui ipconfig /flushdns; su macOS esegui sudo dscacheutil -flushcache e sudo killall -HUP mDNSResponder. Poi ricarica la pagina.

Passo 5. Disattiva i plugin via FTP

La causa più comune di un 502 su WordPress è un conflitto tra plugin. Un singolo plugin problematico può causare un errore fatale PHP che manda giù l'intero sito. Poiché il pannello di amministrazione di WordPress non è accessibile durante un 502, dovrai disattivare i plugin tramite file system.

Connettiti al server via FTP (usando FileZilla, WinSCP) o apri il File Manager in cPanel. Vai alla cartella root del sito (di solito public_html):

cPanel File Manager con la cartella root di WordPress

Entra in wp-content e trova la cartella plugins. Rinominala, per esempio in plugins.old. Questo disattiva immediatamente tutti i plugin in blocco. I dati dei plugin non vengono cancellati quando rinomini la cartella; le impostazioni rimangono nel database:

Rinominare la cartella dei plugin per la disattivazione in blocco

Ricarica il sito. Se funziona, il problema è uno dei plugin. Rinomina di nuovo la cartella in plugins, vai al pannello di amministrazione e attiva i plugin uno per uno, controllando il sito dopo ogni attivazione. Una volta trovato il colpevole, eliminalo via FTP o sostituiscilo con un'alternativa.

Passo 6. Verifica il tema attivo

Se disattivare i plugin non ha risolto, il prossimo sospettato è il tema. Un codice errato in functions.php o un conflitto con la versione PHP possono ugualmente causare un errore fatale e un 502.

Torna alla cartella root del sito → wp-contentthemes. Trova la cartella del tema attivo e rinominala (per esempio, aggiungi .old alla fine):

Rinominare la cartella del tema attivo per ripristinare il tema predefinito

WordPress passerà automaticamente al tema predefinito (Twenty Twenty-Four, Twenty Twenty-Five o simile). Ricarica il sito; se l'errore è sparito, il problema è il tema. Contatta lo sviluppatore del tema o ripristina un backup. Dopo la diagnosi, rinomina la cartella riportandola al nome originale.

Un algoritmo dettagliato per verificare i temi e individuare il codice in conflitto è descritto nella guida alla risoluzione dei problemi dei temi WordPress.

Passo 7. Reimposta il file.htaccess

Un .htaccess corrotto è una causa frequente ma meno ovvia di un 502. Le regole di riscrittura aggiunte da un plugin di caching o da un plugin di sicurezza possono entrare in conflitto tra loro. Un singolo errore di sintassi in questo file e il server restituisce un 502 su tutte le richieste.

Connettiti via FTP e individua il file .htaccess nella cartella root del sito. Scarica una copia di backup sul tuo computer, poi elimina il file dal server. Vai al pannello di amministrazione di WordPress, naviga su Impostazioni → Permalink e clicca «Salva le modifiche» (senza cambiare nulla). WordPress creerà un nuovo .htaccess con un set pulito di regole.

Se l'errore è apparso subito dopo aver installato un plugin di caching (WP Rocket, W3 Total Cache, LiteSpeed Cache), controlla in .htaccess la sezione con le regole di quel plugin; di solito è racchiusa tra commenti come # BEGIN W3TC / # END W3TC. Elimina quel blocco, salva il file e ricarica il sito.

Passo 8. Contatta il tuo provider di hosting

Se nessuno dei passi precedenti ha funzionato, il problema è molto probabilmente lato server. Contatta il supporto tecnico del tuo host e fornisci il dominio, l'orario in cui è comparso l'errore e quali passi hai già eseguito. Più dettagli fornisci, più velocemente gli ingegneri troveranno la causa.

Chiedi loro di controllare i log degli errori di PHP e del web server per il periodo in cui è comparso il 502. I log mostrano quasi sempre esattamente quale script o modulo sta causando il guasto. Su piani di hosting condiviso economici la causa potrebbe essere semplicemente la mancanza di risorse: un sito sul server consuma tutta la memoria e gli altri ricevono un 502. In quel caso ha senso valutare il passaggio a un VPS o a un hosting cloud con risorse garantite.

Video guida

Guarda una dimostrazione visiva della diagnosi e risoluzione dell'errore 502, dal primo all'ultimo passo, in questo video:

⁉️🤔 Domande frequenti

Un errore 502 può risolversi da solo?

Sì, se la causa è un breve sovraccarico del server di hosting. I provider monitorano il carico e riavviano automaticamente i processi problematici entro uno-cinque minuti. Ricarica la pagina dopo un paio di minuti; nella metà dei casi l'errore scompare senza alcun intervento da parte tua.

Come distinguo un 502 da altri errori server?

Un 502 Bad Gateway è un errore a livello di proxy server (Nginx/Apache), non dell'applicazione stessa. Un 500 Internal Server Error indica un problema direttamente nel codice PHP o nella configurazione. Un 503 Service Unavailable significa che il server non sta temporaneamente accettando richieste, di solito durante una manutenzione programmata. Un 504 Gateway Timeout significa che il server non ha ricevuto risposta dal server a monte entro il tempo stabilito. Per l'utente la differenza si riduce alla diagnostica: un 500 si risolve il più delle volte modificando il codice, mentre un 502 si risolve ripristinando la comunicazione tra i server.

Devo ripristinare il sito da un backup per un 502?

Un backup è l'ultima risorsa, non il primo passo. Prima di distribuire un backup, segui i passi 5, 6 e 7 di questa guida: disattiva i plugin, verifica il tema, reimposta .htaccess. Nella stragrande maggioranza dei casi un 502 si risolve senza ripristinare un backup. Distribuisci un backup solo se l'errore è comparso immediatamente dopo aver aggiornato WordPress, i plugin o un tema e non è possibile annullare le modifiche via FTP.

Posso prevenire gli errori 502 in futuro?

In parte sì. Usa un hosting di qualità con sufficiente memoria PHP (il minimo raccomandato è 256 MB). Imposta un monitoraggio dell'uptime per il tuo sito tramite UptimeRobot o un servizio simile; verrai a sapere di un problema prima che lo segnalino i visitatori. Prima di installare o aggiornare i plugin, fai un backup rapido. E tieni a portata di mano l'accesso FTP: quando il pannello di amministrazione è giù, è l'unico modo per disattivare rapidamente il codice problematico.

Cosa fare se nulla ha funzionato?

Gli otto passi sopra descritti coprono quasi tutti gli scenari per un 502 Bad Gateway su WordPress. Se hai verificato plugin, tema, DNS e CDN, reimpostato .htaccess e l'errore persiste, il problema è più profondo e non puoi fare a meno degli ingegneri dell'hosting.

La sequenza corretta fa risparmiare ore: prima escludi le cause locali (cache, browser, CDN), poi quelle lato server (plugin, tema, .htaccess) e solo dopo scala al provider. Salva questa guida nei preferiti; il 502 ha l'abitudine di ripresentarsi nel momento peggiore e un accesso rapido alla checklist ti risparmierà molto stress.