Une erreur 504 s’affiche généralement lorsque la connexion entre votre navigateur et le serveur web est maintenue ouverte trop longtemps, ce qui entraîne un dépassement du délai HTTP.

Lorsque plusieurs requêtes arrivent en même temps ou presque, il se peut que certaines d’entre elles doivent attendre pour être traitées. Ainsi, même si le serveur traite des requêtes, si chacune d’entre elles prend beaucoup de temps à être traitée, un grand nombre de requêtes peut s’accumuler. Lorsque la file d’attente devient trop importante et que les processus attendent trop longtemps, les requêtes les plus anciennes ne sont pas prises en compte par le serveur, ce qui entraîne le renvoi d’une erreur 504 de passerelle.

Comme pour la plupart des dépannages d’erreurs, la première étape consiste à déterminer la cause profonde de l’erreur.

Trouver et résoudre une erreur 504 Gateway Timeout

Erreurs pendant l’importation

Si l’erreur se produit pendant une importation, essayez d’exécuter l’importation directement sur le serveur en utilisant WP-CLI ou un script PHP ou Bash local. Cela contournera entièrement la connexion HTTP, ce qui vous permettra de terminer l’importation sans erreur 504.

CDN tiers

Si votre site utilise un CDN tiers en plus de l’intégration Cloudflare de Kinsta, désactivez temporairement ou contournez ce CDN.

Vérifier le chemin de téléversement

Si vous voyez une erreur liée au chemin du fichier lorsque vous essayez de téléverser un fichier (par exemple, l’ajout et le téléversement d’une image dans le contenu), le chemin de téléversement peut être incorrect. Ce problème est le plus fréquent juste après la migration d’un site. Selon la configuration de votre hébergeur précédent, le chemin de téléversement peut avoir été personnalisé. Cela peut être vu dans le tableau wp_options ou dans le tableau de bord de WordPress (Réglages > Médias > Téléversement des médias).

Dans le tableau de bord WordPress, si vous voyez les options intitulées Stocker les téléversements dans ce dossier et Chemin d’URL complet pour les fichiers, elles ont été personnalisées. Les données correspondantes dans la base de données se trouvent dans le site wp_options table dans les options upload_path et upload_url_path.

Vous pouvez supprimer tout ce qui se trouve dans ces champs (soit dans le tableau de bord WordPress, soit dans la base de données) pour les remettre à leur valeur par défaut.

Taille des fichiers téléversés

Si vous voyez une erreur liée à la taille du fichier lorsque vous essayez de téléverser un fichier, vérifiez la taille du ou des fichiers que vous essayez de téléverser. Certains CDN limitent la taille des fichiers que vous pouvez téléverser. Si vous utilisez un CDN tiers, vérifiez la taille maximale de téléversement dans vos réglages de CDN et assurez-vous que vos téléversements sont inférieurs au maximum. Ou, si votre site exige que la taille du fichier soit aussi importante, ajustez la taille maximale de téléversement sur votre CDN (si possible).

Base de données corrompue

Parfois, une base de données corrompue peut être à l’origine des erreurs 504. Si vous voyez des erreurs qui indiquent une base de données corrompue (par exemple, « Une ou plusieurs tables de la base de données sont indisponibles. La base de données peut avoir besoin d’être réparée » lorsque vous vous connectez au tableau de bord WordPress), consultez notre guide sur la réparation d’une base de données corrompue.

Extensions et thèmes

Bien que ce ne soit pas aussi courant, il arrive qu’une extension ou un thème soit à l’origine d’une erreur 504. La meilleure façon de tester ce problème est de désactiver toutes les extensions et de passer à un thème par défaut. Si le problème est résolu, réactivez les extensions une par une et réactivez votre thème jusqu’à ce que le problème se reproduise. Une fois que vous avez déterminé quelle extension ou thème est la source, envoyez une copie de l’erreur au développeur de l’extension ou du thème afin qu’il puisse vous aider à résoudre le problème.

Journal d’erreurs

Vérifiez le fichier error.log de votre site dans MyKinsta (ou téléchargez-le via SFTP) pour déterminer la source de l’erreur. Si rien d’évident ne ressort, il peut être utile d’activer WP-DEBUG.

Trafic et mise en cache

Vérifiez le rapport des visiteurs dans les analyses de MyKinsta pour voir si votre site connaît un pic de trafic et/ou un grand nombre de requêtes non mises en cache. Dans ce cas, il peut être utile d’ouvrir une discussion avec notre équipe de support, afin que nous puissions vous aider à déterminer si les requêtes sont légitimes et si davantage de ressources (comme des workers PHP) peuvent être nécessaires.

Augmenter le nombre de workers PHP

Dans certains cas, un plus grand nombre de workers PHP peut être nécessaire. Si vous n’êtes pas sûr, notre équipe de support peut vous aider à déterminer si l’ajout de workers PHP est nécessaire pour votre site.

Étranglement du trafic

Si votre site connaît un pic de trafic ou simplement une augmentation du trafic en général, et que l’augmentation des ressources n’est pas une option, une alternative pour empêcher que trop de requêtes arrivent en même temps sur le serveur est de mettre en place un système de file d’attente comme Queue-it, Queue-Fair, ou Crowdhandler.