L’erreur 504 Gateway Timeout est un problème courant sur WordPress qui signifie que votre serveur met trop de temps à répondre aux requêtes. Cette erreur peut être causée par un serveur surchargé, une requête SQL trop longue, un problème avec Cloudflare ou une mauvaise configuration de PHP.
Contrairement à l’erreur 500, qui indique un problème interne au serveur, l’erreur 504 provient généralement d’un délai d’attente expiré entre plusieurs serveurs.
Dans cet article, nous allons voir les causes les plus fréquentes de l’erreur 504, les solutions détaillées pour la corriger et les meilleures pratiques pour éviter qu’elle ne se reproduise à l’avenir.
Votre site affiche une erreur 504 ? Je peux vous aider
L’erreur 504 Gateway Timeout peut impacter la rapidité et l’accessibilité de votre site WordPress. Qu’elle soit causée par une surcharge serveur, un problème avec Cloudflare ou un délai PHP trop court, il est crucial d’identifier rapidement la source du problème.
Je vous propose un accompagnement personnalisé pour analyser, optimiser et stabiliser votre site.
Pourquoi cette erreur se produit-elle ?
L’erreur 504 Gateway Timeout signifie que le serveur proxy ou la passerelle qui gère les requêtes vers votre site n’a pas reçu de réponse à temps du serveur principal. Concrètement, cela signifie que le serveur prend trop de temps pour exécuter une requête, ce qui force le navigateur à abandonner la connexion.
Contrairement à une erreur 500 (qui signale un problème interne au serveur), une erreur 504 indique souvent un problème de communication entre plusieurs serveurs ou une surcharge du serveur d’hébergement. Si vous faites face à une erreur 500, consultez mon guide complet pour la corriger ici.
Causes possibles
- Un serveur trop lent ou surchargé : Si votre hébergeur limite les ressources CPU et RAM, une forte charge peut provoquer cette erreur.
- Une requête PHP ou SQL qui prend trop de temps : Un script mal optimisé ou une requête SQL complexe peut ralentir l’exécution des pages.
- Un problème de proxy ou de pare-feu : Certains hébergeurs utilisent des proxys ou des CDN (comme Cloudflare) qui peuvent provoquer des délais d’attente trop longs.
- Un problème de configuration du serveur : Une mauvaise gestion des délais d’attente (
timeout
) au niveau d’Apache, Nginx ou PHP peut être en cause. - Un temps d’exécution de script trop court : Si la limite de
max_execution_time
de PHP est trop basse, certaines opérations longues peuvent échouer.
Solutions
Vérifier l’état du serveur
Avant toute chose, assurez-vous que le problème ne vient pas de votre hébergeur :
- Essayez d’accéder à d’autres sites hébergés sur le même serveur.
- Consultez la page d’état de votre hébergeur (ex. OVH, Hostinger, SiteGround ont des pages de status).
- Contactez le support technique pour savoir si des travaux de maintenance ou une surcharge temporaire impactent votre site.
Augmenter le temps d’exécution de PHP
Si votre site exécute un script complexe (comme une importation de données, une sauvegarde ou une mise à jour volumineuse), il peut avoir besoin de plus de temps pour s’exécuter.
Si vous avez accès au fichier php.ini, augmentez la valeur de max_execution_time :
max_execution_time = 300
Si vous n’avez pas accès à php.ini, vous pouvez tenter d’augmenter cette valeur depuis wp-config.php :
set_time_limit(300);
Attention : Ne mettez jamais cette valeur à 0
, cela pourrait provoquer des failles de sécurité et rendre le serveur vulnérable à des attaques.
Optimiser la base de données et les requêtes lentes
Une base de données non optimisée peut ralentir considérablement WordPress et provoquer des erreurs 504.
Supprimez les révisions et les brouillons inutiles
Utilisez une requête SQL via phpMyAdmin ou un plugin comme WP-Optimize :
DELETE FROM wp_posts WHERE post_type = 'revision';
Attention, cette requête supprimera toutes les révisions, assurez-vous de ne plus en avoir besoin !
Réparez et optimisez les tables MySQL
Connectez-vous à phpMyAdmin, sélectionnez votre base de données, puis cliquez sur « Réparer » et « Optimiser » les tables.
Une base de données mal optimisée peut ralentir votre site et générer des erreurs 504. Avec mon service d’optimisation WordPress, je vous aide à améliorer les performances et à éviter ces problèmes.
Identifiez les requêtes longues avec Query Monitor
- Installez le plugin Query Monitor.
- Vérifiez quelles requêtes SQL prennent trop de temps.
- Si une extension est responsable, envisagez de la désactiver ou de la remplacer.
Vérifier et ajuster la configuration du serveur
Si votre site est hébergé sur un serveur dédié ou VPS, vous pouvez ajuster le paramètre timeout
dans les fichiers de configuration d’Apache ou Nginx.
Apache (modifiez httpd.conf
ou .htaccess
) :
Timeout 300
Nginx (modifiez nginx.conf
) :
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
Redémarrez votre serveur Apache / Nginx pour appliquer les modifications.
Vérifier Cloudflare ou d’autres proxys
Si vous utilisez Cloudflare ou un autre CDN, il est possible que leurs serveurs aient un délai d’attente trop court. Vous pouvez essayer de :
- Désactiver temporairement Cloudflare pour voir si le problème disparaît.
- Augmenter le timeout depuis l’interface de votre CDN.
Vérifier les tâches planifiées (WP-Cron)
Vérifiez si une tâche planifiée (WP-Cron
) est trop gourmande. Si oui, désactivez-le déclenchement automatique avec :
define('DISABLE_WP_CRON', true);
Ensuite, configurez un cron job manuel depuis votre hébergeur (Par exemple une fois par heure sur le fichier wp-cron.php).
Prévention : éviter les erreurs 504 à l’avenir
- Utilisez un hébergement adapté : Si votre site grandit, passez d’un hébergement mutualisé à un VPS ou un serveur dédié.
- Optimisez vos bases de données : Faites un nettoyage régulier avec WP-Optimize.
- Réduisez les requêtes longues : Si une extension exécute des requêtes trop lentes, envisagez de la remplacer.
- Mettez en place un système de cache efficace : Utilisez un plugin comme WP Rocket pour réduire la charge du serveur.
- Surveillez les performances de votre site : Installez Query Monitor ou utilisez Google PageSpeed Insights pour identifier les éléments lents.
Un site bien optimisé est moins sujet aux erreurs 504. Découvrez comment améliorer les performances de votre site WordPress pour éviter ces interruptions.