Come correggere l'errore di timeout del gateway 504 sul tuo sito WordPress
Pubblicato: 2020-10-26L'errore 504 Gateway Timeout è uno degli errori HTTP 5xx più comuni affrontati dai proprietari di siti Web e dai visitatori del sito. Per molti blog WordPress e piattaforme di e-commerce, sapere come correggere errori del server come questo è fondamentale per impedire ai loro sudati visitatori di rimbalzare sui siti della concorrenza.
Poiché l'errore 504 Gateway Timeout non ti dice perché si è verificato, è difficile individuare la causa del timeout del server. Questo articolo ti aiuterà a capirlo in dettaglio, a imparare come diagnosticarne la causa e quindi a risolverlo.
Dopo aver provato tutte le varie soluzioni menzionate nel post, il tuo sito dovrebbe essere operativo in pochissimo tempo.
Sembra interessante? Immergiamoci!
Preferisci guardare la versione video?
Qual è l'errore di timeout del gateway 504?
Ogni volta che visiti un sito Web nel tuo browser, il browser invia una richiesta al server Web in cui è ospitato il sito. Il server elabora la richiesta e risponde con le risorse richieste.

La risposta del server include uno dei tanti codici di stato HTTP per indicare lo stato della risposta al browser. Ma non tutti questi codici di stato HTTP sono errori. Ad esempio, un codice di stato 200 OK significa che il server ha elaborato la richiesta con successo e "Va tutto bene".
La classe 5xx dei codici di stato HTTP indica che qualcosa non va nel server, il server ne è a conoscenza e non può eseguire la richiesta del client. Di conseguenza, vengono anche chiamati codici di stato Server Error 5xx .
Ufficialmente, nella classe 5xx sono specificati cinque codici di stato (500, 501, 502, 503, 504). Potresti anche imbatterti in molti codici non ufficiali (506, 507, 509, 520, ecc.).
L'Internet Engineering Task Force (IETF) definisce l'errore di timeout del gateway 504 come:
Il codice di stato 504 (Gateway Timeout) indica che il server, pur fungendo da gateway o proxy, non ha ricevuto una risposta tempestiva da un server a monte a cui doveva accedere per completare la richiesta.
Per semplificare ulteriormente, questo errore si verifica quando due server sono coinvolti nell'elaborazione di una richiesta. Il primo server (in genere il server principale) va in timeout, in attesa di una risposta dal secondo server (server a monte).
L'errore 504 Gateway Timeout si manifesta in varie forme. Ecco alcuni modi in cui di solito si presenta:

L'errore 504 Gateway Timeout è simile all'errore 502 Bad Gateway, che indica che il primo server ha ricevuto una risposta non valida dal secondo server (server a monte).

Variazioni dell'errore di timeout del gateway 504
Il browser visualizza qualsiasi errore di timeout gateway 504 al suo interno, proprio come qualsiasi altro errore. Poiché esistono vari sistemi operativi, server Web, browser e programmi utente, può essere visualizzato in diversi modi.
Di seguito sono riportate alcune variazioni comuni del messaggio di errore 504 in cui potresti imbatterti:
- 504 Gateway Time-out
- 504 Timeout gateway NGINX
- NGINX 504 Timeout del gateway
- Errore di timeout del gateway
- Errore 504
- Errore HTTP 504
- Errore HTTP 504 — Timeout del gateway
- HTTP 504
- Errore 504
- Timeout gateway (504)
- Questa pagina non funziona: il dominio ha impiegato troppo tempo per rispondere
- 504 Timeout gateway: il server non ha risposto in tempo
- La richiesta di pagina è stata annullata perché il completamento ha richiesto troppo tempo
- Visitatori del sito: si è verificato un problema nel soddisfare la tua richiesta, riprova tra qualche minuto.
- Proprietari del sito: si è verificato un timeout del gateway. Dovresti visitare il tuo registro degli errori per ulteriori informazioni.
- Uno schermo bianco vuoto
Tutte le risposte di errore precedenti, sebbene formulate in modo diverso, puntano allo stesso errore del server 504 Gateway Timeout.
I server Web e i siti Web possono personalizzare il modo in cui mostrano agli utenti l'errore di timeout del gateway 504. Alcuni di loro possono essere fantastici! È una tattica eccellente per sedare la delusione dei visitatori.

