28 March 2024


formation avancée au référencement

Posts Tagged ‘cloaking sur referer’

Les applications du cloaking : cloaking sur referer et IP delivery

Jeudi, janvier 29th, 2009

Nous voici à nouveau sur cette technique du cloaking. Après avoir lu avec conscience et sérieux le premier volet introductif aux techniques de cloaking, vous devez être impatient(e)s de connaître ou confirmer ces techniques en environnement réel.

Je présenterai ici une petite collection des applications du cloaking, qui bien sûr n’est pas limitative et encore moins une référence. Le cloaking peut être amélioré, affiné, et chacun aura sa recette (plus ou moins bonne).

Le cloaking sur referer et IP delivery qu’est-ce que c’est ?

Le cloaking sur referer : “dis-moi d’où tu viens et je te montrerai ce que tu aimes”

Le cloaking sur referer est une technique visant à présenter un contenu différent en fonction de la provenance du visiteur (humain ou robot). En PHP, on se servira de la variable super globale $_SERVER pour le récupérer et l’utiliser à nos fins.

$referer = $_SERVER['HTTP_REFERER'];

IP delivery : “dis-moi qui tu es et je te montrerai ce que tu cherches”

L’IP delivery consiste à “délivrer” un contenu en fonction de l’ip du visiteur. C’est simplement du cloaking sur IP, mais avec la différence que ce n’est pas destiné forcément aux robots.

Un exemple plus parlant et concret est le fait d’utiliser l’IP delivery pour cibler les publicités que l’on diffuse en fonction de la zone géographique du visiteur.

Cloaking sur referer et IP delivery en action

Voici une technique assez puissante qui vous permet d’obtenir des liens sans que l’échange soit complètement réciproque.
Je m’explique. Vous avez passé votre pause déjeuner à vous concocter une armada de MFAs pour financer vos prochaines vacances. Pas peu fier de la somme de contenu que vous avez réussi à amonceler, vous vous dites “Voici de quoi nourrir un bot !”.
Mais pour que le bot trouve votre mine de contenu, il faut faire connaître les sites… Donc, vous commencez votre référencement sur des annuaires plus ou moins populaires, ou à validation automatique qui forcément vont vous demander des liens retour (s’ils ne vérifient pas le contenu du site, ils vérifieront la présence du lien).
Pour cela, 2 solutions : soit ils lancent un script de vérification, soit ils y vont manuellement. C’est là que l’on applique notre script…

Dans une base de données, on enregistre le domaine du site (tld, pas de sous-domaine hein), on insère aussi l’ip du serveur et finalement, le code source du lien qui sera vérifié.

 CREATE TABLE `seo`.`partenaire` (
`partenaire_id` INT NOT NULL AUTO_INCREMENT ,
`partenaire_domaine` VARCHAR( 30 ) NOT NULL ,
`partenaire_ip` VARCHAR( 16 ) NOT NULL ,
`partenaire_code` TINYTEXT NOT NULL ,
PRIMARY KEY ( `partenaire_id` )
) ENGINE = MYISAM

Maintenant, on va détecter de manière assez simple si le visiteur (humain ou script) vient du serveur sur lequel on a soumis un lien. Pour cela, on utilisera la fonction suivante.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
//  Vérifier que le referer n'appartient pas à un annuaire auquel on a soumis, sinon, on affiche le lien
function bad_referer($referer, $ip){
  $buffer = '';
  $value = null;
 
  //  Isolation du domaine
  $uri = parse_url($referer, PHP_URL_HOST);
 
  //  Récupération du TLD
  if (preg_match('#www\.#U', $uri)){
    preg_match('#www\.(.*?)\.?(.[a-z]{2,3})#Usi', $uri, $match);
    $value = $match[1].$match[2];
  }
  else{
    preg_match('#.*\.(.*?)(.[a-z]{2,3})#U', $uri, $match);
    $value = $match[1].$match[2];
  }
 
  //  Affichage de tous les codes des partenaires pour ce domaine
  $q = mysql_query("SELECT * FROM partenaire WHERE partenaire_domaine='".$value."' OR partenaire_ip='".$ip."'");
  if(@mysql_num_rows($q) != false && @mysql_num_rows($q) > 0){
    while(@$r = mysql_fetch_object($q)){
      $buffer.= ' '.stripslashes($r->partenaire_code);
    }
  }
 
  echo $buffer;
 
  return;
}
?>

L’utilisation est très simple, à l’endroit où vous souhaitez afficher les liens des partenaires, il suffit d’appeler la fonction comme cela :

<?php bad_referer($_SERVER['HTTP_REFERER'], $_SERVER['REMOTE_ADDR']);?>

Comme les admins d’annuaire sont tous presque tous des flemmards ( :D ), ils ne vont pas masquer le referer s’ils font une vérification manuelle de la présence du lien. C’est là qu’on agit. Sinon, ils utilisent un script de vérification automatique et on grille l’adresse IP du serveur.

Grâce à cette technique, vos sites ne ressembleront pas à des guirlandes de Noël et vous pourrez toujours être référencés.
La technique ultime consiste à faire un cloaking sur les robots en plus afin que les liens s’affichent pour eux. Cela vous permet d’y insérer également vos propres liens :D

Il est possible de conserver en session la visite depuis le referer traqué pour que le lien apparaisse toujours sur les autres pages dans le cas d’un lien en footer.

J’espère que vous en avez appris un peu et que vous suivrez le prochain épisode avec autant d’attention, en attendant, ne soyez pas evil hein ;)