outils de monitoring et surveillance de backlink en Python
5/5 - (9 votes)

Salut ! T’es prêt à booster ton SEO avec du monitoring de backlinks façon ninja ? Python va devenir ton meilleur pote pour cette mission. Avant de se lancer dans les détails techniques, si t’as kiffé bidouiller avec Python, t’aimeras sûrement découvrir comment créer un bot pour jouer au jeu de morpion Google.

 

Pourquoi suivre ses backlinks avec Python ?

Pour un SEO, c’est un peu le pain quotidien de checker ses backlinks pour s’assurer qu’ils pointent toujours où il faut. Un peu comme Google qui surveille si t’as été sage sur le net. Mais toi, t’es pas Google, t’as pas des milliards à jeter par les fenêtres pour de la surveillants high-tech. Alors, t’as quoi ? T’as Python, et ça, c’est déjà pas mal !

 

L’impact des backlinks disparus sur ton SEO

Tu te demandes peut-être “pourquoi je me prendrais la tête à suivre mes backlinks avec Python ou tout autre outil ?” Eh bien, parce que dans la jungle du SEO, les backlinks, c’est un peu comme l’eau dans le désert, c’est vital. Ils sont les signaux que Google interprète pour juger de la pertinence et de l’autorité de ton site. C’est une sorte de “like” dans le monde des algorithmes.

Mais voilà, si un backlink disparaît, c’est comme si soudainement, une bonne âme retirait son “like” sous ton post hyper populaire. Google lève un sourcil. Si ça arrive trop souvent, il se pourrait bien qu’il se mette à penser que ton contenu n’est plus aussi chaud qu’avant. Et bam, ton site glisse doucement mais sûrement vers les abysses de la deuxième page de résultats, là où la lumière ne brille plus.

En gros, un backlink perdu, ça peut faire tiquer les bots de Google. Ils peuvent commencer à croire que ton site perd de sa superbe, de sa pertinence. Et si ton site perd en pertinence, il perd des places. C’est mathématique.

Alors, ouais, suivre ses backlinks, c’est pas juste une manie de SEO parano. C’est une stratégie de survie digitale. C’est pour ça que ce script Python, c’est pas juste un joujou, c’est ton garde du corps en ligne. Il veille au grain, et il te prévient dès qu’un lien pointant vers ton domaine joue à l’arlésienne. Tu peux ainsi réagir vite, contacter le webmaster du site concerné et essayer de redresser la barre avant que Google ne te fasse les gros yeux.

Donc, la prochaine fois que tu vois ton script te sortir un lien en rouge, prends-le pas à la légère. C’est peut-être le signal qu’il est temps de remonter tes manches et de jouer du clavier pour garder ton site bien ancré au sommet de la SERP.

 

La surveillance de backlinks avec Python

Alors, attaquons-nous à un script Python, simple mais balèze, qui va te permettre de vérifier tes backlinks comme un pro. On parle de quoi là ? De rien de moins qu’une sentinelle qui scrute le web à la recherche de tes précieux liens, t’informant de leur état de santé.

D’abord, tu te munis de requests. C’est un module Python qui te permet de faire des requêtes HTTP sans te prendre la tête. Avec lui, tu vas demander poliment aux pages web si elles parlent bien de toi. Puis, t’as colorama qui va te servir à colorier ton terminal. Quand tout est au vert, c’est que c’est tout bon, au rouge… aïe, il y a souci!

On initialise colorama avec init(autoreset=True). C’est pratique, ça remet les couleurs à zéro à chaque impression, comme ça, tu t’embrouilles pas les pinceaux.

 

La fonction de vérification de liens

Après cette mise en bouche, place à la fonction verifier_lien qui prend trois paramètres, l‘URL de la page à vérifier, l’ancre (le texte du lien) et l’URL du lien en lui-même. La fonction est maline, elle sait quand tout va bien ou pas.

Elle te fait une requête avec requests.get(url_page) et si la page répond « 200 OK », on cherche ton ancre et ton lien. Si elle les trouve, elle te renvoie un beau « True », sinon, c’est le « False » de la déception (et aussi de l’énervement).

