26 April 2019


formation avancée au référencement

Cloaking : panorama des techniques

Pour commencer ce nouvel article, je tiens tout d’abord à préciser que le cloaking c’est mal !

A quoi sert le cloaking ?

Le cloaking est une technique qui consiste à présenter aux moteurs de recherche un contenu différent de celui que l’on affichera pour les visiteurs. On détecte la présence du crawler, et on se débrouille pour lui envoyer les meilleurs morceaux de la page qu’il recherche, en augmentant la densité, en lui déroulant la collection d’expressions clés que vous avez sélectionnée avec amour, en insérant les liens vers les pages que vous avez choisies pour arriver en tête des résultats.

Jan a fait un article il y a un paquet de temps, mais cela reste une référence pertinente pour les débutants cloakers, vous pouvez y jeter un œil si vous n’êtes pas à l’aise avec ces techniques Black Hat.
L’un des avantages de cet article est qu’il présente les utilisations diverses et variées du cloaking.

Ca a l’air simple comme ça, c’est vrai, mais dans la pratique, il existe un certain nombre de techniques, plus ou moins compliquées, plus ou moins fiables et qui vous laisseront passer des nuits plus ou moins tranquilles :lol:

Pour cet article, j’ai choisi de procéder par langage, puis par type de cloaking. Je ne présenterai pas de script, mais seulement les manières de procéder possibles. Les scripts feront l’objet d’un billet à part.

Le cloaking avec Javascript

C’est ce qu’on utilisait dans les bonnes vieilles pages satellites :D Maintenant c’est vraiment grillé, mais ça marche pour les affiliations (j’y reviendrai plus tard ;) ). Je vous déconseille formellement de jouer avec ça sous peine de déclassement ultra rapide !

Sachant que les robots n’interprètent pas le JS (attention, il peuvent le lire, c’est pour cela qu’ils grillent les pages satellites), les redirections faites en JS ne fonctionnent pas, et l’on peut cloaker comme des porcs.
Il y a deux manières de procéder : soit on fait une redirection en JS de manière à renvoyer le visiteur humain vers la page ayant un contenu tout joli, tout bien intéressant, et le robot reste sur la page et indexe tous les bons mots-clefs choisis rien que pour lui, soit on utilise une balise noscript qui contiendra le contenu spécifique aux bots. Cette dernière technique est beaucoup plus risquée car les bots sont suspicieux sur les balises noscript, mais en plus vous risquez le spam report puisque les tricks sont visibles dans la source.
On préfèrera donc la méthode suivante :

<script type="text/javascript">
<!--//
  window.location = 'http://pagepourhumain.tld';
//-->
</script>

à celle-ci

<script type="text/javascript">
<!--//
  //on met un peu de code pour être moins suspect;
//-->
</script>
<noscript>Contenu optimisé pour les robots</noscript>

beaucoup trop dangereuse.

PHP et les langages serveurs : la solution optimale pour le cloaking

PHP, comme ASP, Perl ou Java, est un langage serveur-side, c’est à dire qu’il est interprété par le serveur web et qu’il envoie les résultats générés au navigateur à la fin du script.

Vous comprenez ainsi pourquoi il est avantageux d’utiliser un langage côté serveur pour faire du cloaking : il ne laisse pas de traces de traitement dans la source !

Je ne vais pas m’attarder longtemps sur PHP car on retrouvera de nombreux exemples dans le second volet de mon chapitre sur le cloaking, donc on passe à l’action tout de suite !
Deux axes différents peuvent être donnés au cloaking en PHP : la redirection, ou la génération de contenu selon le profil du visiteur. Je m’explique, si votre visiteur est humain, vous pouvez le rediriger vers une autre page de votre site (ou un autre site) et laisser le robot indexer la page en cours, ou vous pouvez, et c’est conseillé, afficher conditionnellement un contenu la page différent pour le bot ou l’humain.
Exemple :

<?php 
$visiteurType = getVisiteur();
if($visiteurType == 'robot'){
  //  on génère un code juste pour le robot
}
else{
  //  on affiche la page normale pour les visiteurs, ou on redirige vers le site choisi
}
?>

L’avantage de telles techniques est que l’on peut générer du contenu à la volée pour rassasier l’appétit des crawlers sans que ce texte soit parfaitement compréhensible pour un humain… De la bouillie pour robot quoi ;)

On reviendra sur PHP dans quelques temps avec des techniques plus poussées pour servir des objectifs bien clairs, mais pour le moment, nous ne nous intéressons qu’à la technique simple.

Les fichiers .htaccess pour cloaker avec Apache

Dans le genre indétectable, il existe aussi le cloaking par htaccess qui permet d’employer deux techniques différentes : IP et User Agent.
Le principe est le même que pour PHP, à la différence que cette technique est beaucoup moins souple et que l’on utilisera la réécriture d’url (url-rewriting) pour servir des pages spécifiques aux robots et aux utilisateurs. Ainsi, les robots ne verront pas certaines pages mais référenceront le site tout de même. Les pages destinées aux utilisateurs seront elles servies normalement, en toute transparence.
On utilisera un code tel que celui-ci pour le cloaking sur User Agent (dangereux)

RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule .* http://www.page_pour_google.com [R=301,L]

et un code de ce genre pour le cloaking sur IP (exemple emprunté à l’auteur de ce blog)

RewriteCond %{REMOTE_ADDR} ^216\.239\.(3[2-9]¦[4-5][0-9]¦6[0-3])\.([0-9]¦[1-9][0-9]¦1([0-9][0-9])¦2([0-4][0-9]¦5[0-5]))$¦^64\.233\.(1([6-8][0-9]¦9[0-1]))\.([0-9]¦[1-9][0-9]¦1([0-9][0-9])¦2([0-4][0-9]¦5[0-5]))$
RewriteRule .* http://www.page_pour_google.com [R=301,L]

L’intérêt est donc de présenter deux contenus différents, mais sur deux urls différentes… A chacun de drainer le trafic comme il faut… Il faut ensuite faire une règle de réécriture inverse pour servir les pages correctes aux visiteurs si ceux-ci suivent les résultats d’indexation de Google.

Conclusion

On a maintenant trois techniques de cloaking disponibles. Je ne présenterai pas la technique des meta refresh car j’en parlerai dans un autre billet, plus…. adapté dirons-nous :D !
A chacun d’entre vous de les utiliser si le cœur vous en dit et que vous pensez passer de bonnes nuits toute de même… Je ne vous le conseille pas, mais à vous de faire le choix !

Le prochain volet vous présentera l’application de ces techniques en fonction d’objectifs précis, et nous pourrons imaginer des exemples concrets.
A très vite !

Tags: ,

12 Commentaires pour “Cloaking : panorama des techniques”

  1. Cloaking : les différentes techniques a dit :

    [...] L’article : Cloaking : panorama des techniques [...]

  2. Amateur a dit :

    Tu poses les bases…. j’attends de voir la suite ;-)

  3. BlackMelvyn a dit :

    Oui, le reste sera d’ailleurs plus croustillant et appliqué ;)
    edit: j’ai supprimé le lien, pas de Q ici ;)

  4. 512banque a dit :

    Tiens, je suis en train d’écrire un billet sur le multi-cloaking, càd le cloaking pas que appliqué à l’amélioration du positionnement, mais permettant d’améliorer d’autres choses (taux de conversion, taux de clic, etc)…

    J’attends donc la suite !

  5. alfred a dit :

    Il ne me parait pas bien difficile pour un gros moteur (les seuls qui nous intéressent) de faire une comparaison site référencé, site “visible”, en utilisant une IP qui n’aurait pas été rendue publique (cad pas connue comme liée à un bot), un referrer au pif et un UA bien classique.

    On commence même à voir des outils pour comparer le cache Google avec la page réelle, histoire d’aller dénoncer jalousement son concurrent.

  6. BlackMelvyn a dit :

    Et pourtant… :D

  7. alfred a dit :

    Je suis en train d’en mettre en place, donc je verrai bien :)
    Mais il est certain que je ne fais pas ça pour les sites de mes clients, c’est beaucoup trop risqué (surtout vu la “loyauté” qui règne dans ce doux monde du référencement dit “white-hat”).

  8. tom a dit :

    Excellent! J’ai hâte que tu passes aux exemples PHP! ;)
    A+

  9. Chris a dit :

    Salut, je voudrais savoir s’il est possible de forcer le robot a indexer toutes les langues que j’utilise sur mon site. Quand un internaute arrive sur la 1ere page, j’ai un script qui affiche français, espagnol ou anglais selon la langue du navigateur de l’internaute. Anglais est la langue par défaut de cette page, mais voila, google référence toujours la première page en anglais et tout le PR passe de la page d’accueil aux autres pages anglaise mais jamais aux pages française ou espagnol. Y a-t-il moyen de détecter la langue du robot et donc de modifier mon script original pour faire de même avec les robots?
    Merci d’avance,
    Chris

  10. BlackMelvyn a dit :

    Les robots ne transmettent généralement pas de langue dans leurs User Agent, du coup, c’est à toi de fournir des liens crawlables vers les autres langues sur ta page d’accueil, mais également lorsque tu linkes depuis d’autres sites.

  11. Mél a dit :

    Le cloaking javascript has been ?
    Je le croyais aussi, et bien voici un contre exemple : http://www.clicboutic.com
    C’est grossier, mais ça marche depuis un bout de temps !
    As tu une explication ?

  12. BlackMelvyn a dit :

    Ben, une simple dénonciation et le site tombe… Surtout que c’est fait avec des gros <noscript>
    Ca manque d’élégance ! C’est has been ! :)
    Un bon cloaking, on ne peut que le soupçonner (dans le meilleur des cas) :D

Réagissez !