Impatto SEO dell'errore di timeout del gateway 504
Tutti gli errori 5xx impediscono il caricamento di una pagina Web, rendendoli dannosi per l'esperienza dell'utente. Quindi, i motori di ricerca come Google prendono sul serio questi errori. Se l'errore persiste per una lunga durata, può anche portare alla deindicizzazione della pagina Web dai risultati del motore di ricerca.
Ad esempio, quando gli spider di Google si imbattono in un errore 503 Servizio non disponibile, capiranno che si tratta di un problema temporaneo poiché viene utilizzato principalmente per abilitare la modalità di manutenzione del sito. Pertanto, proveranno a eseguire nuovamente la scansione della pagina in un secondo momento.
Un errore di timeout gateway 504 non è necessariamente temporaneo in quanto può essere dovuto a più motivi. Se il tuo sito è inattivo solo per pochi minuti e se gli spider tentano di scansionarlo più volte al minuto, proveranno a pubblicare la pagina dalla loro cache. Non se ne accorgerebbero nemmeno.
Ma se il tuo sito è inattivo per più di 6 ore o più, Google considererà l'errore 504 come un grave problema a livello di sito che devi risolvere il prima possibile. Questo può avere un impatto negativo sulla tua SEO.

Google Search Console è uno dei migliori strumenti SEO per monitorare gli errori HTTP 5xx del tuo sito web.
Cause dell'errore di timeout del gateway 504
Poiché l'errore 504 è dovuto a un timeout tra i server, il problema probabilmente non riguarda il dispositivo del client o la connessione Internet. Ciò include anche il tuo dispositivo e la connessione.
Un errore di timeout gateway 504 indica che il server Web sta aspettando troppo a lungo per rispondere da un altro server e che è "scaduto". Ci possono essere molte ragioni per questo timeout: l'altro server non funziona correttamente, è sovraccarico o è inattivo.
L'altro server non deve essere sempre esterno (ad es. CDN, gateway API). Può anche essere un'entità simile a un server all'interno del server Web principale (ad es. server proxy inverso, server di database).
Come risolvere l'errore di timeout del gateway 504
Senza conoscere i dettagli esatti sul sito WordPress, come la configurazione del server, il piano di hosting, i plug-in di terze parti e il traffico che attira, potresti trovare frustrante e opprimente correggere un errore di timeout del gateway 504.
Poiché sono coinvolte molte variabili, ti consiglio di iniziare risolvendo i problemi lato client, che sono piuttosto rari, e quindi passare alla risoluzione dei problemi lato server. Di solito sono i colpevoli con 504 errori.
Prova a ricaricare la pagina web
Una delle prime cose che puoi provare quando si verifica un errore di timeout del gateway 504 è attendere alcuni minuti e provare a ricaricare la pagina.
È possibile premere la scorciatoia da tastiera F5 per aggiornare/ricaricare la pagina Web nella maggior parte dei browser. Per rimuovere la cache del browser della pagina prima di ricaricarla, puoi invece premere la combinazione di tasti CTRL+F5 .

Già che ci sei, puoi anche provare a caricare il sito in un browser diverso per escluderlo come un problema. Poiché la maggior parte degli errori 504 sono dovuti a server temporaneamente sovraccarichi, l'utilizzo di questa soluzione dovrebbe far tornare il tuo sito.
Se attendere e ricaricare il sito non risolve il problema dell'errore 504, puoi verificare se un sito è inattivo per tutti o solo per te. Due utili strumenti online per testare i tempi di inattività di un sito sono Down for Everyone o Just Me e Is It Down Right Now?

Riavvia i tuoi dispositivi di rete
A volte, problemi con i dispositivi di rete come modem o router potrebbero causare un errore di timeout gateway 504. Il riavvio di questi dispositivi potrebbe aiutarti a risolvere il problema.
Sebbene tu possa spegnere tutti questi dispositivi di rete in qualsiasi ordine, l'ordine in cui li riaccendi è importante. In genere, accendi questi dispositivi da "outside-in", seguendo l'ordine di connessione dal provider di servizi Internet al dispositivo client principale.
Controlla le tue impostazioni proxy
Un server proxy si trova tra il tuo dispositivo e Internet. Viene utilizzato principalmente per migliorare la privacy online nascondendo informazioni private (ad es. posizione del dispositivo) da siti Web e server Web (ad es. utilizzando una VPN).
Sebbene sia raro che i server proxy causino un errore 504, a volte possono essere le impostazioni errate del server proxy il motivo. Puoi disabilitare il server proxy e provare a ricaricare la pagina web per vedere se risolverà l'errore.

