Google le dit depuis longtemps : le cloaking, ou action permettant de délivrer un contenu différent aux internautes et aux robots des moteurs de recherche, est interdit, illégal (selon la "loi Google") et passible de pénalités (bien que Google lui-même le pratique). Sur cette base, il est éventuellement possible de mettre en place certaines fonctionnalités sur son maillage interne afin de faciliter la navigation et le transfert sémantique des informations au sein même du site. Voici comment...

Par Patrick Valibus


Cet article présente des stratégie SEO qui peuvent s'avérer dangereuses à court, moyent ou long termes, bien que très intéressantes dans leur conception. Abondance avertit simplement le lecteur ici sur le fait que le cloaking est interdit par Google (bien que l'auteur de l'article soit d'un avis plus souple) et que toute action allant contre ces recommandations peut avoir un certain nombre de conséquences.

La rédaction de la lettre Réacteur.

Le cloaking est une technique (officiellement interdite par Google) qui permet de fournir un résultat (une page web) différent selon le visiteur qui demande à consulter une information. En SEO, un système de cloaking enverra par exemple une page donnée à un visiteur humain et une autre (le plus souvent plus optimisée) à un moteur de recherche.

Un article du site Abondance cristallise toute la difficulté qu'il y a à parler de cloaking aujourd'hui, que ce soit dans les réseaux SEO ou avec des clients. Ce n'est un secret pour aucun d'entre vous, Google aime inspirer la peur pour forcer l'abandon ou l'utilisation de certaines pratiques, comme le HTTPS par exemple. Dans le cas du cloaking, Google a, via sa communication autour des abus de certains, généré une peur, pour ne pas dire un fantasme de pénalité. Pour éviter de trop polémiquer dans un premier temps, nous vous proposons de vous expliquer tout d'abord comment et pourquoi cloake. Nous analyserons ensuite s'il existe des risques ou non.
Partons pour l'instant du postulat que nous ne cloakons que le maillage interne de notre site.

Pourquoi cloaker le maillage interne ?

Citons ici notre hôte, Olivier Andrieu, qui a dit au SEO Camp'us 2017 : « content is King, linking is his Queen, semantic content is Emperor ». Il y a dans cette phrase plusieurs interprétations qui renforcent notre conviction de la pertinence d'une stratégie de cloaking de maillage interne. Tout d'abord, les SEO ont tendance à ne considérer comme liens que ceux qui sont externes, venant d'autres sites. Ils sont de plus en plus complexes à travailler depuis le filtre Penguin qui vous mettra une claque en cas de suroptimisation des ancres. Heureusement, les ancres internes peuvent encore faire l'objet d'optimisations poussées. Notre propos est donc ici d'optimiser non seulement la distribution du PageRank interne (appelé PR Sculpting), mais également les transferts de sémantique. Nous prendrons pour exemple ici les conclusions des tests du blog Yooda insight :

Ces tests montraient que la sémantique n'était transmise que via les deux premières occurrences d'ancres : uniquement la première ancre texte et la première ancre image. On prend donc ici conscience de l'importance de choisir quelle sémantique d'ancre notre lien va transmettre à la page cible. Est-ce que l'on préfère se contenter par exemple du nom de votre catégorie repris (et noyé) dans un méga menu ou est-ce que l'on veut faire un beau lien dans un chapô ou a minima un paragraphe à la sémantique riche et favorable ?

Comment cloaker ?

Comme vous le voyez dans le schéma ci-dessous, le cloaking repose sur deux données de base, le user agent et l'adresse IP du lecteur de votre contenu.


Fig. 1. Schéma de cloaking sur un site web.

On trouve ici une triple vérification :

  • Est-ce qu'il s'agit du user agent de Googlebot ?
  • Est-ce qu'il s'agit d'une des IP de Googlebot ?
  • Est-ce qu'un reverse DNS de l'adresse IP renvoie vers Googlebot ?

