Votre site web affiche une page blanche avec le message « HTTP Error 500 » ? Pas de panique, c’est une erreur serveur courante.
Ce guide vous explique comment identifier la cause et corriger le problème pas à pas.
Qu’est-ce que l’erreur 500 Internal Server Error ?
L’erreur 500, aussi appelée « Internal Server Error », est un message générique. Il indique que le serveur qui héberge votre site web a rencontré un problème inattendu et ne peut pas afficher la page demandée.
C’est une erreur dite « côté serveur ». Le souci ne vient pas de votre ordinateur ou de votre connexion internet, mais bien de la machine qui fait fonctionner le site. Contrairement à une erreur 404 (page non trouvée), l’erreur 500 signifie que le serveur a bien reçu la requête mais qu’un bug l’empêche de la traiter.
Le principal problème de cette « erreur interne du serveur » est qu’elle est vague. Le message ne dit pas d’où vient le problème exactement. C’est un peu comme si votre voiture ne démarrait pas et que le tableau de bord affichait juste « Panne moteur », sans plus de détails. Votre travail va être de trouver l’origine de cette panne.
Vous pouvez voir cette erreur sous plusieurs formes :
- 500 Internal Server Error
- HTTP Error 500
- Internal Server Error
- Erreur 500 HTTP
- Erreur interne du serveur
Quelles sont les causes fréquentes de l’erreur 500 ?
Plusieurs problèmes peuvent causer une erreur 500. Il faut vérifier les suspects habituels un par un. Voici les causes les plus courantes qui expliquent pourquoi votre site web ne répond plus.
- Fichier .htaccess mal configuré : Ce fichier gère des règles importantes pour le serveur. Une simple faute de syntaxe ou une directive incorrecte peut bloquer tout le site.
- Conflit de plugins ou de thèmes : C’est une cause très fréquente, surtout sur les CMS comme WordPress. Un plugin mal codé, pas à jour ou incompatible avec un autre peut faire planter le serveur.
- Permissions de fichiers incorrectes : Si les permissions des fichiers et des dossiers de votre site ne sont pas bien réglées, le serveur peut refuser de les lire. C’est une mesure de sécurité qui peut causer une erreur 500.
- Limite de mémoire PHP atteinte : Certains scripts ou plugins ont besoin de plus de mémoire vive pour fonctionner que ce que le serveur leur alloue. Quand cette limite est dépassée, le script s’arrête et provoque une erreur serveur.
- Version de PHP incompatible : Un thème ou un plugin peut ne pas être compatible avec la version de PHP utilisée par votre serveur.
- Fichiers du CMS corrompus : Une mise à jour qui a mal tourné ou un transfert de fichiers interrompu peut corrompre les fichiers de base de votre site (par exemple sur WordPress ou PrestaShop).
- Erreurs dans le code : Une erreur de programmation directement dans le code du site ou d’un plugin est une cause classique de l’erreur « internal server error ».
- Problème de connexion à la base de données : Si les informations de connexion à la base de données sont fausses, le site ne peut pas récupérer le contenu et le serveur renvoie une erreur.
- Timeout de script : Un script qui met trop de temps à s’exécuter (par exemple pour importer un gros fichier) peut être arrêté par le serveur, ce qui génère une erreur 500.
- Problème chez l’hébergeur : Plus rarement, l’erreur peut venir directement d’un problème de maintenance ou de configuration sur le serveur de votre hébergeur web.
Comment corriger l’erreur 500 ? Les 5 étapes à suivre
Pour résoudre le problème, il faut procéder avec méthode. Suivez ces étapes dans l’ordre pour identifier et corriger la cause de l’erreur 500 sur votre site.
1. Consulter les journaux (logs) du serveur
La première chose à faire est de regarder les journaux d’erreurs, aussi appelés « logs ». C’est un fichier où le serveur note tout ce qui se passe, y compris les messages d’erreur détaillés. C’est souvent là que vous trouverez la cause exacte du problème.
Vous pouvez accéder à ces logs via le panneau de contrôle de votre hébergeur (comme cPanel). Cherchez les sections « Logs », « Journaux d’erreurs » ou « Error Logs ». Vous devez regarder deux types de logs principaux :
- Les logs Apache : Ils enregistrent les erreurs générales du serveur.
- Les logs PHP : Ils détaillent les erreurs liées à l’exécution du code PHP.
Le message d’erreur dans les logs vous indiquera souvent quel fichier ou quel script est à l’origine du problème. Si vous utilisez un outil de crawl comme Screaming Frog, vous pouvez aussi l’utiliser pour lister toutes les pages de votre site qui renvoient une erreur 500.
2. Vérifier le fichier .htaccess
Le fichier `.htaccess` est un fichier de configuration puissant. Une seule erreur dedans et c’est tout votre site qui tombe. Pour savoir si le problème vient de là, la méthode est simple.
Connectez-vous à votre site via FTP ou le gestionnaire de fichiers de votre hébergeur. Trouvez le fichier `.htaccess` (il se trouve à la racine de votre site) et renommez-le temporairement, par exemple en `.htaccess_old`.
Essayez ensuite d’accéder à nouveau à votre site. Si l’erreur 500 a disparu, c’est que le problème venait bien de ce fichier. Il vous faudra alors en créer un nouveau, propre, ou corriger la ligne qui posait problème dans l’ancien.
Attention : Sur WordPress, allez dans « Réglages » > « Permaliens » et cliquez sur « Enregistrer les modifications » pour générer un nouveau fichier .htaccess propre automatiquement.
3. Gérer les plugins et les thèmes
Sur les CMS comme WordPress, les conflits de plugins sont l’une des causes les plus fréquentes d’erreur 500. Pour identifier le coupable, il faut les désactiver.
Si vous avez encore accès à votre administration, allez dans la section « Extensions » et désactivez tous les plugins. Si vous n’y avez plus accès, vous devez le faire via FTP :
- Connectez-vous à votre serveur.
- Allez dans le dossier `wp-content`.
- Renommez le dossier `plugins` en `plugins_old`.
Cette action désactive tous les plugins de votre site. Rechargez la page. Si l’erreur a disparu, vous savez que le problème vient d’un plugin. Pour trouver lequel, renommez le dossier `plugins_old` en `plugins`, puis réactivez-les un par un depuis votre administration, en rechargeant la page à chaque fois. Quand l’erreur 500 réapparaît, vous avez trouvé le plugin responsable.
4. Corriger les permissions de fichiers
Des permissions de fichiers ou de dossiers incorrectes peuvent empêcher le serveur d’y accéder. Les permissions définissent qui a le droit de lire, d’écrire ou d’exécuter un fichier.
Les permissions correctes sont généralement :
- 755 pour les dossiers (répertoires).
- 644 pour les fichiers.
Vous pouvez vérifier et modifier ces permissions via un client FTP ou le gestionnaire de fichiers de votre hébergeur. Faites un clic droit sur un fichier ou un dossier et cherchez une option comme « Permissions des fichiers » ou « CHMOD ». Assurez-vous que les valeurs sont correctes, surtout pour les dossiers principaux de votre CMS.
5. Augmenter la limite de mémoire PHP
Si votre site a besoin de plus de ressources que ce que le serveur autorise, cela peut déclencher une erreur « Internal Server Error ». C’est souvent le cas avec des plugins gourmands ou des scripts complexes.
Pour résoudre ce problème, il faut augmenter la limite de mémoire PHP. Il y a plusieurs façons de le faire :
- Via le fichier `php.ini` : Si vous avez accès à ce fichier, cherchez la ligne `memory_limit` et augmentez sa valeur (par exemple `memory_limit = 256M`).
- Via le fichier `.htaccess` : Ajoutez la ligne `php_value memory_limit 256M` à votre fichier `.htaccess`.
- Via le panneau de votre hébergeur : De nombreux hébergeurs, comme ceux utilisant cPanel, proposent une interface pour modifier la version de PHP et ses paramètres, dont la limite de mémoire.
Commencez par une valeur comme 128M ou 256M. Cela suffit dans la plupart des cas à résoudre les problèmes de mémoire.
Comment prévenir l’apparition d’une erreur 500 ?
Corriger une erreur 500, c’est bien. L’éviter, c’est mieux. Une bonne hygiène de maintenance de votre site web permet de réduire fortement les risques. Voici quelques bonnes pratiques à adopter.
Adopter de bonnes pratiques de codage
Si vous développez des thèmes ou des plugins, la qualité du code est primordiale. Utilisez des outils de débogage comme Xdebug pour tester votre code avant de le mettre en ligne. Assurez-vous aussi d’utiliser des versions stables des frameworks et des bibliothèques que vous intégrez.
Assurer une maintenance et des mises à jour régulières
La plupart des problèmes viennent de composants obsolètes. Prenez l’habitude de :
- Mettre à jour régulièrement votre CMS, vos plugins et vos thèmes.
- Utiliser une version de PHP récente et stable.
- Vérifier les logs de temps en temps, même si tout semble fonctionner.
Surveiller la santé du serveur
Gardez un œil sur les ressources de votre serveur d’hébergement. Surveillez l’utilisation de la mémoire (RAM) et du processeur (CPU). Si vous voyez que votre site atteint souvent les limites, il est peut-être temps de passer à une offre d’hébergement plus puissante.
La pratique la plus importante : faites des sauvegardes régulières et complètes de votre site (fichiers et base de données). Si une erreur 500 survient, vous pourrez toujours restaurer une version fonctionnelle rapidement.
Comprendre les autres erreurs serveur de la famille 5xx
L’erreur 500 est la plus connue, mais il existe d’autres erreurs de la même famille qui indiquent aussi un problème côté serveur. Les connaître peut vous aider à affiner votre diagnostic.
- Erreur 502 Bad Gateway : Elle signifie que le serveur a agi comme un intermédiaire et a reçu une réponse invalide d’un autre serveur en amont. C’est un problème de communication entre deux serveurs.
- Erreur 503 Service Unavailable : Ce code indique que le serveur est temporairement incapable de traiter la requête. C’est souvent le cas lors d’une maintenance planifiée ou d’une surcharge de trafic. La page devrait revenir plus tard.
- Erreur 504 Gateway Timeout : Elle apparaît quand un serveur n’a pas reçu de réponse à temps d’un autre serveur dont il dépendait pour afficher la page. Le délai d’attente est dépassé.
Que faire si le problème persiste ?
Vous avez suivi toutes les étapes mais votre site affiche toujours une erreur 500 ? Il est possible que le problème soit plus complexe ou qu’il se situe directement au niveau de l’infrastructure de votre hébergeur.
Dans ce cas, la dernière solution est de contacter le support technique de votre hébergeur. C’est leur travail de s’assurer que leurs serveurs fonctionnent correctement.
Pour être efficace, préparez les informations suivantes avant de les appeler ou de leur envoyer un message :
- Le nom de votre site web.
- Le message d’erreur exact qui s’affiche.
- L’heure à laquelle le problème a commencé.
- La liste des actions que vous avez déjà effectuées pour essayer de résoudre le problème.
Plus vous leur donnerez de détails, plus ils pourront vous aider rapidement à trouver l’origine de l’erreur.