La maggior parte dei client non utilizza un servizio proxy, quindi puoi saltare questo passaggio se sei sicuro di non utilizzare alcun server proxy. Tuttavia, potresti averlo impostato senza nemmeno saperlo. Ti suggerisco di controllare le impostazioni proxy del tuo dispositivo e browser per escludere questa causa.
Problemi DNS
Un errore di timeout del gateway 504 può anche essere causato da problemi DNS sul lato server o sul lato client (o entrambi).
Il motivo più probabile per un problema DNS lato server è che l'FQDN (nome di dominio completo) non risolve l'indirizzo IP corretto o il server DNS non risponde . Di solito, ciò si verifica quando hai appena migrato il tuo sito WordPress su un nuovo server o host. Pertanto, è importante attendere che i record DNS del dominio si propaghino completamente, operazione che può richiedere fino a 24 ore.
Puoi utilizzare strumenti gratuiti come whatsmydns.net DNS Checker o DNSMap per vedere se il tuo DNS si è propagato in tutto il mondo.

Per risolvere i problemi DNS lato client, puoi provare a svuotare la cache DNS locale. È come svuotare la cache del browser, tranne che qui stai svuotando la cache DNS dal sistema operativo.
Se stai usando Windows, puoi svuotare la cache DNS aprendo il prompt dei comandi e inserendo la seguente direttiva:
ipconfig /flushdns

Dovresti vedere un messaggio "Svuotata con successo la cache del risolutore DNS". messaggio se ha funzionato.
Per le ultime versioni di macOS, puoi aprire il Terminale ed eseguire il comando seguente:
sudo killall -HUP mDNSResponder
Non vedrai alcuna notifica in macOS al termine del processo, ma puoi cambiarla aggiungendo il comando con il tuo messaggio personalizzato.
sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully
Se stai utilizzando versioni precedenti di macOS, il comando che devi inserire varia in base alla versione di macOS in esecuzione. Per maggiori dettagli, puoi fare riferimento alla sezione macOS nel tutorial approfondito sul DNS flush di Kinsta.
Se stai utilizzando il sistema operativo Linux, il processo è abbastanza simile a macOS poiché anche Linux utilizza il Terminale come interfaccia della riga di comando. Poiché ci sono molte distribuzioni Linux, il comando esatto che devi eseguire può variare da una distribuzione all'altra. Puoi consultare la guida di Kinsta per ulteriori informazioni.
Infine, puoi modificare temporaneamente i tuoi server DNS lato client. Per impostazione predefinita, il tuo ISP ti assegna automaticamente i server DNS. Ma puoi cambiarli temporaneamente in IP DNS pubblici.
Alcuni server DNS affidabili che puoi provare sono Google Public DNS, Cloudflare 1.1.1.1, Quad9 DNS e Cisco OpenDNS.

Disattiva temporaneamente la CDN del tuo sito
A volte, il problema potrebbe riguardare anche la tua rete di distribuzione dei contenuti (CDN). Se il server di origine di un sito non è raggiungibile, la maggior parte dei CDN cercherà di servire l'intera pagina Web dalla propria cache.
Ma la maggior parte dei CDN non abilita questa funzione per impostazione predefinita poiché è complesso memorizzare nella cache le risorse dinamiche sulla maggior parte dei siti (ad esempio la dashboard di amministrazione di WordPress).

Un modo semplice per risolvere questo problema è disabilitare temporaneamente la tua CDN. Ad esempio, se stai utilizzando il plug-in gratuito CDN Enabler WordPress per collegare le risorse del tuo sito agli URL CDN, puoi disattivare il plug-in e provare a ricaricare il tuo sito.
Lo stesso vale per l'utilizzo di qualsiasi altro plug-in che potresti utilizzare per connetterti alla tua CDN (es. WP Rocket, Breeze, W3 Total Cache).
Se non riesci ad accedere alla dashboard di amministrazione del tuo sito, puoi disabilitare il plug-in tramite SFTP rinominando il nome della cartella del plug-in.

