Rencontrer des erreurs sur votre site peut être intimidant. Cependant, la plupart des erreurs vous donnent des indices sur leur cause, ce qui peut faciliter le dépannage de ces problèmes courants. L’erreur 503 n’est malheureusement pas aussi polie et ne vous donne pas beaucoup d’informations pour continuer.

Ceci aide à comprendre quelles sont les causes les plus courantes d’erreur 503. Après cela, vous devrez être méthodique lorsqu’il s’agira de dépanner l’erreur, ce qui signifie suivre plusieurs étapes afin de localiser la cause profonde.

Dans cet  article, nous allons couvrir ce qu’est l’erreur 503 et comment elle se manifeste généralement. Ensuite, nous vous guiderons à travers six étapes pour la corriger. Mettons-nous au travail !

Consultez notre guide vidéo pour réparer les différents types d’erreurs 500

Qu’est-ce qu’une erreur 503 ?

L’Internet Engineering Task Force (IETF) définit le 503 Service indisponible comme suit :

Le code d’état 503 (Service indisponible) indique que le serveur est actuellement incapable de traiter la requête en raison d’une surcharge temporaire ou d’une maintenance planifiée, qui sera probablement allégée après un certain délai. Le serveur PEUT envoyer un champ d’en-tête Retry-After pour suggérer au client un délai d’attente approprié avant de réessayer la requête.

Lorsque vous rencontrez l’erreur 503, cela signifie que le serveur en question est indisponible. C’est peut-être parce qu’il est trop occupé, par exemple, ou parce qu’il est en cours de maintenance. Contrairement à d’autres codes d’erreur similaires, 503 signifie que votre site est en ligne et fonctionne, mais qu’il n’est pas accessible pour l’instant.

Ce qui est si contrariant dans cette erreur particulière, c’est qu’elle ne vous donne pratiquement aucune information pour continuer. La plupart du temps, elle s’affiche avec un message « Service temporairement indisponible ». C’est l’équivalent d’appeler un restaurant par téléphone, seulement pour qu’il vous dise qu’il est fermé mais qu’il refuse de vous dire quand il sera de nouveau ouvert.

Si vous avez de la chance, le code d’erreur 503 se sera produit parce que votre site est en maintenance. WordPress met très brièvement votre site en mode maintenance lorsque vous mettez à jour une extension, un thème ou le cœur de WordPress :

Mode de maintenance
Mode maintenance

Habituellement, ce délai d’attente est si court que personne ne le remarquera. Cependant, dans les cas où l’erreur 503 persiste, vous aurez un plus gros problème à régler. Après tout, non seulement les utilisateurs ne pourront pas visiter votre site, mais vous perdrez également l’accès à votre espace d’administration WordPress. Cela signifie que vous ne pouvez en aucun cas mettre à jour votre site, et pour le dépanner, vous devrez creuser dans ses fichiers.

Code d’erreur 503 service unavailable error
Type d’erreur Erreur côté serveur
Variations d’erreurs 503 Service indisponible
503 Service indisponible temporairement
Erreur 503 du serveur HTTP
Erreur HTTP 503
Causes de l’erreur Pics de trafic inattendus
Problèmes de communication avec le serveur
Épuisement des ressources
Attaque DDoS
Incompatibilité d’une extension ou d’un thème

Variations de l’erreur 503

L’erreur 503 peut se manifester de bien des façons. Cependant, presque toutes les variations sont accompagnées de ce code 503, ce qui le rend facile à identifier.

Voici quelques-unes des variations que vous pourriez rencontrer, selon la configuration de votre serveur et de votre navigateur :

  • 503 Service indisponible
  • 503 Service temporairement indisponible
  • Erreur HTTP 503 du serveur
  • Erreur HTTP 503
  • Erreur 503 Service non disponible
  • Le serveur est temporairement dans l’impossibilité de répondre à votre demande en raison d’une panne de maintenance ou de problèmes de capacité. Veuillez réessayer plus tard.

Quel que soit le code que vous rencontrez, cela signifie que vous devez vous mettre au travail rapidement avant que cela n’affecte négativement vos utilisateurs.

Quelles sont les causes d’une erreur HTTP 503 ?

Voici les raisons les plus courantes pour lesquelles un serveur est temporairement incapable de traiter une requête :

  • Un nombre élevé de requêtes est envoyé au serveur, épuisant toutes les ressources disponibles.
  • Le serveur connaît des problèmes techniques ou des travaux de maintenance.
  • Le serveur peut faire l’objet d’une attaque par déni de service (DDoS).

Il existe également d’autres problèmes techniques déclenchant l’erreur 503, comme des problèmes avec vos extensions ou votre thème. Vous trouverez plus d’informations à ce sujet ci-dessous.

