Site Down : Erreur 500, Erreur critique – Que faire en cas de panne ?
L’erreur 500 (Internal Server Error) signifie que le serveur n’a pas réussi à traiter la demande, sans préciser pourquoi. Dans la grande majorité des cas, elle vient d’un fichier .htaccess corrompu, d’une extension ou d’un thème défectueux, d’une limite de mémoire PHP atteinte, de mauvaises permissions de fichiers ou d’un serveur surchargé. La méthode : lire les journaux d’erreurs, isoler la cause, puis appliquer la correction adaptée.
Rien de plus stressant que de voir son site web afficher une erreur 500 ou une erreur critique ! Ces messages énigmatiques signifient généralement que quelque chose cloche côté serveur, rendant votre site temporairement inaccessible. Pas de panique : ce guide vous aide à comprendre ce qui se passe, à diagnostiquer l’origine du problème et à remettre votre site en ligne rapidement.
Comprendre l’erreur 500 : qu’est-ce que ça signifie ?
L’erreur 500 Internal Server Error est l’un des messages d’erreur les plus frustrants pour les propriétaires de sites web et leurs visiteurs. Contrairement à d’autres erreurs HTTP plus spécifiques (comme l’erreur 404 Not Found, qui indique qu’une page est introuvable), l’erreur 500 est un message générique qui signifie simplement qu’un problème s’est produit du côté du serveur, sans donner plus d’explications.
C’est un signal d’alerte indiquant que quelque chose empêche le serveur d’exécuter une requête correctement. Cela peut être causé par un problème de configuration, un script défectueux, une surcharge serveur ou une erreur au niveau du fichier .htaccess.
Quelques variantes de l’erreur 500 et leurs significations
En fonction du contexte et du type d’hébergement utilisé, vous pouvez rencontrer différentes variantes de l’erreur 500 :
| Code | Ce que ça signifie | Impact |
|---|---|---|
| 500 Internal Server Error | Le serveur rencontre une erreur interne mais ne précise pas la cause exacte. Cela peut être dû à un problème de script PHP, une configuration incorrecte ou un conflit entre extensions sur WordPress. | Votre site devient temporairement inaccessible à vos visiteurs et aux moteurs de recherche. |
| 502 Bad Gateway | Le serveur a reçu une réponse invalide de la part d’un autre serveur en amont. Cela se produit souvent avec un proxy, un CDN (comme Cloudflare) ou une configuration multi-serveurs. | Le site peut être ralenti ou inaccessible pendant un certain temps. |
| 503 Service Unavailable | Le serveur n’est pas disponible temporairement, soit en raison d’une surcharge, soit parce qu’il est en maintenance. Cette erreur est souvent volontairement affichée lors des mises à jour système. | Normalement temporaire, mais si elle persiste, elle peut indiquer un problème de ressources serveur. |
| 504 Gateway Timeout | Le serveur met trop de temps à répondre, ce qui entraîne un timeout. En cause : une base de données surchargée, un script trop long à s’exécuter ou des problèmes de connectivité entre serveurs. | L’expérience utilisateur est fortement dégradée, et si l’erreur est fréquente, Google peut considérer votre site comme peu fiable. |
Pourquoi une erreur 500 est-elle un problème sérieux ?
Une erreur 500 n’est pas seulement une gêne technique, elle peut avoir des conséquences importantes sur votre site web et votre activité en ligne :
1. Une perte de trafic
- Les visiteurs ne peuvent plus accéder à votre contenu, ce qui augmente le taux de rebond.
- Si l’erreur persiste, Google peut désindexer certaines pages, entraînant une chute de votre référencement naturel (SEO).
2. Une mauvaise image de marque
- Un site en panne envoie un signal négatif aux utilisateurs, qui peuvent perdre confiance en votre entreprise.
- Un site qui plante souvent peut être perçu comme peu fiable, ce qui nuit à votre réputation.
3. Une perte de revenus
- Pour un site e-commerce, chaque minute d’indisponibilité représente une perte potentielle de ventes.
- Pour un site vitrine, un bug persistant peut dissuader des prospects de vous contacter.
Exemple concret : Amazon a subi une panne de 40 minutes en 2018, ce qui lui a fait perdre près de 100 millions de dollars en ventes. Bien sûr, votre site n’a peut-être pas la même ampleur, mais chaque minute d’arrêt peut coûter cher, en visibilité et en opportunités commerciales.
L’erreur 500 et ses variantes sont des signaux d’alerte critiques qui ne doivent pas être ignorés. Elles peuvent être causées par de simples erreurs de configuration ou des problèmes plus complexes liés au serveur. Une réaction rapide est essentielle pour éviter des pertes de trafic, protéger votre SEO et assurer une bonne expérience utilisateur.
Dans la suite de cet article, nous verrons comment diagnostiquer et corriger ces erreurs pour remettre votre site en ligne rapidement.
Site en panne, piraté ou bloqué ? Uniweb intervient sur les sites WordPress, Drupal et PrestaShop : diagnostic, réparation et sécurisation. Découvrez notre offre de dépannage de site internet.
Causes courantes des erreurs 500 : pourquoi votre site est en panne ?
L’erreur 500 Internal Server Error peut avoir de nombreuses origines. Pour la résoudre efficacement, il est crucial d’en identifier la cause. Voici les raisons les plus fréquentes de cette panne et comment elles peuvent impacter votre site.
1. Problèmes avec le fichier .htaccess
Pourquoi c’est un problème ? Le fichier .htaccess est un fichier de configuration essentiel sur les serveurs Apache. Il permet de gérer :
- les redirections (301, 302) ;
- la réécriture d’URL (mod_rewrite) ;
- les règles de sécurité et d’accès aux fichiers.
Une erreur de syntaxe ou une règle incorrecte dans ce fichier peut empêcher le serveur d’exécuter correctement les requêtes, entraînant une erreur 500.
Comment vérifier ?
- Accédez à votre serveur via FTP ou cPanel.
- Localisez le fichier .htaccess (à la racine du site).
- Renommez-le en .htaccess_old puis rechargez votre site.
- Si l’erreur disparaît, recréez un .htaccess propre en copiant ce code de base pour WordPress :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Solution : vérifiez toujours vos modifications avant de les enregistrer dans .htaccess et utilisez un validateur de syntaxe Apache.
2. Scripts PHP mal codés ou défectueux
Pourquoi c’est un problème ? Un script PHP contenant une erreur de syntaxe ou une boucle infinie peut provoquer un crash du serveur, entraînant une erreur 500. Cela peut arriver après :
- une mise à jour d’un plugin ou d’un thème WordPress ;
- une modification manuelle d’un fichier PHP ;
- l’ajout d’un nouveau script avec un conflit de dépendances.
Comment vérifier ?
- Accédez aux logs d’erreur du serveur via cPanel ou FTP (error_log).
- Recherchez le dernier fichier PHP modifié avant l’apparition de l’erreur.
- Activez le mode débogage WordPress en ajoutant ceci dans wp-config.php :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
Solution : si une erreur de syntaxe est détectée, corrigez-la immédiatement et testez votre site après chaque modification.
3. Plugins ou thèmes défectueux (WordPress)
Pourquoi c’est un problème ? Un plugin mal codé ou incompatible avec votre version de WordPress peut planter votre site entier. Cela arrive souvent après une mise à jour automatique ou l’installation d’un plugin non testé.
Comment vérifier ?
- Désactivez tous les plugins en renommant le dossier /wp-content/plugins/ en /plugins_old/ via FTP.
- Si votre site fonctionne à nouveau, réactivez les plugins un par un pour identifier le coupable.
- Faites la même chose avec votre thème (/wp-content/themes/).
Solution : une fois le plugin ou le thème problématique trouvé, mettez-le à jour, remplacez-le par une version stable ou désinstallez-le.
4. Problèmes de permissions de fichiers
Pourquoi c’est un problème ? Les fichiers et dossiers de votre site doivent avoir les bonnes permissions pour que le serveur puisse les exécuter correctement.
Comment vérifier ? Utilisez un client FTP ou cPanel et vérifiez les permissions :
| Élément | Permission recommandée |
|---|---|
| Fichiers PHP | 644 |
| Dossiers | 755 |
| À ne jamais faire | 777 sur les fichiers : cela donne un accès total et peut ouvrir des failles de sécurité |
Solution :
- Si les permissions sont incorrectes, corrigez-les avec un client FTP (clic droit, puis permissions de fichier).
- Exécutez ces commandes SSH pour rétablir les permissions sur un serveur Linux :
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;
5. Surcharge du serveur
Pourquoi c’est un problème ? Un serveur peut être surchargé si trop de visiteurs accèdent à votre site en même temps ou si une tâche en arrière-plan (comme une sauvegarde ou un cron job) consomme trop de ressources.
Comment vérifier ?
- Vérifiez votre consommation CPU et RAM via votre hébergeur.
- Si vous utilisez WordPress, installez Query Monitor pour voir quels scripts consomment le plus de ressources.
- Surveillez Google Analytics pour voir si un pic de trafic correspond à l’erreur 500.
Solution :
- Mettez en cache votre site avec WP Rocket ou LiteSpeed Cache.
- Utilisez un CDN (Cloudflare) pour réduire la charge sur votre serveur.
- Si votre hébergement est insuffisant, envisagez un passage à une offre plus performante.
6. Limite de mémoire PHP atteinte
Pourquoi c’est un problème ? Chaque site a une limite de mémoire PHP définie par l’hébergeur. Si un script consomme trop de mémoire, une erreur 500 peut survenir.
Comment vérifier ?
- Ajoutez cette ligne dans wp-config.php pour voir la mémoire disponible :
echo ini_get('memory_limit');
- Vérifiez les logs d’erreur (error_log) : un message « Allowed memory size exhausted » indique un manque de mémoire.
Solution : augmentez la limite de mémoire en modifiant wp-config.php :
define('WP_MEMORY_LIMIT', '256M');
Ou en ajoutant cette ligne dans .htaccess :
php_value memory_limit 256M
Si le problème persiste, votre hébergeur doit augmenter cette limite manuellement.
En bref : résoudre une erreur 500 commence par identifier sa cause
Si vous rencontrez une erreur 500, commencez par examiner votre fichier .htaccess, vos scripts PHP et vos plugins. Vérifiez ensuite si votre serveur est surchargé ou si vos permissions de fichiers sont incorrectes.
| Cause | Signe dans les logs ou au test | Correction |
|---|---|---|
| .htaccess corrompu | Le site revient quand on renomme le fichier | Recréer un .htaccess propre |
| Script PHP défectueux | « Fatal error » ou « Parse error » dans error_log | Corriger le fichier ou restaurer une version stable |
| Plugin ou thème | Le site revient quand on désactive les plugins | Réactiver un par un, remplacer le coupable |
| Permissions de fichiers | « Permission denied » dans les logs | Fichiers en 644, dossiers en 755 |
| Serveur surchargé | Pic de CPU, de RAM ou de trafic | Cache, CDN, offre d’hébergement supérieure |
| Mémoire PHP insuffisante | « Allowed memory size exhausted » | Passer WP_MEMORY_LIMIT à 256M |
Dans la suite de l’article, nous verrons comment diagnostiquer et appliquer des solutions précises en fonction du type d’erreur 500 rencontré.
Diagnostiquer l’erreur 500 : comment trouver l’origine du problème ?
Avant de pouvoir corriger une erreur 500 Internal Server Error, il est essentiel d’en identifier la cause exacte. Voici les étapes clés pour localiser l’origine du problème et agir efficacement.
1. Vérifier les logs d’erreur du serveur
Pourquoi ? Les logs d’erreur sont comme un journal de bord de votre serveur. Ils enregistrent chaque incident technique, y compris les erreurs PHP, les problèmes de permission et les conflits entre scripts.
Comment vérifier ?
- Via cPanel : allez dans « Metrics » > « Errors ».
- Via FTP ou le gestionnaire de fichiers : recherchez les fichiers error_log dans les dossiers public_html, wp-content ou logs.
- Sur un serveur dédié ou un VPS : accédez aux logs via SSH avec la commande :
tail -n 100 /var/log/apache2/error.log
Que chercher ?
- Un fichier PHP corrompu (Fatal error in /wp-content/plugins/…).
- Une limite de mémoire atteinte (Allowed memory size exhausted).
- Une erreur de permission (Permission denied).
2. Désactiver les plugins et thèmes (pour WordPress)
Pourquoi ? Un plugin ou un thème défectueux peut entrer en conflit avec WordPress et générer une erreur 500.
Comment tester ?
- Désactivez tous les plugins en renommant le dossier /wp-content/plugins/ en /plugins_old/.
- Si le site fonctionne après ça, renommez le dossier en /plugins/ puis réactivez les plugins un par un via le back-office pour identifier le coupable.
- Désactivez le thème actif en renommant /wp-content/themes/votre-theme/. WordPress basculera automatiquement sur un thème par défaut.
Si l’erreur 500 disparaît, supprimez le plugin ou le thème en cause et installez une version stable.
3. Tester le fichier .htaccess
Pourquoi ? Un fichier .htaccess corrompu peut provoquer une erreur 500 en raison d’une mauvaise règle de redirection ou d’une erreur de syntaxe.
Comment tester ?
- Connectez-vous à votre serveur via FTP ou le gestionnaire de fichiers.
- Renommez le fichier .htaccess en .htaccess_old.
- Rechargez votre site.
Si l’erreur disparaît, recréez un fichier .htaccess propre avec le code standard de WordPress présenté plus haut, enregistrez-le et testez votre site.
4. Augmenter la limite de mémoire PHP
Pourquoi ? Si un script PHP consomme plus de mémoire que celle allouée par votre serveur, WordPress peut afficher une erreur 500.
Comment augmenter la mémoire PHP ? Trois emplacements possibles, selon votre hébergement :
| Fichier | Ligne à ajouter |
|---|---|
| wp-config.php (avant la ligne « That’s all, stop editing! ») | define('WP_MEMORY_LIMIT', '256M'); |
| .htaccess | php_value memory_limit 256M |
| php.ini (si votre hébergement le permet) | memory_limit = 256M |
Si l’erreur persiste, votre hébergeur peut avoir une limite de mémoire stricte. Passez à l’étape suivante.
5. Contacter votre hébergeur
Pourquoi ? Si après toutes ces vérifications l’erreur 500 est toujours présente, il est possible que le problème vienne du serveur lui-même.
Quand contacter votre hébergeur ?
- Si vous suspectez une surcharge serveur ou une panne temporaire.
- Si aucun fichier spécifique ne semble en cause dans les logs.
- Si vous n’avez pas accès à certaines configurations comme php.ini ou .htaccess.
Que demander ?
- S’il y a une maintenance en cours.
- Une augmentation de la mémoire PHP si elle est limitée.
- Les logs serveur détaillés pour mieux identifier la source du problème.
Quelles solutions pour résoudre les erreurs 500 ?
Une fois l’origine de l’erreur 500 identifiée, il est temps de la corriger. Voici les solutions adaptées aux causes les plus fréquentes.
1. .htaccess corrompu ? Réinitialisez-le
Pourquoi ? Un fichier .htaccess endommagé ou mal configuré peut empêcher le bon fonctionnement du site.
Solution :
- Accédez à votre serveur via FTP ou cPanel.
- Renommez le fichier .htaccess en .htaccess_old.
- Si votre site fonctionne à nouveau, créez un nouveau fichier .htaccess propre avec le code suivant :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
2. Plugins ou thèmes WordPress en conflit ? Trouvez le coupable
Pourquoi ? Un plugin ou un thème mal codé peut provoquer un crash du site.
Solution :
- Désactivez tous les plugins en renommant le dossier /wp-content/plugins/ via FTP.
- Si le site fonctionne, renommez-le à nouveau et réactivez les plugins un par un pour identifier celui qui pose problème.
- Si le problème vient du thème, basculez sur un thème WordPress par défaut (par exemple Twenty Twenty-One).
Astuce : avant d’installer un plugin ou un thème, assurez-vous qu’il est compatible avec votre version de WordPress et qu’il est bien maintenu par ses développeurs.
3. Limite de mémoire PHP atteinte ? Augmentez-la
Pourquoi ? Si votre site exécute des scripts lourds ou consomme trop de ressources, l’erreur 500 peut apparaître.
Solution : ajoutez la ligne correspondant à votre hébergement, dans cet ordre :
- dans wp-config.php :
define('WP_MEMORY_LIMIT', '256M'); - si cela ne suffit pas, dans .htaccess :
php_value memory_limit 256M - si vous avez accès aux configurations serveur, dans php.ini :
memory_limit = 256M
Si l’erreur persiste, contactez votre hébergeur pour augmenter la limite de mémoire autorisée.
4. Scripts PHP défectueux ? Vérifiez et corrigez-les
Pourquoi ? Une erreur de code dans un script PHP peut interrompre l’exécution du site.
Solution :
- Vérifiez les fichiers error_log pour identifier le script fautif.
- Activez le mode debug dans wp-config.php pour enregistrer les erreurs :
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
- Corrigez les erreurs de syntaxe ou restaurez une version stable du fichier concerné.
- Si vous utilisez un plugin personnalisé, désactivez-le temporairement et testez votre site.
Nos conseils pour éviter les erreurs 500 à l’avenir
- Mettez régulièrement à jour WordPress, vos plugins et vos thèmes, en testant les mises à jour avant de les appliquer sur le site en ligne.
- Surveillez les performances de votre serveur pour repérer une surcharge avant qu’elle ne provoque une panne.
- Prévoyez des sauvegardes automatiques fréquentes, qui permettent de restaurer votre site à partir d’une ancienne sauvegarde en cas de problème.
- Choisissez un hébergement de qualité, et changez-en si nécessaire en suivant notre guide de migration d’hébergement.
En appliquant ces bonnes pratiques, vous réduirez considérablement les risques de panne et assurerez la stabilité de votre site web.
Questions fréquentes sur les pannes de site et l'erreur 500
C’est un message générique indiquant qu’un problème est survenu côté serveur, sans préciser lequel. Contrairement à l’erreur 404 qui signale une page introuvable, l’erreur 500 empêche le serveur d’exécuter correctement la requête. La cause peut être une configuration, un script défectueux, une surcharge ou un fichier .htaccess erroné.
Les causes courantes sont un fichier .htaccess mal configuré, une extension ou un thème incompatible, un dépassement de la limite mémoire PHP ou une base de données inaccessible. Une mise à jour récente est souvent à l’origine du problème. Les journaux d’erreurs du serveur aident à identifier la source exacte.
Consultez d’abord les journaux d’erreurs de l’hébergement, qui pointent souvent la cause. Désactivez ensuite les extensions une à une, basculez sur un thème par défaut et vérifiez le fichier .htaccess ainsi que la version de PHP. Cette démarche par élimination permet d’isoler l’élément responsable.
Restaurez le dernier élément modifié avant la panne, qu’il s’agisse d’une extension, du thème ou du fichier .htaccess. Augmentez si besoin la limite mémoire PHP et videz les caches. Si la panne persiste, une restauration de sauvegarde saine reste la solution la plus sûre.
Maintenez le site à jour, testez les mises à jour sur un environnement de préproduction et choisissez un hébergement adapté à votre trafic. Une surveillance continue permet de détecter les incidents avant les visiteurs. Nous assurons ce suivi dans le cadre de la maintenance de sites internet.