CDN come Cloudflare o Sucuri, che forniscono servizi proxy completi, hanno firewall aggiuntivi tra i loro server perimetrali e il tuo server di origine. Pertanto, potresti riscontrare errori HTTP 5xx più frequentemente durante l'utilizzo. La maggior parte di essi memorizza nella cache gli errori 5xx restituiti dal server di origine, quindi è facile risolverli.
Il piano gratuito di Cloudflare tende a generare un errore 5xx. Sfortunatamente, poiché si tratta di un servizio proxy completo, non esiste un modo rapido per disabilitarlo. Ma prima di incolpare Cloudflare per questo, sappi che Cloudflare mostra due varianti dell'errore 504 Gateway Timeout.
504 Gateway Timeout su Cloudflare (Variante 1)
Cloudflare ti mostrerà una schermata di errore di timeout gateway 504 personalizzata quando il server di origine del tuo sito risponde con una risposta HTTP 504 standard.

Qui, il problema risiede nel tuo server web e non in Cloudflare. Puoi provare a risolverlo con le altre soluzioni menzionate di seguito o contattare il supporto del tuo provider di hosting per assistenza tecnica.
504 Gateway Timeout su Cloudflare (Variante 2)
Se Cloudflare causa l'errore 504 Gateway Timeout, la schermata di errore menzionerà "cloudflare", che è attualmente il nome del server standard per tutte le risorse Cloudflare. Di solito, la schermata di errore apparirà come di seguito:

Poiché Cloudflare stesso non risponde, qui non vedrai alcuna schermata di errore con il marchio Cloudflare.
Molto probabilmente, Cloudflare è già a conoscenza del problema e sta già lavorando a una soluzione. Puoi confermarlo controllando la pagina Web Stato del sistema Cloudflare. In alternativa, puoi contattare il supporto di Cloudflare per una risoluzione più rapida.

504 Timeout del gateway su Cloudflare a causa di caricamenti di grandi dimensioni
La dimensione dei tuoi caricamenti sul tuo sito può anche essere una ragione per i timeout del server. Cloudflare limita la dimensione del file di caricamento (per richiesta HTTP POST) a soli 100 MB sia sui piani Free che Pro.

Il problema può riguardare il tuo host o Cloudflare. Puoi scoprire la causa esatta bypassando Cloudflare con il tuo file host DNS e provando di nuovo a caricare.
Se stai utilizzando Cloudflare con WordPress, ti consiglio di utilizzare il loro plug-in gratuito ed escludere gli URL critici dalla memorizzazione nella cache (come la dashboard di amministrazione di WordPress). Puoi fare riferimento al post dettagliato di Kinsta su come configurare le impostazioni di Cloudflare per WordPress.
Lettura consigliata: Come configurare Cloudflare APO per WordPress.
Problemi con il server (verifica con il tuo host)
I problemi del server sono uno dei motivi più comuni per affrontare un errore di timeout del gateway 504. Poiché la maggior parte dei siti WordPress è ospitata su server Web Nginx o Apache, Nginx o Apache è in attesa di una risposta da qualcosa e il timeout è scaduto.
Molti clienti si rivolgono a Kinsta proprio per questo problema che stanno affrontando su altri host WordPress. La conversazione va più o meno così:
Riceviamo circa 100.000 visitatori al mese con oltre 200.000 visualizzazioni. Attualmente, stiamo ospitando con ____ e riscontriamo costantemente 504 errori a causa del sovraccarico del server. Non mi piace come ____ ha gestito il problema e ci è stato anche detto che dovremo passare presto ai loro piani dedicati, cosa che credo non sia necessaria.
I siti ad alto traffico e di e-commerce sono più inclini a ricevere errori 504 a causa del sovraccarico del server poiché generano molte richieste non memorizzabili nella cache. Tuttavia, questo problema può essere ritagliato con qualsiasi sito, inclusi i blog semplici. Molti host ti chiederanno di passare a un piano di alto livello per risolvere il problema, che nella maggior parte dei casi non è necessario.