Comment réparer l’erreur 503 (6 étapes) ?

Comme vous ne pouvez souvent pas être sûr de ce qui a causé l’erreur 503 dans une situation donnée, vous devrez procéder à un dépannage méthodique. Les six sections suivantes couvrent chacune une correction potentielle, visant à résoudre les différentes causes profondes potentielles.

Après chaque étape, prenez un moment pour retourner sur votre site et voir si l’erreur 503 a disparu. Si c’est le cas, vous avez résolu le problème. Sinon, passez à l’étape suivante du processus.

1. Désactiver temporairement vos extensions

L’une des causes les plus fréquentes de l’erreur 503 dans WordPress est la compatibilité des extensions. Pour déterminer si c’est ce qui se passe, vous devrez désactiver toutes les extensions de votre site.

Puisque l’erreur 503 vous empêche d’accéder à la zone d’administration, vous devrez utiliser un client FTP pour cette étape. Si vous n’en avez pas, nous vous recommandons FileZilla.

Une fois que votre client FTP est prêt, connectez-vous à votre site et allez jusqu’à votre dossier racine. Au cas où vous ne le trouveriez pas, il est généralement appelé public_html, html, public, www, ou le nom de votre site. Si vous êtes un client Kinsta, c’est votre dossier public.

Dossier racine de WordPress SFTP
Dossier racine de WordPress SFTP

Ouvrez ce dossier, et allez jusqu’au répertoire wp-content. À l’intérieur, vous verrez un dossier appelé plugins, qui contient des sous-répertoires individuels pour chacune des extensions installées sur votre site (à la fois actives et inactives).

Ce que vous allez faire maintenant est de cliquer avec le bouton droit de la souris sur le dossier plugins, et de le renommer en autre chose. Nous recommandons plugins.old ou plugins.desactives, pour que vous puissiez facilement le reconnaître plus tard.

Le dossier des extensions WordPress a été renommé
Le dossier plugins de WordPress a été renommé

WordPress ne pourra plus trouver vos extensions. Lorsque cela se produit, il désactivera automatiquement ces extensions.

Maintenant, essayez d’accéder à votre tableau de bord. Si l’erreur 503 a disparu, alors vous pouvez supposer que l’une de vos extensions est la coupable. Tout ce que vous avez à faire, c’est de trouver laquelle.

Retournez dans le répertoire wp-content, et renommez correctement votre dossier plugins. Ensuite, vous devrez désactiver chacune de vos extensions une par une, jusqu’à ce que vous trouviez la coupable.

Pour ce faire, ouvrez le répertoire wp-content/plugins. A l’intérieur, vous trouverez un dossier pour chacune de vos extensions. Le processus que vous allez suivre est à peu près le même qu’avant :

  1. Commencez par le premier répertoire, et renommez-le comme vous voulez.
  2. Vérifiez votre site pour voir si l’erreur a disparu.
  3. Si ce n’est pas le cas, rendez son nom original au répertoire de l’extension de l’étape précédente.
  4. Passez à l’extension suivante de votre liste, en répétant les étapes ci-dessus.

Ce processus peut prendre un certain temps si vous avez beaucoup d’extensions, mais il est vital de vérifier chaque extension tour à tour. Si à n’importe quel moment vous identifiez l’extension qui cause l’erreur, vous pouvez la désinstaller ou la remplacer par une autre.

Si vous arrivez à la fin de ces étapes sans trouver de solution, vous pouvez passer à l’étape suivante du dépannage.

2. Désactivez le thème de votre site web

Maintenant que vous avez éliminé vos extensions comme cause de l’erreur 503, il est temps de faire de même avec votre thème actif. En fait, votre thème pourrait aussi créer des problèmes de compatibilité.

Malheureusement, le processus ne fonctionne pas de la même façon que ci-dessus. WordPress ne reviendra pas au thème par défaut si vous renommez simplement le dossier de thème, vous vous retrouverez avec une erreur comme « Le répertoire de thème « nom du thème » n’existe pas ». Ou si vous essayez de renommer tout le répertoire des thèmes, vous vous retrouvez avec « ERREUR : Le répertoire des thèmes est vide ou n’existe pas. Veuillez vérifier votre installation. »

Erreur : Le répertoire de thème n’existe pas
Erreur : Le répertoire de thème n’existe pas

Par conséquent, vous devez accéder à votre base de données WordPress en vous connectant à phpMyAdmin. Si vous êtes un client Kinsta, vous pouvez le trouver dans la section « Info » du tableau de bord MyKinsta.

Ouvrir phpMyAdmin dans MyKinsta.
Ouvrir phpMyAdmin dans MyKinsta.

Cliquez dans la table « wp_options », puis cliquez sur l’onglet « Recherche ». Vous devrez chercher le template sous l’option « option_name ».

