Erreur 503 sur WordPress : le serveur ne suit plus.
« Service Unavailable », « 503 Service Temporarily Unavailable » : le serveur est joignable, mais il ne peut pas traiter la demande pour l'instant. Parfois en permanence, souvent par intermittence, aux heures de pointe. La bonne nouvelle : c'est rarement une panne du site lui-même. La mauvaise : il faut trouver ce qui le sature.
Permanente ou intermittente ?
- 503 permanente, sur toutes les pages : un mode maintenance est resté actif, ou le service PHP du site est arrêté.
- 503 par intermittence : le site dépasse les ressources auxquelles il a droit. Il fonctionne quand le trafic est calme et tombe dès qu'il monte.
1. Un mode maintenance oublié
WordPress renvoie un code 503 pendant ses mises à jour, avec le message « Indisponibilité temporaire pour cause de maintenance. ». Si la mise à jour s'est interrompue, le fichier .maintenance reste à la racine et le site reste en 503 : il suffit de le supprimer (voir site bloqué en maintenance).
Même symptôme avec une extension de page « bientôt disponible » ou « maintenance » restée activée : c'est d'ailleurs un bon comportement de leur part, le 503 indique à Google de repasser plus tard. Désactivez-la depuis l'administration, ou en renommant son dossier par FTP.
2. Les limites de l'hébergement sont atteintes
Sur un hébergement mutualisé, chaque compte a droit à un nombre limité de processus simultanés, à une part de processeur et à une quantité de mémoire. Quand le site les dépasse, les visiteurs suivants reçoivent un 503 (ou un 508 « Resource Limit Is Reached » sur les serveurs CloudLinux).
Sur cPanel, le panneau Utilisation des ressources montre si les limites ont été atteintes, lesquelles, et à quelles heures. C'est la mesure la plus utile : elle dit s'il faut chercher du côté du trafic ou de la lenteur des pages.
3. Un trafic qui n'est pas le vôtre
Souvent, ce ne sont pas vos visiteurs qui saturent le site, mais des robots : attaques par dictionnaire sur wp-login.php, rafales sur xmlrpc.php, robots d'indexation trop agressifs. Chaque requête coûte autant qu'une vraie visite, sans rien rapporter. Sur cPanel, avec le Terminal, une commande liste les couples « adresse IP, page demandée » les plus fréquents dans le journal d'accès du jour :
awk '{print $1, $7}' ~/access-logs/exemple.fr-ssl_log | sort | uniq -c | sort -rn | head -20
Si les premières lignes sont des centaines d'appels à xmlrpc.php ou wp-login.php depuis quelques adresses, vous tenez la cause. Si votre site n'utilise pas xmlrpc.php (seules quelques applications et Jetpack s'en servent), vous pouvez le fermer dans .htaccess :
<Files xmlrpc.php>
Require all denied
</Files>
4. Une tâche qui s'emballe
Des 503 qui reviennent toujours à la même heure trahissent une tâche planifiée : sauvegarde par extension, import de produits, envoi de newsletter, régénération d'images. Elle occupe toutes les ressources du compte pendant qu'elle tourne. Déplacez-la la nuit, ou confiez les sauvegardes à l'hébergeur plutôt qu'à une extension.
5. Derrière Cloudflare
Si la page d'erreur est celle de Cloudflare, lisez bien le code : un 503 vient de votre serveur, relayé tel quel. Les codes 521, 522, 523 et 524 sont différents : ils signifient que Cloudflare n'arrive pas à joindre votre serveur, ou qu'il a attendu trop longtemps sa réponse.
Quand me confier la panne
Si les 503 continuent, ou si vous ne savez pas lire l'utilisation des ressources : j'analyse les journaux d'accès et les limites atteintes, je bloque le trafic abusif et je corrige ce qui ralentit le site. Réparation de 80 à 250 € selon la complexité, diagnostic gratuit, remboursée si je n'y arrive pas.
Le site sature ?
Envoyez-moi l'adresse et l'heure des erreurs, je vous dis ce qui le sature, sans engagement.
Demander mon diagnostic gratuit →