Si Imacros est utile en phase de création de liens, il l’est tout autant lorsqu’il s’agit de vérifier que les backlinks qu’on a posés sur une page sont bien présents. Je vais donc vous partager une petite astuce qui vous permettra de recetter votre campagne de netlinking en utilisant les fonctions avancées d’Imacros.

Tester la présence d’une URL avec Imacros

Tout d’abord, vous aurez besoin de la liste des URLs sur lesquelles vous avez soumis un lien. Cela peut être, par exemple, la liste des URLs des articles que vous avez utilisés pour votre session de blog comment. Regroupez-les dans un fichier CSV que vous glisserez dans votre dossier source. Déclarez votre fichier et initialisez la boucle pour qu’Imacros exécute le traitement qui va suivre sur chacune des URLs.

CMDLINE !DATASOURCE input.csv
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!LOOP}}

La première étape consiste à demander à Imacros de rechercher votre URL parmi les liens du document. Pour faire cela, nous allons utiliser XPath, dont la syntaxe est supportée par Imacros depuis 2011.

Par exemple, si l’URL cible que vous avez utilisée est « google.com », il vous faudra rechercher dans le DOM la chaîne de caractères « google.com ». L’expression XPath sera donc //a[contains(@href,’google.com’)][1].

Le double slash suivi du « a » signifie qu’il faut rechercher toutes les balises <a> du document, peu importe leur position. La fonction contain suivie des deux chaînes de caractères indique quant à elle qu’il faut sélectionner les liens dont l’attribut href contient la chaîne de caractères « google.com ». Enfin, le prédicat [1] indique qu’il ne faut retourner que le 1er élément correspondant à ces critères dans l’arbre du document.

La requête XPath étant formulée, il suffit de demander à Imacros d’extraire le contenu demandé, c’est-à-dire l’ancre du lien. Si l’URL figure dans le document, elle sera extraite, sinon la première colonne du fichier de sortie sera vide.

TAG XPATH="//a[contains(@href,'google.com')][1]" EXTRACT=TXT

Connaître l’attribut du lien : dofollow ou nofollow

Bien entendu, on ne s’arrête pas là. On va maintenant demander à Imacros d’extraire la valeur de l’attribut « rel » du lien. Cela permettra ainsi de savoir si le lien glâné est en dofollow ou en nofollow. Pour faire cela, nous allons maintenant utiliser les expressions régulières.

Première chose : il faut passer l’extract précédent en variable.

SET !VAR1 {{!EXTRACT}}

Puis on va chercher la valeur de l’attribut « rel » en utilisant les expressions régulières (Imacro supporte également l’utilisation des regexp). C’est là que la variable que l’on vient de stocker va nous être utile :

SEARCH SOURCE=REGEXP:"<a(.*)rel="(.*)".*>{{!EXTRACT}}</a>" EXTRACT=$2

A noter que j’ai essayé via XPath de faire la même chose, mais sans succès. Imacro ne semble pas comprendre une syntaxe du type :

TAG XPATH="//a/@rel" EXTRACT=TXT

Ajouter l’URL du domaine référent

Il ne reste plus qu’à extraire l’URL depuis lequel est effectué ce lien, pour avoir en votre possession l’ensemble des informations importantes à associer à votre campagne. Cela tient en une ligne :

ADD !EXTRACT {{!URLCURRENT}}

Enfin, pour terminer, il faudra enregistrer votre fichier de sortie dans le dossier de votre choix. Ce fichier contiendra donc 3 colonnes :

  • l’ancre du lien
  • l’attribut « rel » de ce lien (à nettoyer éventuellement d’autres attributs qui auraient pu être récupérés)
  • la page depuis laquelle vous recevez le backlink

Libre à vous ensuite de mettre en forme tout cela, de créer des statistiques, etc. Pour les plus pressés, voilà la macro complète  😉

VERSION BUILD=6900210    
SET !ERRORIGNORE YES
' Passez la valeur à yes si vous voulez tester les valeurs récupérées
SET !EXTRACT_TEST_POPUP NO
' Pour accélérer le traitement
FILTER TYPE=IMAGES STATUS=ON
CMDLINE !DATASOURCE input.csv
SET !DATASOURCE_COLUMNS 1
SET !DATASOURCE_LINE {{!LOOP}}
TAB T=1       
URL GOTO={{!COL1}}    
TAG XPATH="//a[contains(@href,'google.com')][1]" EXTRACT=TXT
SET !VAR1 {{!EXTRACT}}
SEARCH SOURCE=REGEXP:"<a(.*)rel="(.*)".*>{{!EXTRACT}}</a>" EXTRACT=$2
ADD !EXTRACT {{!URLCURRENT}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=output.csv

NB : au passage bonne chance à tous les SEO pour le concours Sentimancho !