Esempi di schermate di errore Gateway Timeout
Errore 504 su server Nginx:
Errore 504 dovuto alla CDN Cloudflare:
Come si verifica l'errore 504 "Gateway Timeout"
L'errore con codice 504, che corrispinde ad un errore di tipo "Gateway Timeout", si verifica in questo modo:
- Il client (il browser dell'utente) invia una richiesta al server che ospita il sito web.
- Il server, che potrebbe dover comunicare con un altro server (ad esempio, un server di database o un servizio esterno), non ottiene risposta entro il tempo massimo previsto.
- Di conseguenza, il server restituisce il codice di errore 504 Gateway Timeout al browser.
Cause dell'errore 504 su WordPress
L'errore 504 Gateway Timeout su WordPress si verifica quando il server che ospita il tuo sito non riceve una risposta tempestiva da un altro server (ad esempio un database o un server esterno).Questo problema indica che il processo richiesto impiega troppo tempo a completarsi.
Ecco alcune delle 7 cause più comuni dell'errore 504 su WordPress:
- Timeout del server: Il server di hosting potrebbe essere sovraccarico o configurato con un limite di timeout troppo breve.
- Plugin o tema problematici: Plugin o temi mal ottimizzati, particolarmente quelli che eseguono query complesse al database, possono causare ritardi.
- Problemi di connessione al database: Query lente o blocchi nel database possono impedire una risposta rapida.
- Configurazione DNS errata: Se il server non è in grado di risolvere il nome di dominio in modo tempestivo, può verificarsi l'errore.
- API esterne o richieste HTTP lente: Se il tuo sito dipende da un'API o servizio esterno che impiega troppo tempo a rispondere, può verificarsi un timeout.
- Risorse server insufficienti: Server con CPU o RAM insufficienti per gestire le richieste possono causare ritardi.
- Firewall o proxy mal configurati: Un firewall o un proxy server tra l'utente e il server di WordPress potrebbe bloccare o ritardare la richiesta.
Come risolvere l'errore 504 su WordPress
Aggiorna la pagina
L'errore potrebbe essere un problema temporaneo.
Quindi banalmente, la prima cosa da fare è prova a ricaricare la pagina, un po' come il vecchio sistema di spegnere e riaccendere il televisore (e lui ripartiva magicamente...).
Controlla le risorse del server
Il tuo server potrebbe subire dei sovraccarichi nel compiere determinati compiti, oppure perché ci sono dei meccanismi automatici che nel tempo (senza che nessuno se ne accorgesse) sono diventati molto onerosi per essere calcolati.
Quindi una cosa da fare è verificare tramite il pannello di hosting (ad esempio cPanel) se ci sono problemi di carico sul server.
Aumenta i limiti di timeout
Un'altra prova da svolgere è aumentare il tempo di timeout del server, il cosiddetto max_execution_time, operazione effettuabile in vari modi.
Siccome si tratta di vari metodi molto tecnici e non è questa la sede adatta per affrontarli, il consiglio è quello di contattare l'assistenza del tuo provider e richiedere l'aumento del tempo di esecuzione.
Disattiva plugin e temi
Il test tipico per intercettare componenti problematici di WordPress è disattivare tutti i plugins per poi riattivarli uno ad uno.
Stessa cosa si fa con i temi, provando a switchare dal tema corrente ad un tema di default di WordPress (Twenty Twenty-Four per dire).
Attivare e disattivare plugins e temi è possibile dal backend di WordPress oppure, se il backend non fosse raggiungibile, via FTP, andando a rinominare temporaneamente la cartella dei plugins o del tema.
Effettuata la disattivazione, si procede a riattivare i plugins uno ad uno, per individuare l'eventuale componente problematico.
Ripristina il file .htaccess
Ripristina il file .htaccess standard:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Puoi ripristinare queste linee di codice agendo manualmente sul file .htaccess (previo copia di backup) oppure cancellandolo e poi andando in Impostazioni > Permalink e cliccando su "Salva".
Controlla le API o i servizi esterni
Disabilita temporaneamente funzionalità che dipendono da API esterne o verifica che queste siano operative.
Ecco 5 esempi specifici di API o servizi esterni che potrebbero generare l'errore 504:
- API di pagamento lente: Se stai usando un servizio come PayPal o Stripe per elaborare i pagamenti, un ritardo nel loro server può causare l'errore. Disabilita temporaneamente l'integrazione per verificare se il sito torna operativo.
- Plugin di importazione dati da fonti esterne: Un plugin che importa automaticamente dati (ad esempio, feed di prodotti da Amazon o API di Google Maps) potrebbe essere la causa. Prova a disattivarlo o a configurare un timeout personalizzato.
- Integrazione con sistemi di marketing: Se utilizzi servizi come Mailchimp, HubSpot o altre piattaforme di automazione tramite API, verifica se ci sono problemi di connessione e disabilita temporaneamente le integrazioni.
- Connessione a servizi di traduzione automatica: Plugin di traduzione come WPML o TranslatePress che fanno uso di API esterne (ad esempio DeepL o Google Translate) potrebbero rallentare la risposta. Testa il sito disattivandoli.
- Widget o feed social integrati: Se hai widget che mostrano feed da social network come Instagram, Twitter o Facebook, controlla se questi servizi funzionano correttamente. Disattiva il widget per isolare il problema.
Contatta il tuo hosting
Se il problema persiste, richiedi al tuo provider di controllare i log del server e ottimizzare la configurazione.
In conclusione
In conclusione, risolvere l'errore 504 Gateway Timeout su WordPress richiede un approccio metodico: identifica le cause possibili, come timeout del server, plugin o temi problematici, o problemi di rete, e intervieni con soluzioni mirate.
Se non riesci a individuare la causa o il problema persiste, ti consiglio di affidarti a un esperto per ottenere un'assistenza WordPress online.
E siccome io sono un esperto specializzato in WordPress, scopri il mio servizio di assistenza per il tuo sito e contattami per richiedere un preventivo gratuito.