Guide WordPress

Erreur 500 WordPress : diagnostic et solutions

📅 Publié le 15 mai 2026 ⏱ Lecture 7 min ✍️ iLLico Presto
HM
Hisham Maghraoui
Fondateur d'iLLico Presto · Expert WordPress depuis 2012
Plus de 14 ans d'expérience sur WordPress (du WP 3.0 aux dernières versions FSE). Spécialisé en récupération de sites piratés, audit sécurité et performance WooCommerce.

L'erreur HTTP 500 (Internal Server Error) est l'erreur la plus angoissante en WordPress : elle ne dit rien sur ce qui ne va pas. Le navigateur affiche juste "Le serveur a rencontré une erreur" et votre site est totalement inaccessible. Dans 90 % des cas, la cause est identifiable en 5 minutes avec la bonne méthode. Ce guide passe en revue les 7 causes les plus fréquentes, par ordre de probabilité, avec leur solution exacte.

Votre site est en panne maintenant ?

Notre équipe intervient sous 24h ouvrées. Diagnostic et correction garantis 30 jours.

Dépannage urgent — 299€
Historique des mises à jour de cet article (3)

Dans ce guide

  1. Comprendre l'erreur 500 en 2 minutes
  2. Activer le debug WordPress en 30 secondes
  3. Cause n°1 : Mémoire PHP épuisée (≈ 35 % des cas)
  4. Cause n°2 : Conflit plugin ou thème (≈ 25 %)
  5. Cause n°3 : Fichier .htaccess corrompu (≈ 15 %)
  6. Cause n°4 : Erreur de connexion à la base de données (≈ 10 %)
  7. Causes secondaires : permissions, PHP, core
  8. Comment éviter les erreurs 500 à l'avenir

1Comprendre l'erreur 500 en 2 minutes

L'erreur HTTP 500, ou Internal Server Error, signifie que le serveur web (Apache, Nginx) a tenté d'exécuter votre site WordPress mais qu'une erreur PHP fatale est survenue. Contrairement à un 404 (page non trouvée) ou un 403 (accès refusé), le serveur est bien fonctionnel — c'est le code PHP de WordPress qui plante.

La particularité du 500 est qu'il masque la vraie cause pour des raisons de sécurité. Le serveur refuse d'afficher au visiteur le détail technique (qui pourrait être exploité par un attaquant) et renvoie ce message générique.

Bonne nouvelle : la vraie cause est presque toujours présente dans le fichier error_log du serveur (côté hébergeur). Y accéder est la première étape de tout diagnostic sérieux.

2Activer le debug WordPress en 30 secondes

Avant de tester des solutions au hasard, activez le mode debug qui transformera votre erreur 500 muette en message explicite. Modifiez le fichier wp-config.php à la racine du site (via FTP / SFTP ou gestionnaire de fichiers de l'hébergeur).

Cherchez la ligne define('WP_DEBUG', false); et remplacez-la par :

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);

Rechargez ensuite la page qui affiche le 500. Une trace d'erreur est désormais écrite dans wp-content/debug.log. Ce fichier vous indiquera précisément la cause :

Important : n'oubliez pas de désactiver WP_DEBUG après diagnostic. Le laisser activé en production expose des chemins de fichiers utiles à un attaquant.
CAS CLIENT · Récit terrain anonymisé

Cas réel — Site immobilier en 500 après mise à jour Yoast, février 2026

Une agence immobilière me contacte un lundi matin : leur site (10 000 visites/jour) est en 500 depuis dimanche soir, après une mise à jour automatique du plugin Yoast SEO Premium. Aucun accès admin possible.

Diagnostic immédiat via SSH : tail -50 /var/log/apache2/error.log révèle "PHP Fatal error: Class WPSEO_Helper not found". Conflit entre la version Premium 22.x et l'extension Local SEO 5.x non encore compatible.

Solution : SSH + désactivation manuelle des 2 plugins via wp plugin deactivate (WP-CLI), accès admin restauré, downgrade Yoast vers la version stable précédente. Temps total : 22 minutes. Coût client : forfait standard 299 €.

Activation du debug WordPress en SSH
$ nano /var/www/wordpress/wp-config.php
... modification ...
$ grep WP_DEBUG /var/www/wordpress/wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
$ tail -f /var/www/wordpress/wp-content/debug.log
[15-May-2026 09:32:11 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 32 bytes) in /wp-includes/cache.php on line 482

3Cause n°1 : Mémoire PHP épuisée (≈ 35 % des cas)

