Cloaking white hat : comment améliorer son crawl budget ?

L’objectif de cet article est de vous présenter ce qu'est le cloaking et comment s'en servir : cloaking is not a crime. Grâce à Patrick VALIBUS dirigeant de l'agence 410-gone.fr, nous allons vous expliquer comment optimiser votre crawl budget.

Avec la technique du cloaking nous allons vouloir l’optimiser cette fréquence de passage du moteur de recherche : mieux l’utiliser et l’augmenter.

Quelques définitions

White hat et Black Hat : les différences

Si vous faites du SEO depuis un petit moment ou du hacking, vous savez que les white hats sont les gentils et les black hats sont les méchants. Mais globalement, en SEO ce sont toutes les pratiques qui risquent plus ou moins, certaines plus que d’autres, d’engendrer une pénalité sur votre site. Dans cet article, nous n'aborderons que la partie White Hat du cloaking.

Le cloaking : qu’est-ce que c’est ?

Le cloaking est le fait de montrer un contenu qui est différent à deux entités : l’internaute qui vient sur votre site web, vous lui montrez quelque chose, et Google, vous lui montrez autre chose ! Il peut être fait avec d’autres variantes. Le cloaking peut par exemple servir à empêcher des bots X ou Y de venir crawler votre site en boucle, des bots de spam, etc.… Et du coup d’économiser de la ressource aux serveurs des moteurs de recherches mais aussi à celui de votre site.

Le Page Rank