Kinsta utilizza host gestiti LXD e contenitori software LXC orchestrati per ogni sito. Pertanto, ogni sito WordPress è ospitato in un proprio container isolato con accesso a tutto il software necessario per eseguirlo (Linux, Nginx, PHP, MySQL). Le risorse sono private al 100% e non sono condivise con nessun altro sito, nemmeno i tuoi siti.
La maggior parte degli host WordPress che forniscono piani di hosting condiviso non hanno questa capacità. Pertanto, un sito ad alto traffico ospitato sullo stesso server del tuo potrebbe causare anche la generazione di un errore 504 nel tuo sito.
Oltre a isolare ogni sito nel suo container, Kinsta ha anche progettato la sua infrastruttura per gestire facilmente migliaia di connessioni simultanee. Kinsta ospita anche i database MySQL su localhost, non su un server remoto. Ciò significa nessuna latenza tra le macchine, con conseguente query più veloci e minori possibilità che si verifichino timeout.
Molti clienti che migrano su Kinsta vedono enormi riduzioni dei tempi di caricamento complessivi.

Un server sovraccarico non è l'unica causa di timeout del server. Ci possono essere molte altre ragioni per l'errore 504:
Infrastruttura server lenta
Il server che utilizzi per ospitare il tuo sito WordPress potrebbe non avere risorse sufficienti per gestire il carico. È come giocare a un videogioco moderno e ad alta intensità grafica su un PC vecchio di dieci anni.
Il server riattacca semplicemente cercando di servire il sito web. L'unica soluzione a questo problema è passare a un server con una migliore infrastruttura. Per questo motivo, anche il piano di hosting WordPress più semplice di Kinsta gestirà un sito statico con traffico medio.
Ha bisogno di più lavoratori PHP
I PHP worker vengono utilizzati per eseguire il codice del tuo sito WordPress. Un sito di e-commerce che ottiene 50.000 visitatori al mese ha bisogno di molte più risorse di un semplice blog con la stessa quantità di traffico. Se tutti i PHP worker del server sono occupati, creeranno una coda.
Quando la coda diventa troppo grande, il server ignora le vecchie richieste, il che potrebbe causare la generazione di un errore gateway 504. Puoi chiedere al tuo host di aumentare il numero di PHP worker. Ciò consentirà al tuo sito di eseguire più richieste contemporaneamente.
Problemi con il firewall
Il firewall del tuo server potrebbe avere degli errori o una configurazione errata. Forse, alcune delle sue regole impediscono al server di stabilire una connessione correttamente. Per sapere se il colpevole è il tuo firewall, puoi controllare i log degli errori del tuo server.
Problemi di connettività di rete
Problemi di connettività tra il server proxy e il server Web potrebbero causare ritardi nella risposta alle richieste HTTP. Se utilizzi un sistema di bilanciamento del carico, potrebbero esserci anche problemi di connettività di rete con esso.
Timeout HTTP
I timeout HTTP possono verificarsi quando una connessione tra il server Web e il client viene mantenuta aperta per troppo tempo. Con i siti WordPress, questo di solito accade quando si eseguono le importazioni di WordPress. Un modo per risolvere questo problema è passare a una connessione Internet più veloce.
Puoi anche utilizzare uno strumento con supporto per WP-CLI per eseguire gli script direttamente sul server, bypassando completamente la connessione HTTP. Ad esempio, puoi utilizzare il comando wp import WP-CLI per eseguire il plug-in di importazione di WordPress direttamente tramite l'interfaccia della riga di comando.
Importante: gli errori 504 di timeout del gateway sono simili a 503 errori di servizio non disponibile o 502 errori di gateway non valido. Ma sono tutti diversi. Se riscontri un errore 504 su Kinsta, apri un ticket di supporto per risolvere immediatamente il problema.
Per monitorare autonomamente i tempi di inattività del tuo sito, puoi utilizzare uno strumento come updown.io. Controllerà periodicamente lo stato del tuo sito web (o qualsiasi URL) inviandogli una richiesta HTTP. È possibile impostare la frequenza di controllo da 15 secondi a 1 ora. Se il tuo sito web non risponde correttamente, ti avviserà con un'e-mail o un SMS.

Otterrai una generosa quantità di crediti gratuiti con ogni account di updown.io, ma se stai cercando alternative più economiche, puoi dare un'occhiata a WebGazer o UptimeRobot. Entrambi questi strumenti ti aiuteranno a monitorare gratuitamente i tempi di attività del tuo sito ogni 5 minuti. È abbastanza decente per la maggior parte dei proprietari di siti Web.

