Aller au contenu

Guide

Erreur 500 (Internal Server Error) : causes et solutions

Que signifie l’erreur 500, que faire en tant que visiteur, et comment la diagnostiquer et la corriger sur un serveur ou un site WordPress.

L’erreur 500, ou « 500 Internal Server Error », signifie que le serveur a rencontré un problème inattendu qui l’empêche de répondre. C’est un message générique : il indique que la panne vient du site et non de votre connexion, sans dire précisément ce qui ne va pas. Voici ce qu’elle veut dire, ce que vous pouvez faire en tant que visiteur, et comment la diagnostiquer puis la corriger si vous gérez le site.

Que signifie le code erreur 500 ?

Les codes HTTP qui commencent par 5 signalent une erreur côté serveur. Le code 500 est le plus général d’entre eux : la norme HTTP le définit comme une « condition inattendue » qui empêche le serveur de traiter la requête. Le serveur l’utilise quand aucun code plus précis ne s’applique, par exemple quand un script plante.

Selon le site, le message varie : « HTTP ERROR 500 », « Internal Server Error », « Erreur interne du serveur », « Cette page ne fonctionne pas »… ou une page blanche.

Vous êtes visiteur : que faire ?

  • Actualisez la page après quelques secondes : l’erreur est parfois passagère, pendant une mise à jour ou un pic de trafic.
  • Revenez plus tard : le problème vient du site, qui doit le corriger de son côté.
  • Videz le cache du navigateur ou essayez en navigation privée, rarement utile mais sans risque.
  • Prévenez le site si l’erreur persiste, en indiquant l’adresse de la page et l’heure.

Une erreur 500 sur le site de votre opérateur (Bouygues, SFR, Orange, Free) ou d’un service en ligne relève de la même logique : leurs équipes doivent intervenir, inutile de modifier votre ordinateur ou votre box.

Vous gérez le site : les causes fréquentes

Cause Indice
Erreur fatale PHP (code, extension, thème) L’erreur apparaît après une mise à jour ou l’ajout d’une extension.
Fichier .htaccess invalide Tout le site est en erreur ; le journal Apache signale une directive inconnue ou invalide.
Limite de mémoire PHP atteinte Message « Allowed memory size exhausted » dans les journaux.
Version de PHP incompatible L’erreur suit un changement de version de PHP chez l’hébergeur.
Droits de fichiers incorrects Fichiers ou dossiers en 777, ou appartenant au mauvais utilisateur.
Délai d’exécution dépassé L’erreur survient sur des pages lourdes (import, export, rapports).

Diagnostiquer : commencer par les journaux

Le message affiché au visiteur est volontairement vague ; la cause exacte se trouve dans les journaux d’erreurs du serveur. Sur un hébergement mutualisé, ils sont accessibles depuis le panneau de gestion (souvent un fichier error_log à la racine du site). Sur un VPS ou un serveur dédié, consultez :

  • le journal d’erreurs du serveur web : /var/log/apache2/error.log ou /var/log/nginx/error.log sur Debian et Ubuntu ;
  • le journal de PHP-FPM, selon la version installée ;
  • les journaux de l’application elle-même.

La commande tail -f /var/log/nginx/error.log affiche les nouvelles lignes en direct pendant que vous rechargez la page en erreur.

Corriger une erreur 500 sur WordPress

  1. Activer le mode débogage : dans wp-config.php, passez WP_DEBUG à true et ajoutez define( 'WP_DEBUG_LOG', true ); pour écrire les erreurs dans wp-content/debug.log sans les afficher aux visiteurs.
  2. Désactiver les extensions : par FTP, renommez le dossier wp-content/plugins, puis réactivez les extensions une à une pour trouver la fautive.
  3. Tester le thème par défaut en renommant le dossier du thème actif.
  4. Régénérer le .htaccess : renommez-le, puis enregistrez à nouveau les réglages des permaliens.
  5. Augmenter la mémoire si les journaux le demandent, avec define( 'WP_MEMORY_LIMIT', '256M' ); dans la limite autorisée par l’hébergeur.

Sur PrestaShop, le mode débogage s’active dans le fichier config/defines.inc.php en passant _PS_MODE_DEV_ à true : la page affiche alors l’erreur exacte au lieu du code 500.

Corriger les autres causes

  • Droits de fichiers : 644 pour les fichiers et 755 pour les dossiers conviennent à la plupart des sites PHP. Notre calculateur chmod explique ces valeurs.
  • Version de PHP : revenez à la version précédente le temps de mettre à jour l’application.
  • Ressources insuffisantes : si les erreurs coïncident avec les pics de trafic, le serveur manque peut-être de mémoire ou de processus PHP. Voir combien de RAM pour un serveur et serveur dédié ou VPS.

Erreur 500 et référencement

Google traite les erreurs 5xx comme un signe de serveur en difficulté : il ralentit l’exploration du site, et des pages qui renvoient durablement une erreur peuvent sortir de l’index. Une erreur de quelques minutes n’a pas de conséquence ; une erreur de plusieurs jours doit être corrigée en priorité. Pour une maintenance programmée, renvoyez plutôt un code 503.

Erreur 500 ou autre erreur 5xx ?

Code Signification
500 Internal Server Error Erreur interne générique.
502 Bad Gateway Un serveur intermédiaire a reçu une réponse invalide.
503 Service Unavailable Serveur indisponible pour le moment (surcharge, maintenance).
504 Gateway Timeout Un serveur intermédiaire n’a pas reçu de réponse à temps.

La liste complète est présentée dans notre page codes d’erreur HTTP.

Sources