
L'erreur 500 signifie que le serveur n'a pas pu générer la page, sans dire pourquoi. La cause se trouve dans le journal d'erreurs du serveur ou de WordPress. Les plus fréquentes : un fichier .htaccess corrompu, une limite de mémoire PHP atteinte, une extension ou un thème en conflit, une version de PHP incompatible ou de mauvais droits sur les fichiers.
Sommaire
« 500 Internal Server Error » : avec une erreur 500, votre site WordPress affiche une page blanche ou un message générique, et l’administration est parfois inaccessible elle aussi. L’erreur 500 est frustrante parce qu’elle ne dit rien de sa cause : elle signifie seulement que le serveur n’a pas réussi à générer la page. Elle se répare pourtant presque toujours, à condition de chercher méthodiquement. Voici l’ordre que je suis quand un client m’appelle pour ce problème.
Erreur 500 ou « erreur critique » : quelle différence ?
Depuis la version 5.2, WordPress intercepte la plupart des erreurs PHP fatales et affiche « Il y a eu une erreur critique sur ce site ». Si vous voyez ce message, suivez plutôt mon guide sur l’erreur critique WordPress. Une véritable erreur 500 survient souvent avant que WordPress ait pu prendre la main : configuration du serveur, fichier .htaccess, limites de PHP ou droits sur les fichiers. C’est pour cela qu’il faut chercher au niveau du serveur.
Étape 0 : sauvegarder avant de modifier
Avant toute manipulation, faites une copie des fichiers que vous allez modifier et, si possible, une sauvegarde complète depuis l’espace de votre hébergeur. Une erreur 500 se répare ; une erreur 500 aggravée par des fichiers supprimés au hasard prend beaucoup plus de temps.
Étape 1 : lire le journal d’erreurs
C’est l’étape qui fait gagner le plus de temps. La plupart des hébergeurs donnent accès au journal d’erreurs du serveur (error log) dans leur espace client. Cherchez les lignes qui correspondent à l’heure de vos tests : elles indiquent souvent le fichier et la ligne en cause.
Vous pouvez aussi activer le journal de WordPress dans le fichier wp-config.php, juste au-dessus de la ligne « C’est tout, ne touchez pas à ce qui suit » :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Les erreurs sont alors écrites dans wp-content/debug.log, sans être affichées aux visiteurs. Pensez à désactiver ces lignes une fois le problème réglé.
Étape 2 : vérifier les causes les plus fréquentes
1. Un fichier .htaccess corrompu
Une extension de cache, de sécurité ou de redirection peut écrire une règle invalide dans le fichier .htaccess, à la racine du site. Renommez-le (par exemple en .htaccess-old) et rechargez le site. S’il revient, régénérez un fichier propre depuis Réglages → Permaliens → Enregistrer, puis réintégrez une à une les règles utiles.
2. La limite de mémoire PHP atteinte
Une page lourde, une importation ou une extension gourmande peut dépasser la mémoire allouée à PHP. Le journal affiche alors « Allowed memory size exhausted ». La limite se règle dans l’espace de l’hébergeur ou dans wp-config.php avec WP_MEMORY_LIMIT, dans la limite de ce que l’offre autorise. Si la mémoire doit sans cesse augmenter, il faut chercher l’extension qui la consomme.
3. Une extension ou le thème en conflit
Si l’erreur est apparue après une mise à jour ou une installation, c’est le suspect numéro un. Sans accès à l’administration, renommez le dossier wp-content/plugins par FTP : toutes les extensions sont désactivées. Si le site revient, redonnez son nom au dossier puis désactivez les extensions une par une pour trouver la coupable. Même principe pour le thème, en revenant temporairement à un thème par défaut.
4. Une version de PHP incompatible
Un changement de version de PHP par l’hébergeur, ou un passage manuel trop rapide, peut faire tomber un thème ou une extension ancienne. Revenir temporairement à la version précédente remet le site en ligne ; il faut ensuite corriger le code incompatible plutôt que rester sur une version qui ne reçoit plus de correctifs.
5. De mauvais droits sur les fichiers
Après une migration ou une restauration, des droits trop larges ou trop restrictifs peuvent provoquer une erreur 500 sur certains serveurs. La règle habituelle : 755 pour les dossiers, 644 pour les fichiers, et un wp-config.php plus restreint. Ne passez jamais tout en 777 : cela ouvre une faille de sécurité sans régler le problème.
6. Un délai d’exécution dépassé ou une limite du serveur
Une tâche longue (importation, sauvegarde, génération d’images) peut dépasser le temps maximal accordé à PHP. Un pare-feu applicatif côté hébergeur peut aussi bloquer certaines requêtes et renvoyer une erreur 500. Le journal du serveur et le support de l’hébergeur permettent de le confirmer.
Étape 3 : vérifier que tout fonctionne
Une fois le site revenu, testez les pages principales, l’administration, les formulaires et, pour une boutique, une commande complète. Désactivez le mode débogage, supprimez le fichier debug.log s’il est accessible publiquement et notez la cause : si elle revient, vous gagnerez un temps précieux.
Comment éviter que l’erreur 500 revienne
- Faites les mises à jour sur une copie de test, ou au moins après une sauvegarde récente.
- Évitez d’empiler des extensions qui font la même chose, surtout pour le cache et la sécurité.
- Suivez les versions de PHP proposées par votre hébergeur et préparez les changements.
- Faites surveiller le site : une maintenance mensuelle détecte une panne avant vos clients.
Si l’erreur touche plusieurs sites hébergés sur le même serveur, le problème vient probablement du serveur lui-même : configuration, espace disque plein ou service arrêté. Dans ce cas, c’est un dépannage serveur qu’il faut.
Questions fréquentes
L’erreur 500 peut-elle venir d’un piratage ?
Oui, c’est possible : un fichier modifié par un pirate peut contenir du code invalide ou une règle .htaccess malveillante. Si le journal pointe vers des fichiers inconnus ou si des redirections suspectes apparaissent, traitez le problème comme une infection, pas comme une simple panne : voir site WordPress piraté, que faire.
Mon site affiche l’erreur 500 seulement de temps en temps, pourquoi ?
Une erreur intermittente vient souvent d’une limite atteinte aux heures de forte affluence : mémoire, nombre de processus PHP ou délai d’exécution. Le journal d’erreurs, comparé aux horaires des pannes, permet de le confirmer.
Vais-je perdre mes contenus ?
Non. L’erreur 500 empêche l’affichage, mais vos articles, pages et commandes restent dans la base de données. C’est justement pour cela qu’il ne faut jamais réinstaller WordPress dans la précipitation.