Mais si jamais la page fait des siennes et te renvoie une erreur, t’inquiète, la fonction gère. Avec except, elle attrape les erreurs comme un gardien de but et te les montre. Comme ça, tu sais exactement ce qui coince.

 

Lecture du fichier .txt qui contient tous tes liens

Maintenant, faut lire ton fichier backlink.txt. T’imagines un fichier texte, tout bête, où t’as une liste de tes liens. Chaque bloc est séparé par une ligne vide et chaque ligne a l’URL de la page, l’ancre, puis l’URL de ton lien. Avec open(nom_fichier, 'r'), on ouvre le fichier en mode lecture, et avec .read().strip().split('\n\n'), on le découpe proprement.

 

L’heure de vérité: le backlink est-il présent ?

Pour finir, une boucle passe en revue chaque bloc. On sépare les infos, on invoque verifier_lien et là, magie: si le lien est présent, tu as un beau message en vert. Sinon, tu as un message en rouge qui te dit de retrousser tes manches et de partir à la chasse aux liens perdus.

Voilà, c’est tout pour la théorie. Prêt à faire chauffer ton Python pour tes backlinks? Fais-le tourner, regarde le spectacle, et surtout, si t’as un souci, regarde bien les messages d’erreur, ils sont là pour t’aider.

 

Vidéo du script en action

 

Revu du script de surveillance de backlinks en Python détaillé

import requests
from colorama import Fore, Style, init
import re
import os

# Effacer l'écran de la console avant de lancer le script
os.system('cls' if os.name == 'nt' else 'clear')

init(autoreset=True)  # Initialise Colorama pour réinitialiser automatiquement le style après chaque impression.

def verifier_lien(url_page, ancre, url_lien):
    try:
        response = requests.get(url_page)
        response.raise_for_status()

        # Construisez l'expression régulière pour chercher une ancre et un lien dans le contexte approprié
        # Nous cherchons ici une occurrence de l'url_lien précédé par des guillemets et suivie éventuellement
        # de texte, mais sans balises HTML intermédiaires, puis l'ancre, le tout encapsulé dans une balise <a>.
        pattern = re.compile(r'<a [^>]*href=["\']{}["\'][^>]*>(.*?){}(.*?)</a>'.format(re.escape(url_lien), re.escape(ancre)), re.IGNORECASE)
        matches = pattern.findall(response.text)

        if matches:
            return True
        else:
            return False
    except requests.HTTPError as http_err:
        print(f"Erreur HTTP pour {url_lien}: {http_err}")
        return None
    except Exception as err:
        print(f"Erreur pour {url_lien}: {err}")
        return None

# Lire le fichier et traiter chaque ligne.
nom_fichier = 'backlink.txt'

with open(nom_fichier, 'r') as fichier:
    lignes = fichier.read().strip().split('\n\n')  # Séparez les blocs par une ligne vide.

for bloc in lignes:
    url_page, ancre, url_lien = bloc.split('\n')

    # Vérifiez le lien et imprimez le résultat.
    lien_present = verifier_lien(url_page, ancre, url_lien)
    if lien_present is True:
        print(f"{Fore.GREEN}[+]{Style.RESET_ALL} {url_page}")
    elif lien_present is False:
        print(f"{Fore.RED}[-]{Style.RESET_ALL} {url_page}")
    # S'il y a une erreur, rien n'est imprimé ici car le message d'erreur est déjà affiché dans la fonction.

 

Explication du code de monitoring de backinks

Le script commence par importer les bibliothèques nécessaires :

  • requests pour effectuer des requêtes HTTP.
  • colorama pour ajouter de la couleur au texte dans la console, améliorant la lisibilité des résultats.
  • re pour les expressions régulières, permettant de rechercher des motifs de texte complexes.
  • Le module os est utilisé pour intégrer des commandes dépendantes du système d’exploitation dans le script Python, telles que la commande pour nettoyer la console (cls sur Windows, clear sur Unix/Linux).