Le Page Rank, de nom de Larry Page co-fondateur de Google, n’est plus communiqué par Google. Aujourd’hui, des outils comme Majestic, avec le Citation Flow (CF), et Ahref (avec l'UR) en donnent une estimation. Le PR reste un indice et il fait clairement partie de l’algorithme de Google et c’est une information utile. Sur votre site, chaque page va avoir un Page Rank. La question devient comment sculpter son Page Rank ? C'est le Page Rank sculpting.

Le Crawl Budget

Le crawl budget, c’est globalement le temps que Google va bien vouloir passer sur votre site à le crawler. Plus vous en avez, mieux c’est ! Plus il regarde votre site, plus il a de la chance de trouver des choses à présenter aux internautes, donc c’est bénéfique pour vous.

Différence entre white hat et black hat pour le cloaking

Voici quelques exemples d'application du cloaking  afin que vous fassiez la différence dans l'application du cloaking :

White hatBlack hat
Cloaker des liens internesChanger du contenu pour le bot
Bloquer une page pour le moteur de rechercheModifier du contenu pour Adword
Cloaker des liens externes

Nous ne recommandons absolument pas d'appliquer les techniques Black Hat car elles sont pénalisables par Google.

Comment fonctionne Google bot ?

fonctionnement-google-bot

Googlebot est paramétré de telle sorte à ce qu'il visite une liste d'urls. Dans cette liste, il commence par la première url et va voir ce qu'il y a dedans et analyse le contenu en prenant la version appelée texte brut : c'est un bot de premier niveau. Il ne fait pas comme un humain qui irait cliquer sur les liens les uns après les autres dans la page avec sa souris. Lorsqu'il rencontre un lien interne, il le mémorise afin de venir le visiter ultérieurement. Il ne visite pas immédiatement la page liée par ces liens internes. Le bot visitera ces liens lors d'une prochaine boucle de crawl et ainsi de suite. Ceci se comprend lorsque nous réalisons des analyses de logs : elle permet de mieux comprendre le parcours de Google lorsqu'il rencontre une url. Il s'agit là uniquement de la première étape du processus d'indexation d'un site par le moteur de recherche (Il y en a plusieurs dans le cadre du fonctionnement global  du bot notamment celle du référencement et classement d'un site dans  Google).

Le cloaking white hat

Préambule : le cloaking White hat n'engendre aucun risque de pénalité par Google.

Il y a souvent des divergences de vues et de perception entre les designers d'interface web (UX) et les référenceurs SEO. Lorsque l'on fait un audit de site et en fonction de la position que l'on occupe, web développeur ou auditeur, les points de vue sur la pertinence d'un lien, de son positionnement peuvent diverger. Untel trouvera le lien pertinent, l'autre vous dira qu'il est inutile et ainsi de suite.

Le cloaking de liens va vous permettre de régler cela.

La question de savoir si nous faisons ou pas un lien parce que c’est bien pour le référencement naturel ou c’est bien en expérience utilisateur ne se pose plus grâce au cloaking de liens. Vous faites les liens que vous voulez pour Google, et les liens que vous voulez pour les utilisateurs.

Ainsi, nous n'avons vraiment plus aucun conflit entre les UX et les SEO. Lors de ce type de problèmes sur un projet, il ne faut pas hésiter pas à mettre en place du cloaking de liens.

L'analyse de log

Graphique-Google-Search-Console

Pour mieux utiliser votre budget crawl, vous devez faire de l’analyse de logs l'objectif étant de supprimer les urls et les liens non pertinents en SEO. De manière plus simple, vous pouvez observer dans votre Google Search Console le nombre de pages explorées par jour. Ce sont en réalité plus des hits de visites que le nombre de pages réellement visitées.

Il est préférable que Google aille voir vos pages HTML quand il fait ça, plutôt que tout un ensemble de fichiers JavaScript, de fichiers CSS, … inutiles pour un bon référencement.

L'analyse de log va vous permettre également de cibler les fichiers JS ou CSS à rediriger voire cloaker. En effet, un grand nombre de ces fichiers peuvent être générés automatiquement par des CMS tels des Drupal, des Magento, des Wordpress : ils compressent du JS ou du CSS pour faire du fichier numérique mis en cache à chaque modification ou du fichier versionné tout simplement … Il se trouve que vous allez avoir tous les jours à chaque mise en production de votre site une nouvelle version du fichier JS. Mais même si ce fichier JS devient une page orpheline, Google va continuer d’aller dessus. Et potentiellement, au bout d’un moment, vos x pages par jour de crawl par Google seront pour une grande partie des fichiers JS ou CSS et non des fichiers HTML. Ces fichiers font partie des choses qui peuvent être intéressantes à bloquer soit avec du noindex soit par du cloaking, si vous en avez besoin de les garder.

Ainsi, vous serez attentif à une meilleure utilisation de votre budget crawl par le moteur de recherche.

Augmenter son budget crawl

Nous allons aborder le glissement sémantique et de maillage. Vous avez certainement déjà vu des graphiques de type Cocon.se, Visiblis, etc. Dans ces graphiques, chaque rond est une page de site, une page HTML uniquement. Plus le rond est gros, plus il emmagasine de Page Rank interne. Chaque couleur correspond à un cluster sémantique et chaque cluster représentant une grande famille de champs lexicaux. Ainsi, vous allez pouvoir isoler les liens.

maillage visiblis

Ce que l’on voit à gauche est très désorganisé : vous avez un point vert tout seul au milieu, vous avez des points rouges qui pointent vers des points bleus… Nous ne sommes pas sur quelque chose de très ordonné. Le pire, c’est que sur les quatre gros points principaux, vous avez une home page qui est au milieu et puis derrière nous allons trouver des mentions légales, des pages contact, des CGV … auxquelles énormément de Page Rank est attribué parce qu’elles sont dans le footer donc lien site wide. Or dans l’absolu, ces pages là d’un point de vue pertinence sont inutiles car il n'est pas souhaitable que les visiteurs arrivent directement dessus et il faut donc traiter ce problème.

Sur la partie droite du schéma est le même site internet : c’est beaucoup plus ordonné. Les grappes de contenus sont groupées. Les tailles des clusters sont beaucoup plus uniformes. Le Page Rank est mieux réparti entre les différentes pages. Dans la stratégie qui a été utilisée, la page d'accueil a même grossi un petit peu en termes de Page Rank. Il n'y a plus de points inutiles. Les points qui vont correspondre aux pages Contact et CGV sont ici dans les plus petits points.

Quel est l'intérêt de mieux répartir son PR ?

Si vous faites de l’achat de liens, vous allez vouloir être vraiment dans une thématique. Cette thématique, en fait, pourquoi ? Si vous avez une page qui parle de santé, de médicaments par exemple, et qui a un lien vers une page qui parle de micro-ondes, ce n’est pas un lien qui sera aussi puissant que si vous restez dans la même thématique. L’idée ici, c’est d’appliquer cela à l’intérieur du site.

Google raisonne actuellement en termes de URL et plus de sites, peu importe. L’idée c’est vraiment de se dire que chacune de vos pages qui parlent d’un sujet fasse des liens vers des pages qui sont proches en termes de sujet. L’intérêt c’est vraiment d’avoir un glissement sémantique qui soit cohérent entre les pages.

Pourquoi cela va-t-il améliorer votre crawl budget ? Si Google voit que vous avez des liens qui sont pertinents, qui pointent vers d’autres pages, qui permettent d’enrichir l’information qu’il vient de trouver, il va se dire que votre site est super cohérent et qu’il a plus intérêt à venir le crawleur que d’autres sites qui eux vont être organisé n’importe comment. En plus, pour lui, c’est mieux, en termes de ressources, etc.…

L'idée est de venir appuyer le fait qu’en travaillant vos contenus de manière sémantique, il faut aussi avoir une sémantique d’ensemble dans le site qu’il soit cohérent. Comme le dit Olivier ANDRIEUX,

Content is King, link is  Queen, Semantic Content is Emperor !!!

En travaillant vos contenus de manière sémantique, il faut aussi avoir une sémantique d'ensemble dans le site qui soit cohérente. Pour cela, il faut bien sûr utiliser des outils tels que Semrush ou Ahref pour trouver les bons champs lexicaux et qui vont vous permettre de trouver la proximité des mots les uns par rapport aux autres et donc de rédiger une page qui sera cohérente d’un point de vue sémantique.

L'étape suivante est d’aller faire des liens vers d’autres pages avec cette cohérence sémantique. Vous obtiendrez un ensemble qui sera puissant, sémantiquement parlant. C'est quelque chose qu’il faut bien avoir en tête si nous voulons que notre travail soit précis et performant, et que Google lui fasse honneur.

Le cloaking sur l'aspect technique : comment le faire ?

Le cloaking backend avec PHP

Je vous préconise d’utiliser un framework donné de manière open source à la communauté qui s’appelle www.in-cloaking-veritas.com et qui est complètement gratuit et qui a été validé par Julien Gadanho d'un point de vue sécurité.

reverse dnsC'est un framework que Patrick a voulu pour le white hat et vous êtes vraiment tranquille en termes de risque de détection. Mais il est clairement dimensionné pour faire aussi du black hat.

C'est un code propre et Il est désormais utilisé par beaucoup de gens et dites-vous que vous ne serez pas le seul à faire du cloaking.

Pour rentrer un peu dans le détail de son fonctionnement voici un schéma qui vous décrit vraiment comment fonctionne ce framework de cloaking.

Il y a trois grosses étapes. Tout d'abord, la détection du user agent. Lorsque Google vient sur votre site, il vous dit : « coucou, je suis Googlebot. » Vous allez aussi détecter l’IP. Vous croisez ces deux informations et ensuite vous allez faire un reverse DNS  de l’adresse IP. C'est la version ceinture et bretelle qui va vous permettre de vérifier qu’il s’agit bien de Google. Nous avons donc trois niveaux de vérification pour être sûr qu’il s’agit bien de Google sur votre cloaking.

L’idée est d’être sûr de parce que si vous changez des liens et que vous rendiez la navigation moins propre pour votre utilisateur cela ne va pas être pratique. Le but est que l’utilisateur n’ait aucune question à se poser en UX. Ce schéma donne vraiment tout l’algorithme du cloaking. L’idée ajoutée à ce framework, c’est qu’il y a une couche de cache.

Du cache, pourquoi ?

Quand vous allez faire un test pour vérifier que c’est Google, le but est qu'une fois que l'IP est validée, vous n’allez pas le re-checker avec la reverse DNS  à chaque fois, etc. En effet, cela prend du temps, et du coup, en termes de ressources serveurs, ce n’est pas l'idéal. Mais, une fois que vous êtes sûr que c’est Google, vous pouvez lui présenter le site encore plus vite. Nous sommes sur des temps de détection qui sont très faibles. Cela a été testé avec un outil comme JMeter : nous obtenons des chiffres inférieurs à 56 millisecondes pour ceux qui s'intéressent à la web performance.

 Que pouvons-nous cloaker avec ce framework ?

  • Cloaker de l’entête HTTP.

Imaginons que vous souhaitiez aller plus vite que du noindex pour des ressources telles que de JS qui est indexé, des fichiers JSON, des données dans des fichiers à plat en texte… vous allez avoir à nettoyer l’index de Google grâce au cloaking d'en-tête. Vous allez pouvoir faire un petit test en PHP avec ce script pour déterminer s'il s'agit de Google. Si c'est le cas, vous envoyez un code 410 sur cette ressource. Le code http 410 indique à Google que la page n'existe plus.

Cela va permettre de nettoyer l’index de Google de toutes les ressources de manière extrêmement rapide. Les fichiers robots.txt, les noindex sont des solutions qui permettent de nettoyer l’index de Google ou la search console. Mais, ce ne sont pas forcément les plus rapides. Le code 410 est la méthode la plus efficace actuellement pour nettoyer l’index de Google. Nous sommes donc dans l’amélioration de l’utilisation du crawl budget du moteur de recherche.

  • Le cloaking de liens pour l'aspect sémantique.

Il s'agit de quelque chose de très simple. Le rendu utilisateur ou rendu Google sont identiques.

rendu-utilisateur-Google-cloaking

L'image de gauche montre un site cloaké coté utilisateur et celle de droite est un screenshot de la même url grâce à la commande “cache:” : c’est la commande qui permet de voir comment Google a stocké votre page.

La seule chose qui change est le lien “voir le produit” qui n'est plus souligné. Il y a un lien également sur l’image, mais là il n’y a pas de rendu visuel. Cela signifie que le rendu texte brut est exactement le même. Il n’y a pas de changement de contenu, sémantique ou autre. Le reste du texte est strictement identique. Il peut y avoir quelques changements de la mise en page (par exemple des retours à la ligne) mais il n’y a pas de contenu changé. C'est important car c’est justement cela qui va vous éviter une potentielle pénalité.

Le code est très simple.

script cloaking de lien

La première ligne de commande demande s'il s'agit de Google ou de quelqu'un. Si c'est Google, le script laisse l’ancre texte du lien, donc ici c’est le texte “voir le produit” qui est dans le bouton.

Sinon (commande else), il laisse la structure classique d’un lien HTML qui va être “a href votre nom de domaine, le lien vers la page et l’ancre de votre lien” à l’intérieur des balises.

C'est le seul changement qui apparait. Lorsque nous visualisons la version de la page en texte seul en utilisant la commande “cache:monsite.com”, le rendu brut est exactement le même hors lien. Si vous prenez une version cloakée et une version non cloakée de votre page et vous analysiez les pages un outil comparateur de texte, vous obtenez exactement la même chose. C’est à cette seule condition que vous serez tranquille d’un point de vue risque de pénalité. Ce point est très important.

Si vous n’êtes pas à l’aise avec le PHP ou que votre site ne permet pas de le faire ou que vous n’avez pas de développeur et que vous êtes plutôt JavaScript, il y a une autre manière d'obtenir le même résultat avec l'obfuscation.

Le cloaking frontend.

Cette méthode est côté frontend du site web. L’idée va être de faire ce que l’on appelle l’obfuscation. L'objectif est de conserver le comportement du site : je clique quelque part et cela déclenche une action identique que ce soit pour l'utilisateur ou pour Google. Le même code est donné à Google et à l’utilisateur : il n'y a pas de détection en amont d’IP, de l'user agent… Avec la méthode précédente, les liens que nous aurions cloaké avec du PHP seront  obfusqués avec cette méthode : nous allons y mettre une action avec du code Javascript.

en-tete-javascript

Il ne s'agit donc pas de mettre un <a href=\”ndd.com/lien-vers-la-page.html\”>ancre texte de mon lien</a>”.onnclik=ndd.html car cela ne marche pas. En effet, lorsque Google voit une chose qui ressemble à une adresse de page web et il la met dans sa liste d’URL à crawler et il revient voir plus tard. Cela serait une action inutile.

Le script qui sera utilisé est  un “add event listener” en JavaScript. L’idée en fait, ça va être de mettre une classe que j’ai choisi d’appeler “démo” dans mon conteneur span en HTML et à côté j’ai mis une version encodée en base 64 de l’URL de ma page. Cette URL de page, l’idée est que chaque fois que vous allez cliquer sur un lien, et bien en fait, le JavaScript, lui il voit qu’un événement clic et il voit que c’est sur un événement clic que quelque chose s’appelle démo. Et du coup, il va récupérer le contenu de la variante de données, mais Data block et il va la décrypter avec la base 64. Puis, il va le rediriger vers la bonne page.

javascript-pour-lien

Donc là, vous avez deux sécurités par rapport à Google pour aller crawler cela. La première chose est que l’on rappelle que Google c’est un bot, c’est du texte, il ne clique pas. Deuxième chose, il ne voit pas que c’est un lien, il n’y a rien qui dit que c’est un lien. Là pour le coup, c’est juste une balise HTML de mise en forme. Derrière, il ne comprend pas la base 64. Il ne va pas s’amuser à les décrypter, il est gourmand en ressources. Il a tout le web à crawler, il a mieux à faire.  Avec ça, vous êtes tranquille.

C’est quelque chose qui est utilisé notamment par des gens qui font de l’affiliation sur Amazon qui utilisent ce script. Parfois ce sont des versions un peu plus simples. Mais avec ce script, vous êtes tranquille.

L'indexation avant/après cloaking de lien

Le cloaking et l'obfuscation de lien apporte une nette amélioration de l'indexation des pages d'un site dans l'index primaire de Google. Vous pouvez observer une rapide augmentation du nombre de pages indexées même si Google peut jouer avec vous et faire des re-descentes du nombre de pages indexées dans les jours qui suivent.

Les tests réalisés montrent clairement qu'avec ces techniques, vous gagnez en crédibilité auprès de Google. Cela se traduit par un crawl budget en augmentation et un plus grand nombre de pages présentes dans son index primaire en termes de pertinence. Un site ayant servi de test est ainsi passé de 100 à 150 pages dans l'index primaire à plus de 270 pages à l'heure où nous rédigeons cet article.

Cloaker soi-même son site ?

Après vous avoir expliqué pourquoi et comment le faire, vous cloaker vous-même si vous maîtriser l'aspect technique du code PHP ou Javascript. Vous n'avez besoin que de quelques outils dont les scripts gratuits fournis dans cet article. Cependant, cela ne s'improvise pas en espérant révolutionner la serp en cloakant votre mégamenu.

Il est nécessaire voire incontournable de réaliser de l'analyse de log pour observer les problèmes de votre site et que vous allez voir comment Google analyse et visite votre site. Cela vous aidera notamment à voir vos pages sémantiquement désoptimisées et vous aidera à mettre en place votre cloaking.

Vous pouvez aussi faire appel à Patrick, professionnel du cloaking en visitant son site 410-gone.fr.

YouTube video