Cloaking vs Obfuscation

Cloaking, obfuscation. Voilà un sujet assez tendance dans le SEO, mais finalement un petit peu subversif. Faut-il utiliser ces techniques ? À quoi ça sert ? Comment les mettre en place ? C’est ce à quoi je vais répondre dans cette vidéo.

Salut, je suis Christophe Vidal. Cloaking ou obfuscation, voilà un sujet qui devrait faire parler. Alors pour commencer, je vais clarifier les choses. Je ne vais pas vous parler aujourd’hui de stratégie Black Hat, dont le but est de hacker Google. Non, je vais vous expliquer et on va discuter de l’utilité d’utiliser ces stratégies de cloaking et de SEO dans le cadre d’une stratégie White Hat. Alors forcément, on parle de stratégies SEO avancées, mais je vais essayer de vous expliquer les choses simplement.

Allez, c’est parti.

On verra un peu plus tard dans cette vidéo exactement à quoi correspondent ces deux stratégies de cloaking et d’obfuscation et comment les mettre en place assez facilement. Mais commençons par réfléchir sur les situations, les cas, dans lesquels on va utiliser ces deux stratégies.

Alors aujourd’hui, on va majoritairement parler de deux cas d’utilisation. La première, c’est l’optimisation du Crawl Budget de Google et la deuxième, c’est l’optimisation du PageRank. Mais aussi, du coup, indirectement, comment augmenter votre Crawl Budget.

Qu’est-ce que le Crawl Budget ?

Alors, rappelons rapidement ce que c’est que le Crawl Budget. Vous en avez forcément déjà entendu parler si vous faites du SEO. Grosso modo, les robots de Google passent leur temps à inspecter, à naviguer l’ensemble des sites Internet du monde entier. Ils disposent donc d’une liste d’URL qu’ils vont aller analyser. Qu’est-ce qu’ils vont faire, ces robots ? Ils vont analyser le code HTML des pages présentes dans leur liste et au fur et à mesure de leurs découvertes, ils vont chercher à comprendre tout ce qui peut ressembler à un lien. C’est-à-dire qu’ils ne vont pas forcément qu’analyser les balises a href, mais ils vont aller chercher tout ce qui ressemble à un lien, c’est-à-dire qu’ils vont commencer par http, https:// quelque chose. Et à chaque fois qu’ils vont découvrir un nouveau lien, ils vont l’ajouter dans leur liste d’URL à découvrir, à indexer pour leur prochaine visite sur votre site.

Vous le savez, le temps que les robots de Google passent à analyser votre site est limité, d’où ce terme de Crawl Budget. Votre objectif, ça va être donc de maximiser le nombre de pages intéressantes, pertinentes que les robots vont pouvoir analyser durant ce laps de temps réduit. Malheureusement, vous allez pouvoir vous rendre compte soit en analysant votre site, soit en faisant de l’analyse de logs, on en reparlera certainement dans une prochaine vidéo de la chaîne Semrush…

Vous allez vous rendre compte que les robots de Google passent beaucoup de temps à analyser, à étudier des pages qui sont inutiles. L’objectif du cloaking et de l’obfuscation, ça va être donc de bloquer ces pages pour que les robots de Google n’y accèdent pas, ne les visitent pas, mais que pourtant, dans le même temps, vos utilisateurs y aient accès normalement, car ces pages sont importantes pour eux, en termes d’UX, par exemple, et en termes d’information. Il y a des informations qui sont importantes et pertinentes pour les utilisateurs, mais pas du tout pour Google.

Optimisation du PageRank

En ce qui concerne la partie optimisation du PageRank… On a déjà parlé du maillage interne dans une précédente vidéo. On sait que Google va maximiser le passage de jus et va énormément apprécier les liens qui sont faits entre deux pages pour lequel il existe un glissement sémantique le plus faible possible. Notre objectif avec le cloaking et l’obfuscation, ça va donc être de pouvoir choisir les liens qu’on va laisser visibles pour Google dans une page afin de ne conserver que les liens qui vont passer un maximum de PageRank.

Pour autant, pour l’internaute, il pourrait y avoir d’autres liens qui permettront une navigation plus logique d’un point de vue utilisateur, mais pas forcément d’un point de vue sémantique.

Via le cloaking et l’obfuscation, on va donc pouvoir modeler le PageRank, optimiser le passage de jus. Et on va, de la même manière, venir améliorer notre Crawl Budget puisque Google va se retrouver sur un site qui va être structuré de manière logique d’un point de vue sémantique, et donc optimisé en termes de navigation, de Crawl pour les robots de Google.

