
Le Cloaking : Définition, Exemples et Scripts pour Cloaker
Le Cloaking est une technique souvent utilisé lorsque l’on fait du Black Hat SEO et que l’on veut cacher des choses mais on peut aussi l’utiliser pour faire du White Hat SEO.
Pour faire simple une page cloaké est une page dont il existe plusieurs versions.
Contrairement à ce qu’on peu lire sur le Web, le cloaking n’est pas interdit et c’est même recommandé par Google ainsi que d’autres moteurs de recherche. Car ça consiste à fournir un contenu sur mesure en fonction de celui qui le demande. Le cloaking peut donc améliorer l’UX et mieux convertir vos visiteurs.
Le cloaking n’est pas interdit !
Il faut garder en tête que le but de Google est de fournir la meilleure expérience utilisateur. Si vous avez le même but alors vous pouvez {utiliser|abuser} du cloaking 😉 Mais si votre but est de tromper les utilisateurs votre stratégie risque de ne pas durer.
Inutile de vous rappeler que cacher des liens et des mots clés c’est une forme de cloaking qui vise à tromper les moteurs et les internautes donc à ne pas faire.
Quelques exemples de cloaking autorisé :
Exemple 1 : ma page d’origine est en anglais, le visiteur est français on lui affiche le site en français tout en lui proposant la version anglaise.
Exemple 2 : par rapport à la provenance de l’utilisateur et la page demandé on lui fournis un résultat que l’on juge plus pertinent au moment où la page est demandé.
Exemple 3 : permettre aux moteurs de recherche d’indexer vos contenus pour les référencer et restreindre l’accès pour obliger à faire une inscription gratuite ou payante aux visiteurs humain.
Exemple 4 : désactiver certains scripts JavaScripts et CSS, Police d’écriture, etc.. pour les crawler afin d’accélérer le crawl de votre site. Ils sont en place pour l’expérience utilisateur pas pour la diffusion et le partage d’information.
Exemple 5 : supprimer tous les {liens|backlinks|échange de liens} de nos sites et PBN mais uniquement pour les robots collecteurs de données analytique comme Majestic, Semrush, Ahref etc… afin de ne pas permettre à vos concurrents d’identifier votre stratégie de Netlinking.
Exemple 6 : garder son site dans son état normal pour les robots des moteurs afin de maintenir son SEO et pour les visiteurs afficher une version légèrement modifié pour s’adapter à un événement temporairement comme Noël, Halloween etc…
Comment faire du Cloaking ?
Il faut savoir qu’il existe différentes façon d’obtenir des informations sur les visiteurs de nos sites internet. Comme vous le savez lorsque vous naviguez sur internet vous laissez des traces. Nous pouvons les obtenir avec les Cookies, le Referer, l’User Agent, l’IP et le Hôte.
Exemple de récupération du Referer en PHP :
<?php echo "Referer : ".$_SERVER['HTTP_REFERER']; ?>
Démo : https://www.black-hat-seo.org/labo/php/test_referer.php
Exemple de récupération de l’User Agent en PHP :
<?php echo "User agent : ". $_SERVER['HTTP_USER_AGENT']; ?>
Démo : https://www.black-hat-seo.org/labo/php/test_user_agent.php
Exemple de récupération du navigateur en PHP :
<?php function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $platform = 'Unknown'; $version= ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; } elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; } elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; } elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; } elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; } elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; } else { $version= $matches['version'][1]; } } else { $version= $matches['version'][0]; } // check if we have a number if ($version==null || $version=="") {$version="?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); } $ua=getBrowser(); $retour = "Navigateur : " . $ua['name'] . " " . $ua['version'] . " installé sur " .$ua['platform'] . " détecté grâce à l'user agent : <br>" . $ua['userAgent']; echo $retour; ?>
Démo : https://www.black-hat-seo.org/labo/php/test_browser.php
Exemple de récupération de l’IP du visiteur en PHP :
<?php function getUserIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared { return $_SERVER['HTTP_CLIENT_IP']; } else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //if from a proxy { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else { return $_SERVER['REMOTE_ADDR']; } } echo "IP : ". getUserIpAddr(); ?>
Démo : https://www.black-hat-seo.org/labo/php/test_ip_user.php
Exemple de récupération de l’hôte de l’IP du visiteur en PHP :
<?php function getUserIpAddr() { if (!empty($_SERVER['HTTP_CLIENT_IP'])) //if from shared { return $_SERVER['HTTP_CLIENT_IP']; } else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //if from a proxy { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else { return $_SERVER['REMOTE_ADDR']; } } echo "Hote associé à l'ip ".getUserIpAddr()." : ". gethostbyaddr(getUserIpAddr()); ?>
Démo : https://www.black-hat-seo.org/labo/php/test_hote_ip.php
Exemple de cloaking par Referer en PHP :
<?php $referer = $_SERVER['HTTP_REFERER']; if($referer=="https://www.black-hat-seo.org") { echo "Bonjour, Voici la page spécial BHS !"; } else { echo "Bonjour, Voici la page normal."; } ?>
Comment faire du cloaking pour Google ?
Il faut identifier les IPs, DNS, Hote et User agent de vos visiteurs. Google nous donne une piste à explorer avec la liste des robots d’exploration du Web qu’ils utilisent. On peut déjà identifier le user agent. Mais ca ne suffit pas car n’importe qui peut utiliser les user agent de Google donc on va aussi contrôler le Hote, l’IP ou les DNS pour éviter de se faire dénoncer par un concurrent.
Je vous publie ce script dans les prochains jours si ce sujet vous intéresse 😉
En attendant vous pouvez nous rejoindre sur le forum dédié aux cloacking pour en discuter.
sagessealp
11/06/2019 at 13 h 43 minBonjour, on pourrait avoir la suite de l’article ?
Jean Francois Dupin
01/03/2020 at 18 h 09 minElle est cloaké 😉