La fonction init(autoreset=True) de colorama est appelée pour que chaque impression de texte coloré soit automatiquement réinitialisée à la couleur par défaut après chaque appel.

La fonction verifier_lien prend trois paramètres : url_page, ancre, et url_lien. Elle effectue les opérations suivantes :

  1. Envoie une requête GET à url_page via requests.get.
  2. Vérifie que la requête n’a pas retourné d’erreurs HTTP avec response.raise_for_status().
  3. Compile une expression régulière qui cherche une balise <a> contenant l’URL du lien (url_lien) et le texte de l’ancre (ancre), en s’assurant qu’aucune balise HTML ne se trouve entre l’URL et l’ancre.
  4. Utilise pattern.findall pour chercher toutes les occurrences de cette expression dans le contenu de la page récupérée.
  5. Retourne True si des correspondances sont trouvées, False sinon.

Si une erreur HTTP est capturée, un message d’erreur est imprimé avec le url_lien concerné et la fonction retourne None. La même chose se produit pour toute autre exception capturée.

En dehors de la fonction, le script lit le contenu d’un fichier nommé backlink.txt et divise son contenu en blocs séparés par des lignes vides. Chaque bloc contient une URL de page, un texte d’ancre et une URL de lien, séparés par des sauts de ligne.

Pour chaque bloc, le script :

  1. Extrait url_page, ancre, et url_lien en divisant la chaîne par des sauts de ligne.
  2. Appelle verifier_lien avec ces trois valeurs.
  3. Imprime le url_page avec un signe [+] en vert si le lien est présent, ou un signe [-] en rouge si le lien n’est pas présent.

Aucun message n’est imprimé si une erreur survient, car l’erreur est déjà imprimée dans la fonction verifier_lien.

 

Le format que doit utiliser son fichier backlink.txt pour être lu correctement

https://www.le-bottin.com/blog-geek-hack-code
https://astuce2geek.fr/
https://astuce2geek.fr/

https://theoueb.com/site-19762-astuce-2-geek
https://astuce2geek.fr/
https://astuce2geek.fr/

tu peux ajouter autant de liens que tu le souhaites tout en respectant ce format. Une ligne de séparation par blocs.

 

Les différentes améliorations possibles

  1. Rendez-vous dans le cloud : Mets ton script sur un petit nuage. Oui, on parle d’un serveur cloud type AWS EC2 ou Google Cloud Compute Engine. Et avec une petite routine cron pour le caresser doucement, ton script se réveillera et vérifiera tes backlinks pendant que tu seras peinard à siroter ton café.
  2. Une interface qui claque : Laisse-moi te dire qu’une interface web, c’est le grand luxe. Avec Flask ou Django, tu pourras lancer ton script et zieuter les résultats sans quitter ton navigateur préféré.
  3. Bip-bip, alerte backlink : Un backlink qui se fait la malle ? Sois le premier informé avec des notifications qui poppent direct sur ton Slack ou dans ta boîte mail. Pratique, non ?
  4. Un coffre-fort pour tes données : Stocke tes précieuses infos dans une base de données comme MySQL ou MongoDB. C’est comme un album de souvenirs pour les backlinks, tu pourras voir l’évolution au fil du temps.
  5. Vitesse lumière, on active le cache : Pourquoi refaire le même trajet deux fois ? Un système de cache, et tes vérifications de backlinks fileront à la vitesse de la lumière.
  6. Un CLI qui déchire : Pour les aficionados du terminal, un CLI bien huilé avec des options à gogo, c’est le pied pour personnaliser à l’envi le script.
  7. Multiplication magique : Pourquoi vérifier un backlink à la fois quand on peut tous les traiter en parallèle ? Avec asyncio ou concurrent.futures, c’est une vérification en mode mitrailleuse.
  8. Un détective de patterns : Pour ne rien laisser passer, on affine les expressions régulières ou on passe à BeautifulSoup pour extraire les liens avec la précision d’un horloger suisse.
  9. Un tableau de bord pour régner : Visualise ton empire de backlinks avec un dashboard qui te donnera tout : santé des liens, distribution des ancres… Bref, le Graal du SEO.
  10. Les fantômes JavaScript : Certains backlinks jouent à cache-cache via JavaScript. Mais avec Selenium ou Puppeteer, même pas peur, tu les débusques !
  11. Insistez, persistez : Parfois, le web te résiste ? Notre script, armé de tentatives de reprise intelligentes, ne connaît pas le mot abandon.
  12. Rapports de luxe : Des rapports tellement complets que tu pourrais les exposer dans un musée, exportables en CSV, PDF, ou en API.
  13. Entrée VIP : Des pages qui jouent les précieuses avec une authentification ? Notre script se munit de sessions et de cookies pour entrer sans frapper.
  14. Alerte en temps réel : Pour les backlinks qui comptent vraiment, on met en place une surveillance H24. Le moindre frémissement et t’es sur le coup.
  15. Le multi-domaines : Tu n’es pas mono-manique, hein ? Alors surveille tous tes domaines et sous-domaines avec brio.
  16. Les potes SEO : Associe-toi avec les APIs SEO pour des analyses truffées de données croustillantes comme le DA ou le PA.
  17. L’agent secret : Reste dans les clous avec les politiques de robots.txt et évite de te faire griller avec un bannissement IP.
  18. Et la cerise sur le gâteau : L’enregistrement des résultats en CSV. C’est la classe, non ? Tu analyses, tu partages, tu règnes.

 