Cette triple vérification est là pour être sûr à 100% qu'il s'agit du robot Googlebot. Pour information, pour détecter s'il s'agit de Googlebot, nous allons (dans le cas d'un serveur apache et d'un code PHP) écouter la variable suivante : $_SERVER[‘HTTP_USER_AGENT'] qui vous renverra au choix selon un crawl desktop ou mobile :

  • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Sachez que la Search Console et Google Translate utilisent le même user agent. Vous pouvez par exemple repérer Google Translate sur la base du referer (NB : la chaîne de l'http referer a été tronquée, ceci n'est que le début) :

$_SERVER["HTTP_REFERER"]="https://translate.googleusercontent.com"

Pour plus de facilité dans la mise en place, nous vous conseillons d'utiliser le Framework gratuit "In Cloaking Veritas" (https://www.in-cloaking-veritas.com) et qui contient toutes ces règles.

Si vous êtes développeur, vous pourrez aller fouiller dans le code source du framework (ce serait trop long de recopier le code ici) sinon, votre cloaking reposera sur le résultat de l’algorithme du framework.

Plus concrêtement cela se présente ainsi :

require_once(__DIR__ . "/../framework/framework.php");
echo "<h3>test 5 :  current UA and IP </h3>";
$testCloaking = new cloaking($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT'], true);
if ($testCloaking->checkIfCloakingOk(true, $linkDb, $ipRange))
    echo "il s’agit bien de google";
else
    echo "C’est un utilisateur classique";

Attention : le point le plus complexe dans la cloaking est la gestion du cache, vous devrez soit exclure les zones cloakées du cache soit gérer deux instances de cache. Ce point est très important et crucial. La bonne solution à mettre en place dépendra de nombreuses variables dans votre projet, il n'est malheureusement pas possible de vous proposer ici de recette toute faite.

Que faut-il cloaker dans le maillage interne ?

On le dit et on le répète, selon nous il ne faut cloaker que le maillage interne pour s'éviter des pénalités et ainsi faire du cloaking white Hat. Nous reviendrons sur ce sujet dans la section "risques" de cet article.

Les zones de navigations transverses

Commençons par les 2 grands classiques : le header (incluant le méga menu) et le footer. Dans le header, vous pouvez cloaker le méga menu (si présent), les liens vers l'espace mon compte, le panier (Voir exemple ci-dessous sur un site e-commerce). Ce sont des éléments qui n'apportent pas de sémantique et dénaturent le calcul du PageRank interne. Sur le même modèle, le footer est également un aspirateur à PageRank. Vous pouvez donc le retravailler en le cloakant.


Fig. 2. Exemple de site avant cloaking. La page panier (aucun intérêt SEO)
agrège ici une grande quantité de pagerank.

Attention toutefois : un lien panier, un lien mon compte, une page contact ou des CGV sont autant de signaux qui viennent confirmer à Google que vous êtes un e-commerçant par exemple. C'est pourquoi nous préconisons de laisser ces liens accessibles depuis au moins l'une des pages du site, le plus proche possible de l'accueil (si ce n'est depuis l'accueil lui-même). En revanche sur toutes les autres pages, vous pouvez clairement tout supprimer.


Fig. 3. Exemple de redistribution du page rank des pages « obligatoires
(contact, à propos) » vers les pages utiles en SEO.

On considère également que la homepage ayant un rôle de distribution du PageRank et de facilitation du crawl, il faut laisser un accès à toutes les pages depuis la home, et c'est à partir de l'étape suivante de navigation qu'on préconise de mettre en place les règles de cloaking. Cette absence de cloaking sur la home permettra par exemple de bien envoyer le signal de CGV, de pousser vos pages de réseaux sociaux (si votre stratégie est d'occuper les SERP en branding) mais pas trop. Vous concentrez ainsi vraiment le jus des pages inférieures entre elles pour dynamiser vos catégories et vos produits.

Si vous voulez être extrémiste, vous pouvez laisser par exemple un lien vers la page "contact" depuis la home, et dans la page "contact", laisser les liens vers vos mentions / CGV en clair.

Les zones internes

Sur un site e-commerce, la navigation à facettes est également un élément à cloaker au sens où elle n'apporte rien d'un point de vue sémantique. Bien sûr, si vous avez la capacité à afficher un contenu propre sur une facette et pas uniquement un filtrage des produits, vous pouvez le laisser. Ce n'est cependant que rarement le cas. En revanche pour les facettes, il convient de coupler ce travail à de l'analyse de logs et de backlinks. Avant de cloaker une page en 410 pour que google arrête de venir dessus, il faudra vérifier si la facette n'attire pas de trafic via un lien externe, auquel cas, une 301 sera plus appropriée pour cette facette précise.

Faut-il cloaker uniquement Google ?

Si l'on pense SEO en se limitant à Googlebot, on pourrait conclure qu'il serait le seul robot à identifier. Ce serait une conclusion bien trop hâtive. Voici ci-dessous une liste (non exhaustive) des autres bots à cloaker et pourquoi.

Les robots qui ne servent à rien :

Ces robots viennent crawler votre site mais ne servent à rien et, qui en plus est, utilisent de la bande passante inutilement. Ce sont les robots que vous bloquez dans Analytics, par exemple. Pour ces derniers, inutile de leur présenter une version sculptée, votre moteur de cloaking devra se contenter de leur envoyer une 500 (ou autre code qui vous fera plaisir, pourquoi pas une 418 après tout ?) l'idée est juste de ne pas :

  • Vous faire scrapper bêtement ;
  • Consommer de la charge serveur et de la bande passante qui seront précieuses pour vos visiteurs et les bots des moteurs. Quelques exemples :
    Mozilla/5.0 (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots) ;
    Mozilla/5.0 (compatible; Cliqzbot/2.0; +http://cliqz.com/company/cliqzbot).
    (l’idée ici est de parcourir votre access log à la recherche de lignes contenant « bot » pour ensuite décider de les filtrer ou non).

Les bots des outils seo :

On parle ici des crawlers des outils tels que Semrush, Majestic, Ahrefs ou encore Visiblis et Cocon.se. Nous allons les diviser en 3 catégories, avec 3 réponses à mettre en place.

Les outils que vous utilisez pour un audit SEO :

Si vous utilisez ces outils pour des audits comme la cartographie du site par Visiblis ou l'audit de projet de Semrush, il vous faudra leur servir exactement la même version qu'à Googlebot. Typiquement la cartographie du maillage interne est complètement différente avant ou après la mise en place du cloaking. Si vous ne faites pas les bons réglages, les indicateurs de votre audit n'auront aucune pertinence.
Exemple : Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/) => Majestic
(compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/)

Les outils que vous n'utilisez pas :

Même s'ils ne sont pas là pour vous scrapper ou dans un but malveillant, ils consomment de la charge serveur, voire peuvent être utilisés par vos concurrents pour espionner votre stratégie. Dans ce cas, il faut bien sûr les bloquer également. Vous économisez également dans ce cas de la charge serveur et de la bande passante.

Est-ce que vous vendez du lien ou de l'espace publicitaire par exemple ?

Ce dernier cas n'est pas à négliger : si vous êtes un média qui vend de l'espace publicitaire ou que vous monétisez vos métriques SEO via de la vente d'articles sponsorisés par exemple, il vous faudra laisser certains robots vous crawler. Un acheteur de lien qui ne voit pas d'évolution de son TF sur Majestic risque par exemple de douter de la qualité de votre site si le backlink reste à zéro. Vous pouvez cependant cloaker les JS et CSS sans trop de risques pour limiter au maximum la charge serveur.

Est-ce que c'est risqué ? Est-ce que je risque une pénalité ?

Tant que vous ne cloakez que le maillage interne, il n'y a rien à craindre. En effet, le crawl sémantique est basé uniquement sur le contenu des pages. Il existe d'ailleurs des cas de cloaking approuvés par Google. Vincent courson parlait par exemple du First click free lors du Seo Camp'us 2018 qui est en soit clairement un cloaking de contenu.

Prenez également AMP : l'objectif d'AMP est de vous faire afficher en AMP le contenu principal de la page. N'y voyez vous pas une forme de cloaking des aspects externes au contenu principal ?

Le seul risque en cloaking de maillage interne est de ne pas le monitorer correctement. En effet, vous allez devoir vérifier à chaque étape si vous n’avez pas de pages orphelines ou trop pauvres en lien après avoir désactivé certaines typologies de liens.

Un exemple de cloaking connu ?

Cdiscount aime le cloaking et l'obfuscation. Vous pourrez trouver sur ce site, en cherchant bien, trois exemples (en tout cas en date de début avril 2018) de cloaking :

  • Le cloaking du méga menu. Pour le reproduire : allez dans une catégorie de niveau 1 par exemple, jardin brico animalerie, passez en cache Google avec la requête cache:https://www.cdiscount.com/jardin-brico-animalerie/v-163-1.html
    Et voici le rendu au survol d'une catégorie autre que celle dans laquelle on se trouve :


    Fig. 4. Depuis la catégorie jardin de cdiscount, le menu literie est vidé via du cloaking.

  • Le cloaking du footer : si vous faites une requête cache : sur une page catégorie par exemple, dès que vous n'êtes plus sur la home, le footer n'est plus chargé.
  • Dernier exemple, la pagination de catégorie : dès que vous n'êtes plus sur la page 1, tous les liens de pagination sont obfusqués en Javascript.

En conclusion, que faire maintenant ?

Tout au long de votre projet de cloaking vous devrez avoir les bons outils, y compris pour décider de vous lancer ou non. Cela vous permettra de mesurer et de monitorer le potentiel et/ou les effets, que ce soit avec un crawler, une cartographie du PageRank ou de l'analyse de logs. Un bon cloaking poussé n'est pas un projet anecdotique, c'est un véritable projet SEO technique. Nous ne considérons pas pour notre part que ce soit une étape indispensable d'un projet SEO. Il est avant tout important de garder en tête, après avoir lu cet article, que le cloaking est un outil et non pas un objectif en tant que tel !


Patrick Valibus, Consultant SEO & E-commerce, agence 410 Gone (https://www.410-gone.fr/)