L’erreur 500, ou « Internal Server Error », est la plus frustrante parce qu’elle ne contient aucune information. Le serveur signale qu’il a échoué, sans dire pourquoi. Sur WordPress, cinq causes couvrent la quasi-totalité des cas, et on les distingue en dix minutes avec la bonne méthode.
Je regarde votre situation et je vous dis en vingt minutes ce qui mérite d’être corrigé en priorité.
Trouver le vrai message
La page affichée est générique, mais le serveur a écrit la vraie erreur quelque part. Chez la plupart des hébergeurs mutualisés, un fichier error_log se trouve à la racine du site ou dans un dossier logs accessible depuis le panneau d’administration. C’est là que se trouve la ligne utile.
Sans ce fichier, activez WP_DEBUG_LOG dans wp-config.php : WordPress écrira alors ses propres erreurs dans wp-content/debug.log. Attention toutefois : une erreur 500 qui survient avant le chargement de WordPress — un .htaccess invalide, par exemple — n’apparaîtra pas dans ce journal.
Le .htaccess, premier suspect
Une directive invalide dans le fichier .htaccess provoque une 500 immédiate, avant même que PHP ne démarre. C’est typiquement ce qui arrive après l’installation d’une extension de cache ou de sécurité qui écrit ses propres règles.
Le test est direct : renommez .htaccess en htaccess-old et rechargez. Si le site revient, la cause est là. Régénérez ensuite un fichier propre en enregistrant les permaliens depuis Réglages puis Permaliens.
| Message dans le journal | Cause | Correction |
|---|---|---|
| Invalid command / .htaccess | Directive non supportée | Renommer le .htaccess, régénérer les permaliens |
| Allowed memory size exhausted | Mémoire PHP insuffisante | Augmenter la limite, puis identifier l’extension gourmande |
| Maximum execution time exceeded | Script trop long | Traiter par lots, ou augmenter max_execution_time |
| Permission denied | Droits de fichiers incorrects | Rétablir 644 / 755 et 600 sur wp-config.php |
| Aucun journal disponible | Erreur avant le démarrage de PHP | Tester le .htaccess et la version de PHP |
Je peux appliquer directement ces corrections sur votre site plutôt que vous laisser une liste de recommandations.
La mémoire PHP et le temps d’exécution
Un script qui dépasse la mémoire allouée ou le temps maximum d’exécution est interrompu par le serveur, ce qui produit une 500. Le journal contient alors « Allowed memory size of X bytes exhausted » ou « Maximum execution time exceeded ».
Augmenter la limite est un pansement utile mais pas une solution. Un site vitrine qui réclame plus de 256 Mo a un problème réel : une extension qui charge toute la médiathèque en mémoire, un import mal codé, ou une requête qui parcourt des dizaines de milliers de lignes.
- Fichier .htaccess contenant une directive non supportée par le serveur
- Mémoire PHP insuffisante pour l’opération demandée
- Temps d’exécution dépassé sur un import ou une sauvegarde
- Permissions de fichiers incorrectes après une restauration
- Extension incompatible avec la version de PHP en service
Les permissions, cause silencieuse
Après une restauration de sauvegarde ou une migration mal terminée, les droits sur les fichiers peuvent être incorrects. Un fichier PHP en 777 est refusé par la plupart des configurations sécurisées, ce qui provoque une 500 sans autre explication.
La règle habituelle : 644 pour les fichiers, 755 pour les dossiers, et 600 pour wp-config.php. Un hébergeur sérieux propose un bouton de réinitialisation des permissions, ce qui évite de le faire à la main.
Une erreur 500 n’est pas un diagnostic, c’est un aveu d’échec du serveur. Le diagnostic est dans le journal, et il y est toujours.
Ce qu’il faut retenir
Ne cherchez pas la solution dans la page affichée : elle n’en contient aucune. Ouvrez le journal d’erreurs du serveur, testez le .htaccess en le renommant, puis regardez du côté de la mémoire. Ces trois gestes couvrent l’immense majorité des erreurs 500 sur WordPress, et prennent moins de temps que la première recherche sur un forum.
Augmenter la limite de mémoire PHP
Avantages
- Remet le site en ligne immédiatement dans bien des cas
- Se fait en une ligne dans wp-config.php
- Sans effet de bord sur le contenu ou les réglages
- Utile aussi pour les imports et les sauvegardes lourdes
Inconvénients
- Masque une consommation anormale au lieu de la corriger
- Souvent plafonné par l’hébergeur mutualisé
- Un site lourd en mémoire reste lent pour les visiteurs
- Le problème réapparaît dès que le catalogue grossit
Diagnostiquer une erreur 500
0 sur 5 points validés
Cochez au fur et à mesure : votre avancement reste sur cet appareil, rien n’est envoyé et aucun compte n’est nécessaire.
L’erreur 500 est un symptôme, pas une cause. Le journal d’erreurs du serveur contient toujours la vraie raison. Testez le .htaccess en le renommant : à lui seul, il explique une part importante des cas.
Questions fréquentes
Quelle différence entre une erreur 500 et une erreur critique WordPress ?
L’erreur critique est gérée par WordPress, qui affiche un message et envoie un courriel. L’erreur 500 vient du serveur, souvent avant même que WordPress ne démarre : aucun courriel n’est envoyé, et le message reste générique.
Mon hébergeur ne me donne pas accès aux journaux.
Demandez-les au support : ils y ont accès et les transmettent généralement sans difficulté. En attendant, activez WP_DEBUG_LOG, qui capture les erreurs survenant après le chargement de WordPress.
Le site fonctionne mais l’administration renvoie une 500.
Cela oriente vers une extension active uniquement côté administration, ou vers un dépassement de mémoire sur une page lourde. Testez en renommant le dossier des extensions : si l’administration revient, réactivez-les une par une.
Sources et vérifications
Causes classées par fréquence sur les dépannages que j’ai réalisés. Les valeurs de permissions correspondent aux recommandations officielles de WordPress.
Décrivez votre situation en quelques lignes. Réponse sous 24 heures, sans engagement ni relance commerciale.