Le cloaking, inutile ?
décembre 29, 2008 par Julien
Catégorie Référencement
Présentation
“La technique du Cloaking (en français dissimulation) est une technique utilisée par les black hat pour optimiser leur positionnement dans les moteurs de recherche. [...] Le seul usage légitime qu’il peut être fait de cette technique est de proposer seulement aux clients qui peuvent l’interpréter des contenus spécifiques (par exemple, un contenu Adobe Flash n’est pas lisible par un robot). Aujourd’hui, de meilleures méthodes d’accessibilité sont à disposition, rendant le cloaking inutile.” Source : Wikipedia.
Le cloaking est une technique légitime de référencement consistant à proposer deux versions d’une même page selon que le visiteur soit un robot ou un humain. Si le cloaking à mauvaise presse il n’en est pas moins vrai que de nombreux sites très connus et bien classés dans Google l’utilisent à bon escient.
Mais d’abord techniquement, le cloaking, comment ça marche ?
Le premier problème qui se pose lorsqu’on veut réaliser un bon cloaking est de réussir à bien identifier Googlebot (Et les autres robots). Il existe plusieurs méthodes avec chacune avantages et inconvénients.
Identifier Googlebot grâce à l’user-agent :
Lorsqu’une application se connecte à un serveur web, elle envoi généralement dans sa requête HTTP un entête “user agent” contenant une chaîne de caractères permettant de l’identifier. Il suffit donc pour détecter Googlebot d’examiner l’user agent.
La darkseoteam analyse en permanence les crawls de Google fait sur leur site. Vous donnant ainsi un user agent toujours à jour : “Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)“.
En général, si l’user agent au complet peu changer, certaines parties de la chaîne restent fixes dans le temps. Un bon moyen d’identifier les différents Googlebots est de vérifier la présence de “Googlebot” dans l’user agent. Exemple en Php :
if (preg_match("/Googlebot/", $_SERVER['HTTP_USER_AGENT'])) {
echo 'Bonjour Google !';
} else {
echo 'Toi tu n'es pas Google.';
}
Le gros problème de cette méthode est quelle est très facile à tromper. Un simple plugin Firefox comme User Agent Switcher permettra à n’importe qui de se faire passer pour Google à vos yeux. Bien sûr si vous faite du “whitehat cloaking” cela est sans importance, mais si par hasard vous avez des choses à cacher, vous aller au devant d’un spam report de la part de vos concurrents.
Identifier Googlebot grâce à l’IP :
Une méthode plus efficace consiste à identifier Google à partir de son adresse IP. La aussi la Darkseoteam propose une liste constamment mise à jour, mais le mieux consiste à exploiter vos logs apache pour réaliser votre propre liste qui sera alors à comparer avec la variable php $_SERVER['REMOTE_ADDR'] lors de l’identification.
Le problème ici, est que vous ne serez jamais sur de pas laisser parfois quelques Googlebots passer à travers les mailles de votre filet. Un moyen efficace est de faire un reverse DNS, c’est-à-dire transformer l’adresse IP de vos visiteurs en nom de domaine. Vous devriez alors voir apparaître “googlebot.com“.
> host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer
crawl-66-249-66-1.googlebot.com.
Il y a deux façons de mettre cela en place. La première en vérifiant bien que la directive “HostnameLookups” soit à “On” dans votre fichier de config Apache. Le nom de l’hôte sera alors présent dans la variable $_SERVER['REMOTE_HOST']. Le cas échéant, il vous est encore possible de faire un gethostbyaddr sur l’IP du client. Le code :
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
if (preg_match("/google.com/", $hostname)) {
echo 'Cloaking sur IP';
} else {
echo 'Version visiteurs';
}
Si cette dernière méthode est la plus efficace elle n’est certainement pas à conseiller sur des sites à fort trafic, la résolution DNS inverse étant assez lourde.
Il existe d’autres solutions envisageables. On pourrait imaginer par exemple utiliser gethostbyaddr conjointement à une table HEAP contenant les dernières IP ayant demandées une page pour limiter de trop nombreuses résolutions inverses. On doit aussi pouvoir se baser sur le fait que les robots d’indexation ne gèrent pas les cookies et génèrent des sessions à chaque demande de pages. Les solutions finalement ne manquent pas mais sont à moduler en fonction de vos contraintes.
Le cloaking, toujours blackhat ?
Il existe plusieurs applications légitimes du cloaking. Si par exemple vous utilisez des variables de tracking sur votre site, il est plus que conseillé de faire un cloaking sur vos liens internes pour éviter de générer du duplicate content. Des sites réputés comme la Fnac ou Amazon usent de cette technique de façon modéré. Il n’y a qu’à aller sur ces sites avec l’user agent de Google pour voir les différences.
Si votre site nécessite une inscription pour accéder à son contenu, vous pouvez très bien envisager de mettre en place un cloaking pour permettre quand même à Google de l’indexer. On se rapproche ici d’une pratique assez borderline, mais c’est ce qu’ils conseillent eux même pour Google actualités.
Le plus dur étant en général, comme toujours avec Google, de savoir ou se situe la ligne.














Commentaires
Laisser un commentaire...