WordPress et ses plugins peuvent rapidement saturer la limite mémoire PHP par défaut (souvent 64M ou 128M). Sur les sites avec WooCommerce, Elementor ou des plugins SEO complexes, la mémoire monte fréquemment à 256M voire 512M.

Solution rapide (à essayer en premier)

Ajoutez dans wp-config.php, juste avant la ligne That's all, stop editing! :

define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Rechargez le site. Si le 500 disparaît, la cause était bien la mémoire. Si l'erreur persiste, votre hébergeur impose probablement une limite côté serveur — il faut alors la modifier dans .htaccess :

php_value memory_limit 512M

Ou dans un fichier php.ini personnalisé selon votre hébergeur.

Comment identifier le plugin gourmand

Une fois le site rétabli, installez Query Monitor (gratuit) qui affiche la consommation mémoire de chaque plugin en bas de page admin. Désactivez puis réactivez chaque plugin un par un en surveillant l'évolution. Vous identifierez le coupable en quelques minutes.

Causes des erreurs 500 WordPress par fréquence (échantillon 140 interventions iLLico Presto, mai 2025 → mai 2026)
CauseFréquenceTemps moyen résolutionSymptôme typique
Mémoire PHP épuisée35 %15 minErreur uniquement sur pages lourdes (admin, e-commerce)
Conflit plugin / thème25 %30-45 minApparition immédiate après une mise à jour
.htaccess corrompu15 %5 minToutes les pages en 500, racine du site incluse
Base de données10 %20-60 minMessage "Error establishing a database connection"
Permissions fichiers7 %5 minAprès transfert FTP ou migration
Version PHP incompatible5 %10 minErreur après changement PHP via panneau hébergeur
Fichiers core corrompus3 %15 minAprès update WordPress interrompue

4Cause n°2 : Conflit plugin ou thème (≈ 25 %)

Un plugin obsolète, un conflit entre 2 plugins, ou un thème mal codé peut déclencher une erreur PHP fatale. Cas typique : après une mise à jour, le site tombe en 500.

Méthode du dichotomie (la plus efficace)

  1. Désactiver tous les plugins en masse : via FTP, renommez le dossier wp-content/plugins/ en plugins_OFF. Si le site revient → c'est un plugin.
  2. Remettre le nom original du dossier puis désactiver les plugins par paquets de 5 depuis l'admin (qui doit être à nouveau accessible).
  3. Réactiver un par un les plugins en rechargeant le site à chaque fois. Celui qui déclenche le 500 est le coupable.

Pour le thème

Si la désactivation de tous les plugins ne suffit pas, basculez sur un thème par défaut (Twenty Twenty-Four) en renommant le dossier de votre thème actif dans wp-content/themes/. WordPress retombe automatiquement sur un thème par défaut.

Astuce pro : avant chaque mise à jour majeure, faites une sauvegarde et testez sur un environnement de staging si disponible. Évite 80 % des erreurs 500 post-update.

5Cause n°3 : Fichier .htaccess corrompu (≈ 15 %)

Le fichier .htaccess à la racine contient les règles de réécriture URL de WordPress. Une corruption (modification manuelle ratée, plugin de cache buggé, mise à jour interrompue) le rend illisible par Apache → erreur 500.

Solution

  1. Connectez-vous en FTP / SFTP
  2. Renommez .htaccess en .htaccess.old
  3. Rechargez le site — si ça fonctionne, le fichier était corrompu
  4. Régénérez un .htaccess propre depuis WordPress : Réglages → Permaliens → Enregistrer les modifications

Contenu standard d'un .htaccess WordPress sain

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{{REQUEST_FILENAME}} !-f
RewriteCond %{{REQUEST_FILENAME}} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

6Cause n°4 : Erreur de connexion à la base de données (≈ 10 %)

Si le message exact est "Error establishing a database connection", ce n'est techniquement pas un 500 mais souvent rangé dans la même catégorie. La base MySQL ne répond plus.

Vérifications à faire dans l'ordre

  1. Identifiants dans wp-config.php : DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. L'hébergeur a-t-il modifié quelque chose ?
  2. Serveur MySQL en panne : contactez l'hébergeur ou vérifiez le statut sur leur page d'incidents.
  3. Quota disque dépassé : si la base est pleine, MySQL refuse les écritures. Cleanup des révisions / commentaires spam.
  4. Tables corrompues : essayez de réparer via phpMyAdmin (sélectionner toutes les tables → Réparer la table).
  5. WordPress propose une réparation automatique : ajoutez dans wp-config.php :
    define('WP_ALLOW_REPAIR', true);
    Puis allez sur votre-site.fr/wp-admin/maint/repair.php

7Causes secondaires : permissions, PHP, core