phpMyAdmin table wp_options
phpMyAdmin table wp_options

Sous la colonne « option_value », vous verrez le nom actuel de votre thème. Remplacez-le par l’un des thèmes par défaut, tel que « twentynineteen ».

wp_options : nom du modèle
wp_options : modèle

Vérifiez de nouveau votre site pour voir si cela a corrigé l’erreur. Si c’est le cas, cela signifie simplement qu’il s’agit d’un problème avec votre le thème de votre site web et que vous voudrez peut-être essayer de le réinstaller ou de revenir à votre sauvegarde la plus récente.

3. Désactivez temporairement votre réseau de diffusion de contenu (CDN)

Parfois, l’erreur 503 n’apparaîtra pas à cause d’un problème sur votre site, mais à cause de votre Content Delivery Network (CDN). Si vous utilisez un CDN, un moyen rapide de savoir si c’est le cas est de le désactiver temporairement.

Chaque CDN devrait inclure une fonction qui vous permet de mettre en pause ses services. Si vous êtes sur Kinsta, vous pouvez désactiver votre CDN Kinsta en vous rendant sur CDN → Désactiver le CDN dans votre tableau de bord MyKinsta :

Option d’activation/désactivation du CDN MyKinsta
Option d’activation/désactivation du CDN MyKinsta

Le processus que vous devez suivre peut être différent selon le CDN que vous utilisez. On sait aussi que Cloudflare cause parfois des erreurs 503. Si vous ne trouvez pas l’option pour mettre le vôtre en pause, consultez la base de connaissances de votre service, qui contient généralement des instructions détaillées.

Si vous n’utilisez pas de CDN ou si vous constatez que la pause de votre service n’aide pas à résoudre votre problème, il y a encore quelques corrections à essayer. N’oubliez pas de réactiver votre CDN avant de passer à autre chose.

4. Limiter l’API « Heartbeat » de WordPress

WordPress Heartbeat est une API intégrée à WordPress, que la plateforme utilise pour l’enregistrement automatique du contenu, vous indiquant les notifications d’extension, vous indiquant quand quelqu’un d’autre travaille sur un article auquel vous essayez d’accéder, et plus.

Tout comme un battement de cœur régulier, l’API fonctionne en arrière-plan avec une fréquence élevée afin qu’il ne manque rien. Comme vous pouvez l’imaginer, cette API consomme des ressources serveur. Habituellement, ce n’est pas un problème, mais dans certains cas, cela peut conduire à une erreur 503 si votre serveur ne peut pas gérer la charge.

Le moyen le plus rapide de déterminer si l’API Heartbeat est au centre de vos problèmes est de la désactiver temporairement. Pour ce faire, connectez-vous une fois de plus à votre site WordPress via FTP, puis ouvrez votre répertoire de thèmes actuel et vérifiez qu’il contient le fichier functions.php :

Fichier functions.php de thème WordPress
Fichier functions.php de thème WordPress

Cliquez avec le bouton droit de la souris sur le fichier et sélectionnez l’option Afficher/Modifier, qui l’ouvrira en utilisant votre éditeur de texte local. Une fois qu’il est ouvert, vous devrez ajouter le code suivant à l’intérieur :

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Ces trois lignes de code indiquent à WordPress de désactiver l’API Heartbeat. Enregistrez les changements apportés au fichier functions.php, fermez-le et essayez d’accéder de nouveau à votre site.

Si l’erreur 503 a disparu, vous saurez que l’API était le problème. Sa désactivation supprime cependant de nombreuses fonctionnalités utiles. Nous vous recommandons plutôt de « ralentir » Heartbeat pour qu’il ne cause pas de problèmes.

La façon la plus simple d’y parvenir est d’installer l’extension Heartbeat Control. Activez l’extension et accédez à la section Réglages > Contrôle Heartbeat. Recherchez les options Modifier Heartbeat et baissez la fréquence au nombre le plus bas possible :

Fréquence de l’extension Heartbeat Control
Fréquence de l’extension Heartbeat Control

Enregistrez les modifications apportées à vos réglages et revenez au fichier functions.php que vous avez modifié il y a quelque temps. Pour que les changements ci-dessus fonctionnent, vous devrez supprimer la chaîne de code que vous avez ajoutée auparavant et enregistrer vos modifications dans le fichier.

A ce stade, l’erreur 503 devrait disparaître si l’API Heartbeat était le problème. Si ce n’est pas le cas, il est temps d’essayer quelque chose de différent.

5. Augmentez les ressources de votre serveur