Via l’obfuscation et le cloaking, on va donc venir travailler ce qu’on appelle le siloing de notre site Internet afin de créer des verticales sémantiques et thématiques. Et pour cela, on va venir supprimer du site l’ensemble des liens parasites. Donc, je pense à tout ce qui est les liens qui sont présents dans des méga menus, dans des footers, dans des sidebars qui viennent totalement casser la structure en silo. Je pense aussi à l’amélioration de certains liens en e-commerce, tels que les liens liés à la navigation à facettes, voire des liens liés à des wishlists, etc. Ces liens pouvant être de véritables catastrophes en termes de référencement Google.

Pourquoi ne pas se contenter d’utiliser des liens avec l’attribut nofollow ?

Alors à ce stade, vous devriez normalement me poser une question et me demander : « Pourquoi ne pas se contenter d’utiliser des liens avec l’attribut nofollow ? » Alors, tout simplement parce que notre cher ami Google a malgré tout tendance à suivre ces liens. Alors certes, il ne va pas transmettre de jus, mais il va tout de même les suivre et potentiellement découvrir les pages en question. Et le plus gros problème, c’est que si le jus n’est pas transmis, il est malgré tout perdu, exactement comme s’il avait été transmis.

Donc, on est devant de la perte de jus. Le jus est redonné à Internet plutôt que d’être donné à la page destination.

OK, on a donc maintenant bien compris le cadre d’utilisation de ces deux méthodes d’obfuscation et de cloaking. On va maintenant comprendre quelles sont leurs différences et comment les utiliser.

C’est quoi le cloaking ?

Alors, revenons tout d’abord au cloaking. À la base, c’était une technique utilisée dans le cadre de stratégie Black Hat pour hacker Google, pour optimiser les résultats dans les moteurs de recherche. L’objectif de cette stratégie de cloaking, elle est de réaliser une modification des pages au niveau du serveur. Donc au niveau du serveur, on va réaliser une action de manière à présenter une page qui va être différente en fonction de si vous êtes Google ou de si vous êtes un internaute classique.

 C’est quoi l’obfuscation ?

L’obfuscation, quant à elle, est une technique qui va s’exécuter côté navigateur, au niveau du client. Et donc, celle-ci va avoir pour objectif de venir « obscurcir, assombrir » les liens de manière à ce que les liens ne soient plus réalisés de la manière classique via une balise a href, mais que ces liens soient réalisés via un code JavaScript qui va intercepter le clic sur ce texte et transférer vers la page destination.

Obfuscation : comment ça marche ?

Pour mettre en place de l’obfuscation, on va donc venir travailler sur le code HTML de la page afin de remplacer les balises a href par quelque chose d’autre. L’une des premières méthodes les plus anciennes qui a été utilisée, c’est d’utiliser les attributs onclick qui permettent de lancer un événement JavaScript en disant : « Quand on clique sur cette zone, on ouvre telle page ». En utilisant ces méthodes-là, l’URL du lien est visible de manière claire dans le code source de la page. Donc, potentiellement, Google va malgré tout venir découvrir cette page-là.

Alors, on a tendance à dire qu’il n’y aura pas de passage de jus, que le passage de jus est réservé aux balises a href, les liens. Malgré tout, Google peut découvrir le lien.

Donc, ce que je vais vous proposer ici comme méthode, c’est une méthode basée sur un système d’encodage des liens en base64. Donc, vous pouvez retrouver ici un exemple. Vous voyez qu’on ne travaille plus sur une balise a href, mais tout simplement sur une balise de type span et que dans cette balise de type span, on vient retrouver ici un lien, le « data-qcd » ici, qui est un lien encodé en base64. Et on retrouve ici l’ancre du lien. Donc, sur la page va être écrit « mentions légales » et le lien va être ici décodé via un processus JavaScript en temps réel sur le navigateur de l’internaute.

Ce lien n’existera donc que pour l’internaute. Google ne verra jamais aucun lien. Il ne va donc ni le suivre ni transmettre du PageRank. Vous retrouvez un petit peu plus bas dans la page les différentes informations pour venir mettre en place ce code JavaScript afin d’encoder et de décoder vos URL.

Cloaking : comment ça marche ?

OK, passons maintenant au cloaking. Le serveur va donc tester la personne qui navigue sur le site afin de savoir si c’est Google ou si c’est un internaute classique. Pour cela, il va avoir différentes informations à sa disposition puisqu’en effet, il existe une notion d’user agent. Google vous informe que c’est lui, donc le serveur peut le reconnaître via cette information user agent. Alors malgré tout, afin d’éviter que des petits malins se fassent passer pour Google, on va aller plus loin en testant les adresses IP afin de reconnaître si c’est une adresse IP appartenant à Google ou pas. Et la dernière étape, on va faire un reverse DNS afin de s’assurer que cette adresse IP appartient bien au groupe Google. Nous savons maintenant si c’est Google qui est en train de visiter notre site, l’un des robots de Google, et on va donc pouvoir décider quel lien on lui affiche ou pas.

