Cet article montre
comment on peut faire du cloaking en PHP. Il est important de noter que le
cloaking est une pratique réprouvée par les principaux moteurs de recherche. Son
utilisation à des fins abusives/frauduleuses peut se solder par le retrait de
votre site des résultats des moteurs de recherche et sa consignation sur une
liste noire comme l’expliquent les deux articles suivants :
Nous donnons cet exemple à des fins éducatives seulement. Nous vous
déconseillons de le mettre en œuvre sur votre site compte tenu des risques
encourus (la meilleure façon d’améliorer la visibilité de votre site sur les
moteurs de recherche est de produire des contenus pertinents et populaires).
Nous rappelons que le cloaking consiste à présenter aux robots des moteurs de
recherche des pages et/ou des contenus différents de ceux présentés aux
utilisateurs humains. La détection de l’origine de la requête se fait sur la
base de l’adresse IP ou du USER-AGENT contenu dans l’entête du paquet http (à
noter que la technique qui utilise l’adresse IP est plus fiable sans être
toutefois infaillible).
En PHP il est possible de récupérer les informations du USER-AGENT via la
variable d’environnement $_SERVER["HTTP_USER_AGENT"]. L’adresse IP pour sa part
est disponible via la variable $_SERVER["REMOTE_ADDR"].
Avec la technique des wild cards vous pouvez vérifier la présence de certaines
suites de caractères dans l'user-agent, l'adresse IP ou l'hôte du visiteur (cela
vous permet de déterminer l’origine de la requête par échantillonnage
c'est-à-dire sans avoir à contrôler toutes les informations contenues dans le
USER-AGENT).
Exemple 1 : cloaking sur la base du USER-AGENT
Dans l’exemple suivant, la fonction strpos() vérifie la présence des chaînes de
caractères propres à Googlebot. Si la requête émane de Googlebot une page
cloakée est générée à la volée, sinon il y a génération d’une page standard
conçue pour les utilisateurs humains.
<?php
$trouve=strpos($_SERVER["HTTP_USER_AGENT"],"Googlebot");
if($trouve!==false){ // le visiteur est Googlebot, lui présenter la page cloakée
?>
<html>
... page cloakée pour Googlebot. </html>
<?php
}
else{ // le visiteur n'est pas googlebot, redirection vers une page standard?>
<html>
... page standard...
</html>
<?php
}
?>
Exemple 2 : Cloaking sur la base de l’adresse IP
Dans ce code trois pages différentes seront présentées aux visiteurs (une pour
Googlebot, une pour le robot Inktomi et une troisième pour les autres
utilisateurs).
<?php
$adresseip=strval($_SERVER["REMOTE_ADDR"]);
$google1=strpos($adresseip,"216.239.46");
$google2=strpos($adresseip,"64.68.8");
$google3=strpos($adresseip,"66.249.");
$slurp=strpos($adresseip,"66.196");
if(($google1!==false) || ($google2!==false) || ($google3!==false) || ($slurp!==false)){
// le visiteur est Googlebot ou Inktomi, lui présenter la page cloakée
?>
<html>
... page HTML cloakée pour Googlebot et Inktomi
</html>
<?php
}
else{ // le visiteur n'est ni Googlebot ni Inktomi, lui présenter la page
"standard"
?>
<html>
... page HTML "standard"...
</html>
<?php
}
?>
Liste des USER-AGENT et des adresses IP des principaux moteurs de recherche.
Les benchmarks de
Keynote Systems sont
conçus pour permettre aux entreprises de comparer la performance de leurs sites
de commerce électronique avec celle de leurs principaux concurrents. Au-delà
d’une simple mesure des indicateurs traditionnels comme le débit et le temps de
réponse, les benchmarks de Keynote tiennent compte des cas d’utilisation et des
contraintes sectorielles. Pour plus d’informations sur les benchmarks de Keynote,
leur méthodologie et leur utilité, consulter les articles suivants :