Si l’erreur 503 se produit toujours malgré toutes vos tentatives de la corriger jusqu’à présent, alors il y a de fortes chances que le problème soit dû à un manque de ressources serveur. En d’autres termes, vous devrez mettre à jour votre plan d’hébergement pour voir si cela résout le problème. Ceci est particulièrement vrai si vous utilisez un hébergement WordPress bon marché, car ils ont tendance à limiter les ressources.

Nous ne faisons pas cela chez Kinsta. Nous offrons un excellent hébergement WordPress infogéré (ainsi qu’un hébergement d’applications et un hébergement de bases de données).

Cependant, la mise à niveau de votre plan est une décision importante. La meilleure chose à faire est de contacter d’abord votre service d’assistance d’hébergement et de discuter de l’erreur 503 avec eux, ainsi que des mesures que vous avez prises jusqu’à présent pour essayer de la résoudre. L’équipe de support devrait être en mesure de vous aider à trouver la cause et de vous conseiller sur la nécessité ou non d’améliorer votre plan.

6. Examinez vos journaux et activez WP_DEBUG

Vous devez également tirer parti de vos journaux d’erreurs. Si vous êtes un client Kinsta, vous pouvez facilement voir les erreurs dans la visionneuse de journaux et activer le mode de débogage de WordPress dans le tableau de bord de MyKinsta. Cela peut vous aider à réduire rapidement le problème, surtout s’il résulte d’une extension sur votre site.

Voir le fichier error.log dans le tableau de bord MyKinsta.
Voir le fichier error.log dans le tableau de bord MyKinsta.

Si votre hébergeur ne dispose pas d’outil de journalisation, vous pouvez également ajouter le code suivant à votre fichier wp-config.php pour activer la journalisation :

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Les journaux sont généralement situés dans le répertoire /wp-content. A l’intérieur, cherchez un fichier appelé debug.log et ouvrez-le.

D’autres, comme ici chez Kinsta, peuvent avoir un répertoire dédié appelé « logs ».

Répertoire des journaux d’erreurs WordPress (SFTP)
Répertoire des journaux d’erreurs WordPress (SFTP)

Interpréter votre journal de débogage peut être un peu intimidant mais ce n’est pas aussi difficile à lire que vous pourriez l’imaginer. En résumé, le journal contient chaque erreur qui apparaît sur votre site dans l’ordre chronologique. Il montre quel fichier a causé chaque erreur, ainsi que les lignes de code spécifiques impliquées.

Attention : vous ne trouverez pas de références directes à l’erreur 503 dans votre journal. Néanmoins, si tout le reste échoue, cela peut vous indiquer la bonne direction en vous montrant quels fichiers causent des problèmes. De cette façon, vous saurez où concentrer vos efforts. Comme nous l’avons mentionné à l’étape précédente, c’est maintenant le bon moment pour communiquer avec votre fournisseur d’hébergement si vous avez besoin d’aide pour résoudre cette erreur.

Vous pouvez aussi vérifier les fichiers journaux dans Apache et Nginx, qui sont généralement situés ici :

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Pour en savoir plus, veuillez consulter notre confrontation de serveurs web : Nginx vs Apache.

Si vous êtes un client Kinsta, vous pouvez également profiter de notre outil d’analyse pour obtenir une ventilation du nombre total d’erreurs 503 et voir à quelle fréquence et quand elles se produisent. Cela peut vous aider à dépanner s’il s’agit d’un problème permanent, ou peut-être quelque chose qui s’est résolu tout seul.

Si l’erreur 503 s’affiche à cause d’une erreur PHP fatale, vous pouvez également essayer d’activer la notification des erreurs PHP. Il suffit d’ajouter le code suivant au fichier contenant l’erreur. Généralement, vous pouvez restreindre le fichier dans l’onglet console de Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Et vous devrez peut-être aussi modifier votre fichier php.ini avec ce qui suit :

display_errors = on

Résumé

Si vous avez de la chance, l’erreur 503 n’apparaîtra que lorsque vous mettrez votre site en mode maintenance. Cependant, si elle apparaît sans avertissement, vous devrez retrousser vos manches et faire du dépannage.

Pour s’attaquer à la cause profonde de l’erreur 503, vous devrez suivre les étapes suivantes pour la corriger :

  • Désactivez temporairement vos extensions.
  • Désactiver le thème de votre site web.
  • Désactivez temporairement votre réseau de diffusion de contenu (CDN).
  • Limitez l’API Heartbeat de WordPress.
  • Augmentez les ressources de votre serveur.
  • Vérifiez vos logs et activez WP_DEBUG.

Avez-vous déjà rencontré l’erreur 503 ? Partagez vos expériences avec nous dans la section des commentaires ci-dessous !

Matteo Duò Kinsta

Rédacteur en chef chez Kinsta et consultant en marketing de contenu pour les développeurs de plugins WordPress. Connectez-vous avec Matteo sur Twitter.