Cela va sans dire que personne n’aime voir des codes erreurs sur internet, surtout lorsqu’ils apparaissent sur votre site web.
Il existe différents statut codes HyperText Transfer Protocol (HTTP) qui peuvent être délivrés par un serveur en réponse à la requête d’un client.
Ces codes se classent de 1xx à 5xx, le premier chiffre d’un statut code annonçant à laquelle des 5 catégories il appartient.
Dans cet article, nous allons nous intéresser à seulement une seule de ces catégories.

Codes erreur serveur 5xx, qu’est-ce que c’est ?

En résumé, l’erreur 5xx est un code qui apparaît dans les navigateurs web lorsque le serveur n’est pas parvenu à répondre à une requête.
Il vous montre aussi si le serveur est conscient qu’il a rencontré une erreur ou s’il n’est pas capable de répondre à la requête.
Il est important de noter que le serveur inclut normalement (à moins qu’il s’agisse d’une requête HEAD) une explication sur la situation de l’erreur ainsi que des informations sur son statut temporaire ou permanent.

Comment détecter un code erreur 5xx ?

Détecter un code erreur 500 peut être plutôt difficile s’il est uniquement présent sur une page, surtout lorsque vous disposez de milliers de pages sur votre site.
Prendre le temps d’inspecter chaque page une par une vous prendra non seulement un temps considérable mais vous coûtera aussi beaucoup de ressources.
À moins que vous soyez suffisamment chanceux pour qu’un utilisateur vous indique une erreur 5xx ou que l’erreur se situe sur une page importante, il pourrait vous prendre des semaines, voire des mois pour découvrir que vous avez une ou plusieurs erreurs 500. Pour accélérer le processus d’identification, vous pouvez utiliser différents outils SEO (OnCrawl, Ahrefs, Moz, etc…). Des services additionnels comme Serpstat peuvent vous fournir des audits par page.
Repérer ces erreurs est indispensable, car les erreurs 500 permanentes peuvent non seulement impacter la performance SEO mais aussi empêcher les utilisateurs d’accéder au site.

Comprendre les différents codes erreur de serveur 5xx

Il y a bien sûr toute une gamme de codes serveur 5xx, et en tant que webmaster, connaître la différence entre ces différents codes est crucial afin de rectifier le problème :

500 – Internal Server Error

Ce statut code est généré lorsque le serveur a rencontré une condition inattendue qui l’empêche de répondre à la requête du client.

501 – Not Implemented

Le serveur web va générer un statut code 501 lorsqu’il ne supporte pas la fonctionnalité nécessaire pour réaliser la requête et lorsque le serveur ne reconnaît pas la méthode requise.
Cela signifie que le serveur n’est pas capable de prendre en charge la requête mais qu’il pourrait y avoir une disponibilité dans le futur.

502 – Bad Gateway

Une erreur 502 se produit lorsque le serveur sert de passerelle ou de proxy et a reçu une réponse invalide du serveur en amont lorsqu’il a tenté de réaliser la requête.

503 – Service Unavailable

Un serveur web va répondre avec ce statut code lorsqu’il est temporairement incapable de gérer la requête à cause d’une surcharge sur le court terme ou d’une maintenance.
Cela arrive généralement lorsque le serveur est temporairement indisponible pour réaliser la requête. Parfois, la longueur du retard peut être indiquée dans le header Retry-After.
Si pour une quelconque raison, aucun Retry-After n’est offert, le client doit gérer la réponse de la même manière qu’une réponse 500.

504 – Gateway timeout

Si le serveur ne reçoit pas une réponse ponctuelle du serveur en amont désigné par l’URL demandée alors qu’il agit en tant que passerelle ou proxy, une erreur 504 sera présentée.

505 – HTTP Version Not Supported

Si un serveur web répond avec ce statut code, cela signifie soit qu’il ne prend pas en charge ou qu’il refuse de lire la version du protocole HTTP utilisée dans la requête.
Lorsque cela arrive, la réponse doit contenir une entité qui explique pourquoi cette version HTTP n’est pas supportée.

506 – Variant Also Negotiates

Ce code indique que le serveur dispose d’une erreur dans sa configuration interne et que la ressource variante choisie est en fait configurée pour engager une négociation de contenu transparente.
Cela signifie donc qu’il n’y a pas de point final propre dans le processus de négociation.

507 – Insufficient Storage

Dans ce cas, le code est généré lorsque la méthode ne peut pas être exécutée sur la ressource car celle-ci ne peut pas stocker la représentation nécessaire pour réaliser la requête.
Comme l’erreur de serveur 503, cette condition est aussi temporaire. Ce statut code est généré suite à l’action de l’utilisateur.

508 – Loop Detected

Ce message apparaît lorsque le serveur doit interrompre une opération à cause d’une boucle infinie qui a été détectée lors de la réalisation de la requête avec “Depth: Infinity”.
Ce statut indique que l’intégralité de l’opération a échoué.

510 – Not Extended

Une erreur serveur 510 se produit lorsque la politique pour accéder à la ressource n’a pas été respectée dans la requête. Dans ce cas, le serveur doit renvoyer toutes les informations pour que le client fournisse une requête étendue.