Passe la main à un pro du SEO !

Alors, tu te sens comment après ce marathon de Python pour la surveillance de tes backlinks ? Si t’as l’impression que c’est pas ton truc ou que t’as juste envie de déléguer cette bataille des backlinks à un pro, j’ai une piste pour toi.

Tu sais, parfois, faut reconnaître ses limites et laisser les clés à quelqu’un qui maîtrise le SEO comme un chef. C’est là que Martin entre en scène, notre ninja du SEO freelance qui a un don pour faire grimper les sites dans les SERPs sans faire suer la perte de backlinks.

Lui filer la gestion de ton SEO, c’est un peu comme passer de la voiture à pédales à une fusée. Il va te sortir de la routine des check-ups manuels, te concocter une stratégie SEO aux petits oignons, et surtout, s’assurer que ta place dans Google reste aussi stable qu’un sumo en équilibre.

Et puis, soyons sérieux deux minutes, si coder te donne des boutons ou si t’as juste un business à faire tourner, pourquoi pas investir dans un accompagnement SEO sur mesure ? Martin te file un coup de main pour que ton site se la coule douce en haut des résultats de recherche.

Besoin de ce mercenaire du SEO ? Sors de la fosse aux pythons et jette un œil ici : un accompagnement SEO par un freelance. Et après, “back to business as usual”, avec la sérénité d’un site qui charme Google comme jamais.

 

Alors, voilà, l’artiste, t’as entre les mains un script Python qui te permet de garder un œil vif sur ces foutus backlinks, comme un faucon surveille ses proies. Utilise-le comme il faut, et tu pourras veiller sur ton petit empire du net.

Laisse pas les liens te filer entre les doigts, parce que dans cette vaste arène qu’est le SEO, c’est pas le nombre de tes followers qui compte, mais la solidité de tes backlinks. Et si tu laisses ton site se faire enfouir sous la poussière de la deuxième page de Google, autant lui dire adieu direct.

Donc, récapitulons pour les deux du fond qui suivent pas, tu colles ton script sur un serveur, tu l’arroses d’un peu d’amour de développeur, et tu le laisses tourner. Si t’as un lien qui se disparaît comme par enchantement, tu le sais direct, et tu peux réagir plus vite que l’éclair.

Et si t’es pas encore convaincu, réfléchis à ça: chaque backlink perdu, c’est un pas de plus vers l’oubli, un pas de plus vers la page 3, 4, 5… Là où même le meilleur des contenus se noie dans l’océan d’Internet. Alors fais tourner ce script, histoire de ne pas finir comme le dernier des losers dans les tréfonds du web.