Il monitoraggio del tuo sito web ti darà un'idea di quanto spesso è inattivo. Ciò è particolarmente utile se stai utilizzando un provider di hosting condiviso. La maggior parte degli host WordPress gestiti si occupa di questo automaticamente per te. Quindi è sempre consigliato andare con loro.
Per una spiegazione dettagliata, dai un'occhiata al post di Kinsta sull'importanza dell'hosting WordPress gestito.
Spam, bot o attacchi DDoS
Gli aggressori dannosi possono portare il tuo server web a una scansione inviando troppe richieste e/o ad alta intensità di risorse. Se il tuo sito viene spammato da bot o subisce un attacco DDoS, può sopraffare il tuo server e causare errori di timeout gateway 504 per molti utenti autentici.
Puoi esaminare il traffico e le analisi del tuo server per vedere se riesci a individuare eventuali schemi irregolari nel traffico del sito. Se stai utilizzando Kinsta per ospitare il tuo sito, puoi visualizzare facilmente questi dati accedendo alla dashboard di MyKinsta Analytics.

Inizia la tua indagine guardando gli IP dei migliori client. Ti darà un'idea di chi genera il numero massimo di richieste e da dove. Se il tuo server consuma improvvisamente un'enorme larghezza di banda o attira molto traffico, questo rapporto sarà molto utile.

Successivamente, puoi controllare il rapporto Analisi cache . Qui puoi vedere quante richieste ignorano o mancano nella cache o vengono servite dalla cache. Per motivi di prestazioni e stabilità, desideri memorizzare nella cache il maggior numero possibile di richieste, ma non è sempre possibile ottenerlo.
Ad esempio, i siti WooCommerce generano molte richieste non memorizzabili nella cache per funzionalità come il carrello degli acquisti e il processo di pagamento.

Infine, puoi utilizzare un plug-in di sicurezza di WordPress per rafforzare la sicurezza del tuo sito Web individuando e bloccando traffico/IP preoccupanti. Puoi anche chiedere al tuo host di bloccare determinati IP.
Lottando con tempi di inattività e problemi con WordPress? Kinsta è la soluzione di hosting progettata pensando a prestazioni e sicurezza! Dai un'occhiata ai nostri piani
A seconda della lunghezza e della portata dell'attacco, questo potrebbe essere un processo infinito di inserimento nella lista nera degli IP poiché molti aggressori cambiano i loro IP e indirizzi proxy dopo essere stati bloccati.
Nota: Kinsta non consente ai suoi clienti di installare plug-in di sicurezza di WordPress in quanto possono avere un enorme effetto sulle prestazioni del sito, in particolare sulle sue capacità di scansione. Poiché Kinsta utilizza i bilanciatori del carico con Google Cloud Platform, il blocco degli IP non funzionerebbe sempre come previsto.
Puoi utilizzare soluzioni di sicurezza dedicate come Cloudflare o Sucuri per proteggere i tuoi siti da attacchi DDoS e spambot. Per ulteriori informazioni, puoi consultare gli articoli di Kinsta su come installare Cloudflare sul tuo sito WordPress e su come Sucuri ha contribuito a fermare un attacco DDoS nelle sue tracce.
Database WordPress danneggiato
A volte, un errore di timeout del gateway 504 può essere dovuto a un database danneggiato, specialmente nei siti WordPress. In genere, ciò è dovuto a tabelle o file di database danneggiati. A volte, può anche essere causato da un serio problema di sicurezza come il tuo sito o database che viene violato.
La riparazione di un database WordPress danneggiato dipende dal problema. Plugin come WP-DBManager semplificano la diagnosi dei problemi del database e li riparano. Ti consiglio di leggere la procedura dettagliata di Kinsta sulla riparazione dei problemi del database di WordPress per iniziare.
Controlla i plugin e i temi del tuo sito
Nella maggior parte dei casi, plugin e temi di terze parti non causano errori 504. Ma c'è una leggera possibilità che possano causare timeout del server, di solito mettendo in coda molte richieste non memorizzate nella cache generate dal plugin/tema. Poiché questo impegna molti dei PHP worker del tuo server, può causare 504 errori.
Un ottimo esempio di questo problema è WooCommerce, un plug-in installato per aggiungere funzionalità di e-commerce ai siti WordPress.
Il modo più semplice per risolvere questo problema è disattivare tutti i plugin. Ricorda, non perderai alcun dato se disattivi semplicemente un plug-in.
Se puoi accedere alla dashboard dell'amministratore, puoi andare alla schermata Plugin , selezionare Disattiva dal menu delle azioni collettive, selezionare tutti i plug-in e quindi premere il pulsante Applica . Questo disabiliterà tutti i tuoi plugin.