511 – Network Authentication Required

Cette erreur se produit lorsque le client doit s’authentifier afin de pouvoir accéder au réseau.
Une représentation de la réponse de ce type d’erreur doit contenir un lien vers la ressource qui permet aux utilisateurs de soumettre leurs identifiants.
Vous pouvez trouver une liste complète des codes erreur, dont les codes d’autres catégories, ici.

L’impact des erreurs 5xx sur le SEO

Lorsque Google est confronté à une erreur 5xx sur un site, il peut baisser le classement d’une page ou la retirer de l’index car de telles erreurs peuvent engendrer une expérience utilisateur négative. En fait, ces erreurs ont un impact extrêmement négatif sur le SEO.
Ce sont les erreurs les plus compliquées à gérer. Il est difficile de trouver le problème exact qu’ils indiquent et surtout de trouver une solution simple. De plus, ces problèmes ne se règlent généralement pas en modifiant le code d’une page et vous pourriez avoir besoin de demander de l’aide aux développeurs ou à l’administrateur du serveur.
Cependant, vous devriez et même devez les réparer car les moteurs de recherche n’apprécient pas du tout les erreurs 5xx. Un moteur de recherche ne peut pas crawler et analyser votre site s’il se heurte à des erreurs 500 et 503. Cela signifie aussi que les codes erreur 500 peuvent causer une expérience utilisateur pauvre et impacter négativement le classement et l’indexation de votre site.
Bien sûr, vos classements ne vont pas chuter dès qu’une erreur 500 apparaît. Il doit y avoir plusieurs cas de réponses 503 sur une ou deux semaines avant que la page soit retirée de l’index Google. Vous avez donc le temps de les réparer avant d’être sanctionné !

Comment réparer les codes erreur 500 ?

Il peut parfois être difficile de repérer la source d’une erreur 5xx. Celles-ci peuvent se produire si des fichiers sont manquants ou corrompus, s’il y a des améliorations incompatibles ou des erreurs dans les scripts.
Si vous vous apercevez que vous avez une réponse 5xx sur votre site, vous pouvez procéder aux vérifications suivantes :

  1. Rechargez la page au cas où l’erreur était momentanée.
  2. Vérifiez les erreurs de log sur le site.
  3. Réfléchissez à tous les changements ou mises à jour système que vous avez réalisés récemment et retirez-les jusqu’à ce que les erreurs soient réparées.

Un logiciel mis à jour peut aussi être responsable, tout comme les mises à jour non réussies, les fichiers manquants ou corrompus qui peuvent tout aussi bien causer des réponses 5xx. Si vous avez récemment mis à jour votre logiciel, essayez de le désinstaller et de recommencer la procédure.
De nouveaux thèmes et plugins peuvent aussi être incompatibles avec le nouveau logiciel donc essayez de détecter le problème en désactivant les plugins un par un jusqu’à temps que l’erreur soit réglée.

Les scripts côté serveur peuvent aussi causer des problèmes

Lorsque des erreurs 500 apparaissent sur votre site, cela vaut aussi le coup de vérifier les scripts de votre serveur et d’essayer de résoudre le problème :

  • Vérifiez si les permissions de serveur sont correctes. Les permissions pour un script PHP ou CGI doivent être configurées sur 0755 (-rwxr-xr-x).
  • Si le serveur peut connecter des services externes, il pourrait y avoir une temporisation PHP. Vérifiez vos règles de temporisation et de gestion d’erreur. Cependant, celles-ci peuvent être difficiles à trouver. Dans ce cas, retirez simplement les connexions externes.
  • Trop d’appels simultanés peuvent causer un arrêt du serveur, ou des pertes de connexion serveur et des réinitialisations. Donc, n’hésitez pas à tester le script pour vous assurer que cela n’arrive pas fréquemment.
  • Vous pourriez aussi avoir une erreur dans le fichier .htaccess pouvant empêcher une page de se charger. Même si c’est rare, prenez le temps de tester ce problème en retirant temporairement le fichier et en rechargeant la page.
  • Si une page web a une extension CGI ou Perl, alors vous devriez vérifier le script. Assurez-vous de sauvegarder les fichiers CGI dans un format ASCII et de les télécharger dans le répertoire cgi-bin en mode ASCII.

En résumé

Une erreur serveur 5xx apparaît lorsque le serveur ne parvient pas à répondre à une requête. Il existe 10 sortes d’erreurs dans cette catégorie. Chacune d’elle est discutée dans cet article.
Il est plutôt difficile de détecter et de réparer chaque occurrence de ces erreurs mais les moteurs de recherche ne les apprécient pas, particulièrement les erreurs 500 et 503. Ils peuvent retirer votre site de leur index s’ils obtiennent ce type de réponse plusieurs fois. Pour éviter d’en arriver là, utilisez des outils SEO pour auditer votre site et détecter les erreurs 5xx à temps. Vous pouvez les réparer en utilisant 3 stratégies :

  1. Rechargez la page pour vérifier si le problème était temporaire
  2. Vérifiez les erreurs de log sur votre site
  3. Réfléchissez à tous les changements ou mises à jour système que vous avez réalisés récemment et retirez-les jusqu’à ce que les erreurs soient réparées.