Skip to main content

Si de nombreuses personnes connaissent les erreurs 404, il n’en va pas de même pour les erreurs 500. D’apparence seulement, la finalité semble être la même. Dans les deux cas de figure, ces codes HTTP renvoient une page inaccessible. Pourtant, il y a bien une différence fondamentale entre ces deux types d’erreurs.

Nettement moins connue que les autres, l’erreur 500 est particulièrement handicapante pour votre SEO si celle-ci est récurrente. Nous allons aborder un sujet relativement technique, qui s’adresse aussi bien aux développeurs qu’aux référenceurs en herbe. Mais rassurez-vous, nous serons comme d’habitude pédagogues !

Erreur 500

Qu’est-ce qu’une erreur 500 ?

Une erreur 500 est un code HTTP témoignant d’un problème sur votre site côté serveur. On parle également de blocage interne du site. Alors qu’une erreur 404 traduit juste une ressource inexistante, l’erreur 500 peut cacher derrière elle tout un florilège de soucis techniques très différents les uns des autres.

Pour mieux définir cette problématique, revenons aux fondamentaux. Lorsque votre navigateur web cherche une URL, il envoie une requête à un serveur distant. Celui-ci lui renvoie automatiquement un code HTTP, afin de l’informer du traitement de sa demande. Si c’est un code 200, bonne nouvelle, votre requête a bien été traitée et rien ne pose problème. Pour un code de type 300, on vous redirige simplement vers une autre URL. Un code HTTP de type 400 atteste d’une erreur côté client : ressource introuvable pour la 404, mais aussi accès non autorisé pour la 401 ou trop de requêtes pour la 429.

Qu’en est-il de l’erreur 500 ? Comme il s’agit d’une erreur côté serveur, cela signifie que votre navigateur ne parvient pas à créer une connexion avec le serveur du domaine recherché. En anglais, la cause envoyée est “internal server error”. Si la réponse est très vague, c’est normal : cela signifie que la raison n’a pas pu être identifiée.

Quelles peuvent en être les causes ?

Avant toute chose, vous devez vérifier en premier lieu si ce problème touche tout le monde ou seulement vous. Certains sites peuvent vous aider en ce sens, celui-ci est un exemple. Si vous constatez que tous les internautes sont touchés par ce blocage, voici quelques pistes à investiguer.

Une mauvaise configuration du fichier .htaccess

Ce fichier présent dans votre FTP permet de définir des directives contrôlant le comportement d’un serveur web. Il permet entre autres la réécriture d’URL, leurs redirections, ou de paramétrer des options de sécurité. Mal configuré, le fichier .htaccess peut créer des erreurs 500 sur tout le site. Une simple faute de caractère dans sa syntaxe peut provoquer cette situation.

Des erreurs dans la programmation de certains scripts

Il existe de nombreux cas de figure où un script défectueux peut faire planter tout le site. Cela peut aller de certaines exceptions non gérées dans le code côté serveur (issues de PHP, Python, Ruby…) ou bien encore de mauvaises requêtes vers la base de données.

Un serveur sous-dimensionné qui a des problèmes de ressources

Si vous avez un pic de trafic inattendu, votre serveur peut saturer et donc planter. L’utilisation excessive de son CPU ou de sa mémoire vive du fait d’un trop grand nombre de requêtes peut l’amener à renvoyer une erreur 500.

De nombreux autres problèmes sont possibles

Si les blocages cités ci-dessus sont les plus courants, ils sont loin d’être les seuls. Une erreur 500 peut aussi être provoquée par :

  • Une maintenance du serveur
  • Un délai de réponse dépassé
  • Des plugins ou thèmes d’un CMS comme WordPress incompatibles avec le serveur
  • Des erreurs avec les services de mise en cache
  • Des problèmes de réseau entre plusieurs serveurs
  • Une mauvaise configuration du serveur web (Apache, Nginx, etc)

Quels sont les différents types d’erreurs 500 ?

Fort heureusement, un serveur peut se montrer parfois plus explicite, en délivrant un message d’erreur. Voici un exemple de situations courantes dans ce cas de figure :

  • 502 Bad Gateway: Un serveur a reçu une réponse invalide depuis un autre.
  • 503 Service Unavailable: Le serveur est actuellement incapable de traiter la demande, généralement en raison d’une maintenance ou d’une surcharge.
  • 504 Gateway Timeout : Un serveur intermédiaire, tel qu’un proxy ou un CDN, n’a pas envoyé de réponse à temps.
  • 505 HTTP Version Not Supported: Le serveur ne prend pas en charge la version du protocole HTTP utilisée dans la demande.
  • 507 Insufficient Storage: Le serveur atteint sa limite et est incapable de stocker les informations nécessaires pour compléter la demande.
  • 508 Loop Detected: Une boucle de redirection a été détectée lors du traitement de la demande.
  • 510 Not Extended: Des extensions supplémentaires sont nécessaires pour que le serveur puisse satisfaire la requête.
  • 511 Network Authentication Required: Le client n’a pas les permissions nécessaires et doit s’authentifier pour obtenir un accès au réseau.

Notez que ces exemples ne sont pas exhaustifs et qu’il peut y avoir de nombreux autres cas de figure, plus ou moins exotiques. Voyez cette liste comme une définition des erreurs les plus courantes !

Comment corriger toutes vos erreurs 500 ?

Faire un état des lieux c’est bien, en tirer des conclusions permettant de rétablir la situation c’est mieux. La première chose à faire est de consulter les journaux des serveurs. Ceux-ci peuvent souvent donner des informations détaillées et utiles sur la cause de l’erreur. Ce fichier texte situé dans un dossier de votre FTP, souvent la racine, vous aidera à identifier l’événement à l’origine de l’erreur 500.

Par exemple, ils peuvent faire remonter un problème au niveau de l’hébergement. L’assistance technique de votre hébergeur pourra vous aider s’ils sont responsables. Ou cela peut être lié à votre code, qui contient des fautes entraînant des bugs. Vous devrez alors vous lancer dans un travail de débogage. Demandez-vous quelles sont les actions les plus récentes que vous ayez faites. Avez-vous installé des plugins sur votre WordPress par exemple ?

Comme nous l’avons vu plus haut, il existe bien d’autres causes. Parfois, c’est juste un problème de permissions. En fonction du code qui remonte, vous devez agir autrement. Et puis, même si cela semble bête de prime abord, n’oubliez pas que les serveurs restent de gros ordinateurs : un simple redémarrage peut résoudre des problèmes superficiels.

Découvrez des articles similaires

URL et SEO : le guide complet pour une optimisation parfaite

S’il y a bien un sujet qui n’émeut pas les foules, c’est celui des URLs. Dans l’indifférence générale,...

Publié le 21 septembre 2023septembre 14th, 2023

Protocole HTTPS : qu'est-ce que c'est et comment ça fonctionne ?

Beaucoup d’utilisateurs voient le Web comme quelque chose de magique. Leur navigateur communique avec tous les serveurs du...

Publié le 20 septembre 2023septembre 14th, 2023

Obfuscation SEO : C’est quoi ? Comment ça marche ?

Ce qui est bien avec le SEO, c’est que l’on enrichit son vocabulaire. A tout hasard, prenons le...

Publié le 15 septembre 2023septembre 14th, 2023