Se non riesci ad accedere alla tua area di amministrazione, puoi disabilitare i plugin tramite SFTP utilizzando il metodo descritto in precedenza. Basta rinominare il nome della cartella del plug-in principale per disabilitare tutti i plug-in in blocco.
Dopo aver disattivato tutti i plugin, controlla se il tuo sito si carica correttamente. Se funziona, devi attivare ogni plugin, testando il sito dopo aver abilitato ogni plugin.
Infine, assicurati che i plugin, i temi e il core di WordPress siano aggiornati. Inoltre, assicurati che sul tuo server sia in esecuzione la versione consigliata di PHP.
Se ritieni che questo sia troppo opprimente, puoi sempre contattare il tuo host per chiedere aiuto. Kinsta utilizza Kinsta APM e altre tecniche di risoluzione dei problemi per aiutare i client a restringere il campo dei plugin, delle query o degli script che potrebbero causare l'errore.
Negli scenari peggiori, come una query inefficiente o un codice errato in un plugin/tema, puoi coinvolgere uno sviluppatore WordPress per risolvere il problema.
Controlla i registri degli errori
La visualizzazione dei registri degli errori può essere molto utile durante la risoluzione dei problemi e il debug di errori 504 sul tuo sito WordPress. Questo può aiutarti a restringere rapidamente un problema sul tuo sito, soprattutto se deriva da un plug-in impegnativo sul tuo sito.
Se sei un cliente Kinsta, puoi facilmente vedere gli errori nel visualizzatore di log nella dashboard di MyKinsta.

Se il tuo host non ha uno strumento di registrazione, puoi abilitare la modalità di debug di WordPress aggiungendo il seguente codice al tuo file wp-config.php :
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
La costante WP_DEBUG abilita o disabilita la modalità di debug di WordPress. Ha due costanti complementari facoltative che possono estendere le sue funzionalità. La costante WP_DEBUG_LOG
indirizza tutti gli errori da salvare in un file debug.log all'interno della directory /wp-content/
. Se non vedi questo file, puoi sempre crearne uno.
La costante WP_DEBUG_DISPLAY
controlla se i log di debug vengono visualizzati nella pagina HTML. L'impostazione su false nasconderà tutti gli errori, ma puoi rivedere gli errori in un secondo momento, poiché hai anche definito WP_DEBUG_LOG
come true.
Importante: se WP_DEBUG è abilitato nell'ambiente Kinsta, indirizzerà tutti gli errori al file debug.log e non a error.log nella dashboard di MyKinsta.
Puoi anche scaricare i file di registro degli errori di WordPress non elaborati tramite SFTP. In genere, puoi trovare i registri degli errori nella directory principale del tuo server in una cartella denominata "logs".

