En SEO on passe souvent beaucoup de temps à chercher de nouvelles sources de liens externes, faciles à créer si possible. Sachez qu’il existe un moyen de récupérer du jus facilement, ou en tout cas de le redistribuer intelligemment : rediriger les liens perdus qui pointent vers votre site. J’appelle liens perdus les liens externes qui pointent vers des pages qui n’existent pas ou plus sur votre site.
Les raisons de l’existence de ces « backlinks perdus » peuvent être diverses :
- La personne qui a fait le lien vers une de vos page a fait une erreur dans l’URL
- L’URL a existée mais n’existe plus et vous n’avez pas mis en place de redirection d’URL (ou la redirection ne fonctionne plus)
- Vos URL utilisent des caractères exotiques qui « passent » mal sur certains supports. On peut penser aux parenthèses, au signe +, etc.
- L’URL pointant vers votre page a été parsée par un outil qui l’a déglinguée (exemple fréquent : phpBB)
- Le lien vient d’un site qui génère des liens vers vos pages et qui a inventé des URL qui n’existaient pas (exemple : des soit disant moteurs de recherche qui indexent leurs résultats qui contiennent des liens vers des pages inventées)
Bien sur, si vous avez une page 404 un tant soit peu optimisée, ces liens apportent déjà du jus à votre site, mais peut-être pas de la manière la plus optimale possible. L’intérêt de récupérer ces liens est de pouvoir apporter du jus aux pages de votre choix mais aussi de réduire le nombre d’erreurs 404 sur votre site (erreurs 404 qui seront crawlées inutilement par Googlebot).
Je vais aller au plus simple et au plus ergonomique. On pourrait tout faire en bash mais je trouve que l’usage d’Excel en complément est intéressant et plus ludique. Certains penseront aussi à utiliser Google Analytics pour repérer les liens perdus mais je trouve cette solution moins fiable.
Extraction des données des logs serveur
Nous allons extraire les erreurs 404 de vos logs Apache. Rendez-vous dans votre terminal favoris, placez vous dans le répertoire contenant les logs de votre site (pour ma part je dois me connecter en root et me rendre dans /var/log/httpd/) puis tapez la commande suivante (dans le cas de logs Apache en mode standard étendu, soit le réglage par défaut) :
more access.log | grep --line-buffered 'HTTP/1.1" 404' | awk '{print "Backlink " $7 " Depuis " $11}' | uniq > backlinks.txt
access.log correspond au fichier log à analyser.
Bien sur, si vous avez plusieurs frontaux et ou un logrotate il faudra faire les concaténation et dégézippages nécessaires pour avoir un fichier pertinent (plus vous remonterez dans le temps, plus vous aurez de chances de récupérer un lien).
Filtrage des données dans Excel
Téléchargez le fichier backlinks.txt obtenu et ouvrez Excel (ou LibreOffice si vous préférez).
Dans Excel, rendez-vous dans l’onglet Données > Importer à partir du texte puis choisissez le mode « Délimité ».
Cliquez sur Suivant et choisissez le délimiteur Espace (cochez la case) puis cliquez sur Terminer.
La colonne A contient vos backlinks, la colonne D contient l’URL de provenance. Nous allons filtrer sur l’externe puisque c’est ce qui nous intéresse dans le cadre de cet article. Bien évidemment, toute 404 interne doit attirer votre attention et être réglée. Dans les images d’illustrations, les erreurs 404 internes sont survenues suite à une mise en production qui contenait un bug. Bref.
Ajoutez une ligne au dessus du premier résultat, sélectionnez la ligne 1 dans son intégralité puis dans l’onglet Données, cliquez sur Filtrer.
Cliquez sur la flèche de filtre de la colonne D et filtrez par « Ne contient pas » comme sur l’image :
Entrez ceci (en remplaçant monsite.com par votre domaine, sans les www) :
Puis cliquez sur Ok.
You’re done !
Et voilà ! Vous avez maintenant sous les yeux une liste des liens pointant vers des pages inexistantes de votre site. Il n’y à plus qu’à analyser la page de provenance, la page de destination. Il ne vous restera plus qu’à :
- Soit faire modifier la page source pour y corriger le lien (c’est le plus long mais le plus efficace)
- Soit déterminer les règles de redirections 301 adéquates à mettre en place
Bien sur, selon le volume de liens, le potentiel de Page Rank transmissible, à vous de voir si vous redirigez les robots ou si vous leur faites gagner du temps :)
Easy non ? :o) Alors, avez-vous récupéré quelques backlinks ? Si oui, n’hésitez pas à partager cet article et à apporter votre commentaire.
Abonnez-vous au flux flux RSS | You can skip to the end and leave a response. Pinging is currently not allowed.
Bonjour François-Olivier,
Pour les gros sites disposant d’une certaine ancienneté ce tutorial peut s’avérer très utile.
Mais pour les plus jeunes, qui n’ont peut-être pas encore subi de refonte structurelle et dont les BL sont encore en place sur des sites tiers, il n’est pas totalement défavorable d’avoir quelques liens qui visent à côté de la page. Fait intelligemment, en variant les ancres, le nombre et les URL, cela renforce la crédibilité « naturelle » du netlinking d’un site jeune. C’était mon complément d’info à deux euros :-)
Bonjour,
Je n’ai pas compris ta remarque sur le côté bénéfique et naturel d’avoir des 404 sur un site.
Peux-tu développer ?
A mon sens cette technique est encore plus intéressante pour un site à lancer.
François-Olivier
PS : désolé mais ici les pseudo doivent être des pseudo
Hello FO !
Joli tuto. A vouloir toujours faire la course aux backlinks on oublie trop souvent de travailler sur ce qui est déjà acquis…
Une petite modif de ta commande pour ne conserver que des 404 externes et donc supprimer les 404 internes ou pour lesquelles on n’a aucun referer
awk ‘{if($9 ~ /404/ && $11 !~ /nomdedomaine\.tld|-/ ){print « Backlink » $7 » Depuis » $11}}’ all_logs.log > backlinks.txt