Ce qui est important de comprendre, c’est qu’un lien est composé de deux parties : l’ancre sur lequel vient se positionner le lien, et l’URL vers lequel le lien pointe. Via le mécanisme de cloaking, on ne va surtout pas toucher l’ancre, mais on va venir supprimer l’URL vers lequel le lien pointe. C’est vraiment important de garder en tête qu’on ne va pas modifier l’ancre. On ne va pas changer une seule virgule du contenu, ni une seule lettre, ni quoi que ce soit.

Le contenu brut est strictement identique entre la version cloaké et la version non cloaké. Et c’est pour cela qu’on parle d’un cloaking White Hat et qu’on ne sera pas pénalisé par Google.

On ne fait aucune manipulation du contenu afin de montrer quelque chose de différent à Google. On vient juste modifier les liens afin d’optimiser le PageRank et d’optimiser le Crawl Budget. Et finalement, ça rend le travail des robots de Google plus simple et c’est meilleur pour lui. Il n’a aucune raison de nous pénaliser pour cela.

On va regarder rapidement comment mettre cela en place en utilisant un framework. Le framework que nous allons utiliser pour mettre en place le cloaking s’appelle  » In cloaking Veritas ». C’est un framework gratuit que vous pouvez télécharger sur le site de même nom. L’installation est très simple, ça va vous prendre quelques lignes. Au pire, ça va vous rajouter aussi une tâche CRON pour mettre à jour les IP de Google dans la base de données. Mais une fois que cela est en place, vous aurez vraiment un test très simple à mettre en place ici sur votre site, de manière à savoir si c’est Google ou pas.

Et vous allez pouvoir choisir ensuite, en fonction du résultat du test de cloaking « checkifCloakingOk », vous allez choisir si vous affichez le contenu pour Google ou le contenu pour l’utilisateur. En complément de cela, on peut utiliser des expressions régulières pour remplacer automatiquement l’ensemble des liens présents dans une balise a href.

Bon, à ce stade-là, je dois avouer qu’il faut avoir un minimum de compétences PHP pour mettre cela en place, mais pas forcément besoin d’être un développeur. Mais avoir des compétences en PHP et JavaScript va bien vous aider. Si, malgré tout, vous n’avez pas du tout de compétence en développement et que vous utilisez un CMS, tel que WordPress, je vais vous donner deux petites astuces pour mettre en place du cloaking et de l’obfuscation sans aucune compétence technique.

Sur WordPress, si vous voulez faire de l’obfuscation, c’est-à-dire de l’obscurcissement des liens via JavaScript avec des méthodes basées sur l’encodage base64, vous pouvez utiliser un plugin qui s’appelle « OBF Link », OBFLink, qui est un plugin créé par WP Rank, qui va vous permettre directement, depuis votre back office WordPress, de choisir les liens que vous voulez obfusquer ou pas, les menus que vous voulez obfusquer ou pas, etc. C’est super pratique à utiliser et c’est très simple.

Si par contre, vous voulez mettre en place du cloaking dans votre WordPress, je vais vous inviter à utiliser un plugin créé par Nicolas Trimardeau. Ce plugin s’appelle « WordPress SEO Content Cloaker ». C’est un plugin qui va vous permettre, via l’utilisation de shortcodes, de cloaker le contenu principal de votre site WordPress. Alors, on ne parlera pas dans cette vidéo de la possibilité de faire du cloaking de manière « White Hat », on utilise donc Google Optimize. Ça sera peut-être l’objet d’une prochaine vidéo.

Conclusion

Voilà, c’est terminé pour cette vidéo sur le cloaking et l’obfuscation. Finalement, vous vous rendez compte que ce n’est que quelques lignes de code à mettre en place en PHP ou en JavaScript. C’est pas si compliqué que ça et ça peut vraiment avoir un impact intéressant sur la structure interne de votre site Internet. Et ça va permettre de réconcilier d’un côté une partie UX, où on pourra faire des tas de choses pour l’internaute, et de conserver un site optimisé d’un point de vue sémantique et d’un point de vue structure pour Google.

Voilà, j’espère que ça vous a plu. Écoutez, si c’est le cas, n’hésitez pas, comme d’habitude, à me laisser des petits commentaires, à me poser des questions, à liker la vidéo. N’hésitez pas à vous abonner à la chaîne Semrush. Et puis, encore mieux, activez la cloche pour être sûr de ne louper aucune de nos prochaines vidéos et d’être notifié à chaque fois qu’on va venir par là. Allez, je vous souhaite une bonne continuation.