Gli utenti di Kinsta possono anche abilitare la modalità di debug di WordPress dalla loro dashboard di MyKinsta. Per farlo, vai su Siti > Strumenti > Debug di WordPress e fai clic sul pulsante Abilita . Ciò ti consentirà di visualizzare gli errori e gli avvisi PHP senza abilitare la modalità di debug tramite SSH o SFTP.
Infine, puoi controllare i file di registro del server. A seconda del server che stai utilizzando per ospitare il tuo sito WordPress, si trovano comunemente in queste posizioni:
- Apache:
/var/log/apache2/error.log/
- Nginx:
/var/log/nginx/error.log/
È possibile fare riferimento alla documentazione relativa alla registrazione di Apache o Nginx per ulteriori informazioni.
Configura correttamente le impostazioni di Apache o Nginx
È possibile modificare i file di configurazione del server per aumentare i limiti di risorse per direttive specifiche. Questo può aiutarti a risolvere l'errore di timeout del gateway 504.
Per i server Web Apache
Innanzitutto, aggiungi il seguente codice al tuo httpd.conf :
TimeOut 600
Questa impostazione definisce per quanto tempo il server attenderà determinate richieste prima di contrassegnarlo come problema di timeout di rete. Il suo valore predefinito è 60 secondi (versione Apache 2.4).
Puoi aggiungere questa direttiva solo nel tuo file httpd.conf , non nel tuo file .htaccess. Poiché la maggior parte dei provider di hosting condiviso non ti consente di modificare il file httpd.conf , puoi invece provare ad aumentare il valore della direttiva LimitRequestBody nel tuo file .htaccess .
Quindi aggiungi la seguente riga al tuo file php.ini :
max_execution_time 300
Il valore predefinito della direttiva max_execution_time di PHP è 30 secondi. Aumentandolo consentirà agli script PHP del tuo sito di funzionare più a lungo.
Per i server Web Nginx
Se stai eseguendo i tuoi siti WordPress su Nginx + FastCGI Process Manager (PHP-FPM) o utilizzando Nginx come proxy inverso per Apache, puoi modificare le impostazioni del server per aiutare a prevenire 504 errori di timeout del gateway.
504 Errore di timeout del gateway su Nginx + FastCGI (PHP-FPM)
Innanzitutto, devi modificare il file di configurazione del pool PHP-FPM. Puoi trovarlo nella posizione /etc/php7.4/fpm/pool.d/www.conf
nel tuo server Nginx (il percorso esatto può variare in base alla versione PHP). In alternativa, puoi eseguire il seguente comando nel tuo terminale per modificare il file di configurazione del pool PHP-FPM:
sudo nano /etc/php/7.2/fpm/pool.d/www.conf
Quindi, imposta la seguente direttiva:
request_terminate_timeout = 300
Dopodiché, devi modificare il tuo file php.ini . Puoi trovarlo in /etc/php.ini
. Apri il file e aggiungi/modifica il valore per la direttiva max_execution_time
a 300 secondi.
max_execution_time = 300
Infine, aggiungi il seguente codice al blocco della posizione del tuo file nginx.conf :
location ~ .php$ { ... fastcgi_read_timeout 300; }
Ricarica Nginx e PHP-FPM per rendere effettive le modifiche.
sudo service nginx reload sudo service php7.4-fpm reload
Il codice esatto per ricaricare PHP-FPM varierà in base alla versione PHP installata sul tuo server. Testa il tuo sito per vedere se ha risolto il problema.
504 Errore di timeout del gateway sul proxy Nginx
Se stai usando Nginx come server proxy inverso per Apache, puoi renderlo più indulgente nei confronti dei timeout del server aggiungendo le seguenti direttive al tuo file nginx.conf :
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
Non dimenticare di ricaricare Nginx dopo aver apportato le modifiche.
sudo service nginx reload
Altri errori HTTP come 504 Gateway Timeout
Come accennato in precedenza nell'articolo, molti altri errori HTTP 5xx sono proprio come l'errore 504 Gateway Timeout. È perché accadono tutti sul lato server. Questi errori includono:
- 500 Errore interno del server
- 501 Errore non implementato
- 502 Errore gateway errato
- 503 Errore servizio non disponibile
Anche altri errori HTTP causati da problemi lato client, come l'errore 404 non trovato, sono simili all'errore 504. Puoi fare riferimento alla guida dettagliata di Kinsta e all'elenco dei codici di stato HTTP per ulteriori informazioni.
twittareSommario
Il tuo sito WordPress può essere interessato dall'errore 504 Gateway Timeout per diversi motivi. In questo articolo, hai imparato come risolverli tutti. In genere, questi errori sono causati da problemi lato server, nel qual caso puoi contattare il tuo host e risolverlo rapidamente.
Tuttavia, devi anche comprendere che questo errore può essere dovuto a plug-in, temi, servizi di terze parti, query di database inefficienti o una combinazione di due o più di questi. Se stai massimizzando le risorse del tuo server (ad es. PHP worker), ti consigliamo di ottimizzare le prestazioni del tuo sito.
Se trovi ancora che il tuo sito web sta scadendo, allora potrebbe benissimo essere necessario aggiornare il tuo piano di hosting o il numero di PHP worker. Ti consiglio di considerare questa opzione solo dopo aver esaurito tutte le altre soluzioni descritte in questo articolo.
From simple static sites to complex ecommerce and membership sites, Kinsta's scalable hosting plans are designed to accommodate all types of websites. To learn more about our scalable cloud hosting, check out this article!
Did we miss anything? If you're still finding it difficult to fix the 504 Gateway Timeout error on your WordPress site, leave a comment below.