Table des matières
Mis à jour le
Tomber sur une erreur 500 (Internal Server Error) dans WordPress est sans conteste l’expérience la plus frustrante que vous pouvez rencontrer, car une erreur 500 peut vouloir dire littéralement n’importe quoi. Cela ne veut pas dire que vous ne pouvez pas y remédier ! Dans cet article, nous vous présentons plusieurs solutions qui devraient vous aider à réparer votre site.
Certaines causes des erreurs 500 sont connues, comme un fichier .htaccess corrompu, le dépassement de la limite de mémoire PHP, ou les mauvaises permissions de fichiers. Il existe aussi des causes moins courantes, dont les problèmes avec des plugins, ou bien le serveur en lui-même.
Malheureusement, il n’existe pas de solution rapide et facile pour réparer une erreur 500, il faut simplement vous armer de temps et de patience. En réparant cette erreur, vous découvrirez ce qui l’a causée.
Pour vous aider, j’ai créé ce guide de solutions. Commencez par la première solution potentielle (créer un nouveau fichier .htaccess) et appliquez chaque solution entièrement avant de passer à la suivante.
Qu’est ce qu’une erreur 500, Internal Server Error
Quand vous allez sur un site, votre navigateur envoie une requête au serveur de ce site. Le serveur traite la requête et envoie les ressources pour afficher la page ainsi que l’en-tête HTTP et un code de statut HTTP.
Le code de statut indique au navigateur le statut de la requête. Par exemple, un code 200 veut dire que tout se passe correctement. Mais si vous obtenez un code 500, cela veut dire que quelque chose ne s’est pas passé comme prévu, et le serveur n’est pas capable de dire de quoi il s’agit.
En bref, l’erreur 500, code pour l’erreur interne au serveur, est un fourre-tout générique qui signifie que le serveur a rencontré un obstacle imprévu l’empêchant de répondre à la requête correctement.
Il existe plusieurs type de code de statut 500. Ils rapportent tous quelque chose de différent comme 501 Not Implemented, 502 Bad Gateway, 503 Service Unavailable, et 504 Gateway Timeout.
Nommer les variations des erreurs 500, Internal Server Errors
Les messages d’erreurs 500, internal server error, possèdent de nombreuses variations en fonctions des nombreux serveurs web et navigateurs disponibles. Le site que vous visitez peut même avoir ses propres pages personnalisées pour ces erreurs.
Voici quelques variations que vous pouvez rencontrer :
- 500 Internal Server Error
- Internal Server Error
- 500 Internal server error
- Error 500
- HTTP Error 500
- HTTP Error 500 – Internal Server Error
- Temporary Error (500)
Que ce soit l’une de ces variations ou une autre encore, elles veulent toutes dire la même chose : quelque chose s’est mal passé et le serveur ne sait pas de quoi il s’agit.
Comment réparer une erreur 500 Internal Server Error
Comme mentionné ci-dessus, cette erreur indique que quelque chose s’est mal passé, mais la cause reste un mystère. Pour remédier à ces erreurs, vous devez travailler à l’envers : trouver la solution en premier afin de connaître la cause de l’erreur.
En général, les erreurs 500 se produisent à cause d’un problème sur le serveur, mais elles peuvent aussi être causées par un problème côté client. Nous allons donc voir ensemble un ensemble de solutions différentes qui tiennent compte des deux.
Créez une sauvegarde avant tout
Les solutions ci-dessous impliquent des bricolages sous le capot, c’est à dire faire des changements dans le dossier racine de votre site. Il est donc essentiel d’avoir une sauvegarde de votre site.
Si vous n’avez pas encore de plugin de sauvegarde ou n’importe quelle autre solution en place, il est grand temps d’en choisir une !
BackUpWordPress, VaultPress, et BackupBuddy font partie de mes outils préférés. Si vous êtes intéressés par les sauvegardes de base de données, allez jeter un oeil à WP Migrate DB Pro. Vous pouvez aussi simplement utiliser WP-CLI pour faire des exportations rapides.
Si vous avez un hébergeur web qui offre des sauvegarde, c’est super. Mais je vous recommande quand même d’avoir votre propre solution de sauvegarde à laquelle vous pourrez accéder rapidement en cas d’urgence, sans avoir besoin de passer par votre hébergeur.
1. Vérifiez votre fichier .htaccess
Si votre site est hébergé sur un serveur utilisant Apache, il est possible que votre fichier .htaccess soit corrompu. Cela peut arriver après avoir installé un plugin ou avoir fait d’autres changements sur votre site.
La solution est facile à appliquer. Vous devez simplement remplacer votre fichier .htaccess corrompu avec un nouveau fichier.
En général, pour créer un nouveau fichier .htaccess, il suffit de sauvegarder vos réglages de permaliens dans votre tableau de bord WordPress. Mais si votre site n’est pas accessible, il est fort probable que vous ne puissiez pas vous connecter sur votre tableau de bord, rendant cette option inapplicable.
Vous devrez donc utiliser le FTP ou cPanel pour avoir accès aux fichiers de votre site et repérer le fichier .htaccess. Pour une démonstration pas à pas de comment procéder avec FTP et cPanel, allez voir qu’est ce que le .htaccess et comment l’utiliser sur WordPress.
Avant de remplacer votre ancien fichier .htaccess avec un nouveau, créez une sauvegarde de celui-ci. Pour ce faire, renommez simplement votre fichier existant avec un nom comme .htaccess-old. WordPress arrêtera alors de reconnaître ce fichier.
Actualisez votre site et s’il se charge correctement, vous savez que c’est votre fichier .htaccess qui a causé l’erreur 500. Maintenant, remettez le bon nom sur votre fichier .htaccess original : le problème va réapparaître, mais nous allons y remédier.
Les utilisateurs de WP Rocket devront être particulièrement prudents avec leur fichier .htaccess car il contient des règles d’optimisation de performances que vous ne devez pas modifier. Allez voir Résoudre une erreur 500, Internal Server Error pour savoir quoi faire.
Si vous n’utilisez pas WP Rocket (comment, pourquoi ?!), créez un nouveau fichier incluant ce qui suit, puis téléchargez le dans le dossier racine de votre site :
Voici les règles de l’image ci-dessus :
#BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#END WordPress
2. Augmentez votre limite de mémoire PHP
Une erreur 500 peut apparaître lorsque vous atteignez la limite de votre mémoire PHP. Ce problème est souvent causé par des plugins mal codés, l’utilisation de trop de plugins, ou lorsqu’un site utilise des plugins qui prennent beaucoup de ressources.
Tout ce qu’il faut faire pour résoudre ce problème c’est d’augmenter la limite de mémoire PHP pour votre site. Il existe différentes manières de faire qui consistent à mettre à jour votre fichier .htaccess, votre fichier php.ini, ou votre fichier wp-config.php.
Pour chacune des trois solutions suivantes, n’oubliez pas de rafraîchir votre site pour vérifier si cela le répare et connaître la cause de votre erreur 500.
1. Augmenter la limite de mémoire PHP dans le fichier .htaccess
Localisez votre fichier .htaccess dans le dossier racine de votre site et ajoutez la ligne suivante :
php_value memory_limit 256M
Cela fera monter la limite de votre mémoire à 256 MB. Si vous ne trouvez pas votre fichier .htaccess, vérifiez que vous pouvez voir les fichiers cachés. Si vous n’avez pas de fichier .htaccess file, créez-en un et copiez-y la ligne ci-dessus.
2. Augmenter la limite de mémoire PHP dans le fichier php.ini
Vous trouverez votre fichier php.ini dans le dossier wp-admin de votre dossier racine. Ouvrez-le et cherchez la ligne qui commence par “memory_limit.” Si la valeur est égale ou inférieur à 64 MB, remplacez la ligne tel que suivant :
memory_limit = 256M
Si vous ne trouvez pas votre fichier php.ini (vérifiez que la fonction “afficher les fichiers cachés” est activée), vous devrez en créer un, y coller la ligne ci-dessus, nommer ce fichier php.ini et le sauvegarder dans votre dossier wp-admin.
3. Augmenter la limite de mémoire PHP dans le fichier wp-config.php
Si mettre à jour vos fichier .htaccess et php.ini n’a pas fonctionné, vous pouvez essayer d’augmenter la limite de votre mémoire dans le fichier wp-config.php.
Ajoutez la ligne suivante à votre fichier wp-config.php juste avant la ligne “happy blogging” :
define('WP_MEMORY_LIMIT', '256M');
Sauvegardez le fichier et rafraîchissez votre site. S’il ne fonctionne toujours pas mais que vous avez le sentiment que vos plugins poussent les limites de votre mémoire PHP, contactez votre hébergeur web pour augmenter la mémoire côté serveur.
3. Faites un audit de vos plugins
Les plugins peuvent aussi causer des erreurs 500 internal server error. Cela inclut des plugins obsolètes (et même des nouveaux plugins mal codés) qui peuvent provoquer des problèmes de compatibilité. Il se peut même que vous tombiez sur une erreur 500 juste après avoir installé un nouveau plugin.
Pour trouver lequel de vos plugins cause l’erreur (si c’est bien un plugin qui en est la cause), vous devrez désactiver tous vos plugins d’un coup, puis les réactiver l’un après l’autre.
Si vous ne pouvez pas accéder à votre tableau de bord WordPress, connectez vous en FTP à votre serveur et ouvrez votre dossier wp-content. Localisez votre dossier plugins et renommez le avec un nom comme plugins-old : cela désactivera tous vos plugins.
Rafraîchissez votre site. S’il fonctionne à nouveau, votre erreur 500 est causée par l’un de vos plugins.
L’étape suivante consiste à identifier lequel de vos plugins est le coupable. Pour ce faire, renommez votre dossier plugins “plugins”, puis allez dans le dossier et renommez chaque dossier de plugin un à un, jusqu’à ce que votre site fonctionne à nouveau après l’avoir rafraîchi.
Lorsque vous avez trouvé le plugin qui causait ces problèmes, contactez le développeur de ce plugin pour obtenir de l’aide.
4. Vérifiez les permissions de vos fichiers
Si aucune des solutions ci-dessus n’a fonctionné, il se peut que vous ayez un problème avec les permissions de fichier. Les fichiers dans votre dossier WordPress devraient tous être réglés à 755 ou 644. Lorsqu’ils sont réglés accidentellement ou par erreur sur autre chose, cela peut déclencher une erreur 500.
Pour vérifier vos permissions de fichier, connectez-vous en FTP et vérifiez le dossier de votre site. Ici, j’utilise Filezilla pour accéder à mon site test, et comme vous pouvez le voir mes permissions sont réglées sur 755 pour les dossiers et 644 pour tout le reste.
Le Codex WordPress recommande les permissions de fichier suivantes :
- Tous les dossiers devraient être à 755 ou 750.
- Tous les fichiers devraient être à 644 ou 640. (La seule exception est wp-config.php, que vous pouvez régler à 440 ou 400 pour empêcher d’autres utilisateurs sur le serveur de le lire.)
- Les dossiers ne devraient jamais être réglés à 777.
Si vous voyez qu’un fichier a la mauvaise permission, faites un clic droit dans votre programme FTP pour accéder aux permissions de fichier et le mettre à jour au nombre approprié.
Allez voir Comment rendre les fichiers système acessibles en écriture (.htaccess, wp-config.php) pour en savoir plus sur la mise à jour des permissions de fichier.
5. Réinstallez les fichiers du coeur de WordPress
Il arrive parfois que les fichiers du coeur de WordPress deviennent corrompus, surtout sur les sites un peu plus vieux personnalisés et mis à jour de nombreuses fois.
Pour régler ce problème, vous devrez remplacer les fichiers de coeur de WordPress par de nouveaux fichiers. Il n’est pas nécessaire de réinstaller WordPress. Téléchargez simplement la dernière version de WordPress et dézippez le fichier. Connectez-vous en FTP au dossier racine de votre site et téléchargez les dossiers wp-admin et wp-includes du dossier zip que vous venez de télécharger, pour écraser les anciennes versions.
En procédant de cette manière, vous n’écraserez pas vos thèmes et plugins.
Rafraîchissez votre site. Si l’erreur 500 disparaît, vous avez trouvé la cause : les fichiers de coeur corrompus.
6. Contactez votre hébergeur web
Si vous rencontrez encore l’erreur 500 après être passé par toutes les solutions ci-dessus, il est temps de contacter votre hébergeur web. Les logs de votre hébergeur peuvent mettre en lumière ce qui cause l’erreur 500, pour que vous puissiez y remédier.
Evitez de sauter toutes les solutions ci-dessus pour contacter directement votre hébergeur, il est toujours mieux de vous renseigner vous-même sur la cause de l’erreur. De cette manière, vous pouvez donner à votre hébergeur un récapitulatif de ce que vous avez essayé, afin qu’ils ne croient pas que votre erreur 500 est causée par un problème avec les fichiers de votre site.
C’est d’autant plus valable si vous êtes sur un hébergement partagé bon marché. Si vous êtes sur un hébergement WordPress géré, il est plus probable que votre hébergeur vous aidera à identifier et réparer votre erreur 500, internal server error.
En résumé
Cette liste n’est en aucun cas exhaustive de toutes les solutions possibles à une erreur 500 internal server error. Ce qui cause votre erreur pourrait vraiment être n’importe quoi. Néanmoins, cette liste vous fournit un excellent guide par où commencer et dans quel ordre procéder (trouver la solution puis la cause).
Enfin, n’oubliez pas de faire une sauvegarde de votre site avant de télécharger des fichiers dans votre root directory. Si vous faites un changement qui impacte votre site, vous pourrez facilement retourner à votre dernière sauvegarde.
Avez-vous déjà eu à faire à une erreur 500, internal server error? Comment l’avez-vous réglée ? N’hésitez pas à nous laisser un commentaire !