Cause n°5 : Permissions de fichiers incorrectes (≈ 7 %)

Des permissions trop restrictives (ou trop ouvertes) empêchent Apache de lire les fichiers PHP. Standards corrects :

Via SSH :

find . -type d -exec chmod 755 {{}} \;
find . -type f -exec chmod 644 {{}} \;

Cause n°6 : Version PHP incompatible (≈ 5 %)

WordPress 6.4+ requiert PHP 7.4 minimum (recommandé 8.1+). Si votre hébergeur tourne encore sur PHP 7.0 ou 7.2, certains plugins modernes plantent. Changez la version PHP dans le panneau hébergeur.

À l'inverse, un PHP trop récent (8.3) peut casser un thème ancien. Tester de revenir en 8.1 si rien d'autre ne fonctionne.

Cause n°7 : Fichiers core WordPress corrompus (≈ 3 %)

Mise à jour interrompue, transfert FTP raté : les fichiers core sont incomplets. Solution :

  1. Téléchargez la version officielle de WordPress sur fr.wordpress.org
  2. Écrasez les dossiers /wp-admin/ et /wp-includes/ intégralement
  3. Écrasez tous les fichiers à la racine SAUF wp-config.php et le dossier wp-content/
CAS CLIENT · Récit terrain anonymisé

Cas réel — E-commerce de vins, erreur 500 intermittente, novembre 2025

Le client signale des erreurs 500 aléatoires sur sa boutique WooCommerce, en pic vers 14h-15h. WP Admin accessible, frontend instable selon les pages.

Le piège classique : ce n'était pas un bug du code mais un dépassement de la memory_limit PHP à 256M lors du traitement de variations produits complexes. Le serveur tuait le process PHP pendant les pics d'affluence.

Solution : passage à 768M en mémoire, optimisation de la requête de variations, mise en place de Redis Object Cache. Les 500 ont disparu. Au-delà de cette intervention, j'ai conseillé un upgrade serveur pour Black Friday.

8Comment éviter les erreurs 500 à l'avenir

Questions fréquentes

Comment savoir exactement quelle erreur PHP cause mon 500 ?
Activez le debug WordPress en ajoutant define('WP_DEBUG', true); et define('WP_DEBUG_LOG', true); dans wp-config.php. Une trace détaillée apparaîtra dans wp-content/debug.log. Sinon, demandez à votre hébergeur l'accès au fichier error_log du serveur — il contient TOUS les détails techniques.
L'erreur 500 affecte-t-elle mon référencement Google ?
Si l'erreur dure moins de 24h, l'impact SEO est nul. Au-delà, Google peut commencer à désindexer les pages indisponibles. À 7 jours d'erreur 500, on parle d'un impact significatif sur le ranking. Réagir rapidement est crucial.
Mon hébergeur peut-il résoudre une erreur 500 ?
Le support hébergeur peut vous dire si le serveur tourne, si MySQL est dispo, et vous donner accès aux logs. En revanche, ils ne vont généralement pas debugger votre code WordPress, vos plugins ou votre thème — c'est hors périmètre de leur support.
L'erreur 500 vient-elle de mon hébergement bas de gamme ?
Pas systématiquement. Les hébergeurs mutualisés bas de gamme limitent la mémoire à 64M ou 128M et bloquent certaines fonctions PHP — ce qui explique des 500 fréquents. Migrer vers un hébergement WordPress dédié (o2switch, Kinsta) règle souvent le problème de fond.
Puis-je tomber en 500 à cause d'un piratage ?
Oui, indirectement : un piratage peut injecter du code PHP cassé ou consommer toute la mémoire du serveur via un cryptominer, déclenchant une 500. Si vous ne trouvez pas de cause technique, un scan Wordfence ou Sucuri en mode complet s'impose.
Combien de temps pour réparer une erreur 500 par un expert ?
Avec un diagnostic correct (debug log activé), un professionnel WordPress résout 80 % des erreurs 500 en moins d'1 heure. Les 20 % restants (corruption profonde, conflit complexe de plusieurs plugins) peuvent demander 2 à 4 heures.
Faut-il réinstaller WordPress après une erreur 500 ?
Rarement. Sauf si le diagnostic indique des fichiers core corrompus (Parse error, fichier manquant), la réinstallation n'est pas nécessaire. Une mauvaise réinstallation peut même aggraver les choses en écrasant des personnalisations.

Besoin d'un expert pour intervenir tout de suite ?

Notre équipe française réalise diagnostic et correction sous 24h ouvrées, avec garantie satisfait ou remboursé 30 jours.

Commander une intervention — 299€