Vous êtes ici Codes PHP et MySQL > Google > Rediriger Googlebot, Googlebot-Image et les...

 

Rediriger Googlebot, Googlebot-Image et les visiteurs venant de Google

Ce script est fait pour les anti-Google !

Il provoque des redirections selon les 4 situations suivantes :
1) Googlebot visite la page : on l'envoie vers une page
2) Googletbot-Image visite la page : on l'envoie vers une page
3) un utilisateur visite la page en venant de Google : on le redirige vers la page affichant les résultats pour la même requête mais dans Yauba, Yahoo ou Ixquick
4) un utilisateur visite la page en ne venant pas de Google : on le redirige vers une page

Toutes les URL sont choisies au hasard parmi des arrays (tableaux) associatifs, et les redirections sont permanentes (code 301 du protocole HTTP).

Au pire, on affiche une page HTML.

Une partie du code vient de l'article http://www.cooldev.net/article-93-ya-pas-que-google-dans-la-vie.html de Romain Follet.

Attention ! Etant donné que ce script agit en fonction du moteur, son usage relève d'une stratégie de référencement comprenant des pratiques de dissimulation. Vous risquez d'être banni de l'index de Google. Je vous suggère de sacrifier un sous-domaine de votre site à ce script si vous désirez l'utilisez sans risque. De plus, la redirection du visiteur sans l'avertir est une pratique anti-ergonomique, à éviter !

Édition dimanche 31 mai 2009 :
* les redirections sont temporaires (sinon Google ne repasserait pas) ;
* détection de Google par IP et hôte DNS (bien plus fiable que la signature de l'agent-utilisateur) ;
* suppression de la redirection en meta refresh pour les AU non-Google.

Page de sauvegarde du script (au cas où Google voudrait placer celle-ci sur liste-noire).
 
poujolrost-mathias
Site de l'auteur voir
[14] sources en PHP voir
Code vu 2665 fois
Enregistré le 02 Mai 2009
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Rediriger Googlebot, Googlebot-Image et les visiteurs venant de Google
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Rediriger Googlebot, Googlebot-Image et les visiteurs...  */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts512-PHP.htm              */
/* Auteur         : poujolrost-mathias                                        */
/* Date édition   : 02 Mai 2009                                               */
/* Website auteur : http://site.mathiaspoujolrost.net/competences/            */
/*                                                                            */
/******************************************************************************/
 
 
/* ETAPE 1 : détection de la provenance de Google et récupération de la req. */
/* le visiteur vient-il de Google ? */ 
if ( isset ($_SERVER["HTTP_REFERER"]) && 
preg_match('!^http://(www|images)\.google\.[a-z]{2,3}(\.[a-z]{2,3})?/!i'$_SERVER["HTTP_REFERER"]) )
    { $isGoogleReferer true; } 
else     { $isGoogleReferer false; } 

/* si il vient de Google on capture sa requête (param. q dans l'URL) */ 
if ( $isGoogleReferer && preg_match ('!q=([^\&#]*)!i',$_SERVER["HTTP_REFERER"],
$matches) )
    { $googleQuery $matches[1]; } 
else     { $googleQuery null; } 

/* si la req. Goog. de l'internaute été récupéré, on la rend utilisable */ 
if ( $googleQuery )
    { $googleQuerySanitize =  preg_replace('![^a-z0-9éèàùçÇÉÀÈÙêÊ\s]!i'' 'rawurldecode($googleQuery) );
$google str_replace("+"" "$googleQuerySanitize); } 
else     { $googleQuery ''; } 
// FIN ETAPE 1 (détection de Google si c'est la provenance) 
// crédit pour cette partie : la majorité du code ci-dessus est une 
// réécriture plus simple d'un bout de code de Romain Follet : 
// http://www.cooldev.net/article-93-ya-pas-que-google-dans-la-vie.html 
// merci à lui pour ce morceau de code :D 
// merci à lui pour ce morceau de code :D

/* ETAPE 1 BIS : détection de Google par l'IP ou l'hôte DNS */
$ip strval($_SERVER['REMOTE_ADDR']);  // conversion en string
$host gethostbyaddr($ip);

$GoogleByHost false;
$GoogleByIP false // valeurs par défaut

if (preg_match("/crawl-66-249-[\d]{1,3}-[\d]{1,3}\.googlebot\.com/"$host))
    {$GoogleByDNS true;}

if (preg_match("/66\.249\.[\d]{1,3}\.[\d]{1,3}/"$ip))
    {$GoogleByIP true;}
// FIN ETAPE 1 BIS
// crédits : http://www.actulab.com/identification-des-robots.php
// et : http://www.robots.darkseoteam.com/
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----
 
 
/* ETAPE 2 : définition des URL de redirection */
/* URL vers lesquelles Googlebot-Image sera redirigé */
$URLsPourGooglebotImage = array( 
"http://www.uneurl.net",
"http://www.uneurl.net",
"http://www.uneurl.net"
); 

/* URL vers lesquelles Googlebot sera redirigée */
$URLsPourGooglebot = array(
"http://www.uneurl.net",
"http://www.uneurl.net",
"http://www.uneurl.net"
); 
 
/* construction de la même req. dans d'autres moteurs et métamoteurs */
$memeRequeteMaisDansYauba "http://fr.yauba.com/?q={$googleQuery}&target=all";
$memeRequeteMaisDansYahoo ="http://fr.search.yahoo.com/search?p={$googleQuery}";
$memeRequeteMaisDansIxquick "http://ixquick.com/do/metasearch.pl?query=
{$googleQuery}&cat=web&pl=ff&language=francais";

/* URLS vers lesquelles les visiteurs venant de Goog. seront redirigés*/
$UrlsPourVisiteurVientDeGoogle = array(
"$memeRequeteMaisDansYauba",
"$memeRequeteMaisDansYauba",
"$memeRequeteMaisDansYauba",
"$memeRequeteMaisDansYauba",
"$memeRequeteMaisDansYauba",
"$memeRequeteMaisDansYahoo""$memeRequeteMaisDansYahoo""$memeRequeteMaisDansYahoo",
"$memeRequeteMaisDansIxquick""$memeRequeteMaisDansIxquick"
); // Yauba 50%, Yahoo 30%, Ixquick 20%

/* URL pour les les autres visiteurs */
$UrlsPourVisiteurNeVientPasDeGoogle = array( 
"http://www.uneurl.net",
"http://www.uneurl.net",
"http://www.uneurl.net"
); 
// FIN ETAPE 2 (définition des URL de redirection )
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----


/* ETAPE 3 : détection de l'agent-utilisateur (user-agent)  */
/* on cherche "Googlebot-Image" ou "Googlebot" dans la signature de l'UA */
$IsGooglebotImage strpos($_SERVER["HTTP_USER_AGENT"],"Googlebot-Image");
$IsGooglebot strpos($_SERVER["HTTP_USER_AGENT"],"Googlebot");
// FIN ETAPE 3
// ----- ----- ----- ----- ----- ----- ----- ----- ----- -----


/* ETAPE 4 : redirection */
/* si l'agent-utilisateur est Googlebot ou Googlebot-Image */
if ($GoogleByDNS || $GoogleByIP || $IsGooglebot !== false) 
{
    /* si l'agent-utilisateur est Googlebot-Image */ 
    if ($IsGooglebotImage !== false) 
    {
            /* choix d'une URL au hasard */
            $indice array_rand($URLsPourGooglebotImage);
            $destinationFinale $URLsPourGooglebotImage[$indice]; 
    }
    elseif ($GoogleByIP || $GoogleByDNS)
    {
            /* choix d'une URL au hasard */
            $indice array_rand($URLsPourGooglebot);
            $destinationFinale $URLsPourGooglebot[$indice];
    }
    /* si l'agent-utilisateur est Googlebot (normal) */
    else
    {
            /* choix d'une URL au hasard */
            $indice array_rand($URLsPourGooglebot);
            $destinationFinale $URLsPourGooglebot[$indice];
    }
    
/* éxécution finale en cas de visite de Google */ 
/* redirection permanente + affichage (au cas où) */ 
header("Location: ".$destinationFinale."",TRUE,302);    
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="mis">
<head>
    <title>Content</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     <meta http-equiv="refresh" content="0;URL='.$destinationFinale.'">
</head>
<body>
<p><a href="'.$destinationFinale.'" rel="me">mon site web</a>.</p>
</body>
</html>
';
} // FIN si l'agent-utilisateur est Googlebot ou Googlebot-Image 

/* si l'agent-utilisateur n'est aucun des Googlebots ci-dessus */
else 
{
    /* si le visteur vient de Google */
    if ($isGoogleReferer && $googleQuery) 
    {
            $indice array_rand($UrlsPourVisiteurVientDeGoogle);
            $destinationFinale $UrlsPourVisiteurVientDeGoogle[$indice];
    }
    /* si le visteur ne vient PAS de Google */
    else 
    {
            $indice array_rand($UrlsPourVisiteurNeVientPasDeGoogle);
            $destinationFinale $UrlsPourVisiteurNeVientPasDeGoogle[$indice];
    }
/* éxécution finale de la redirection */
header("Location: ".$destinationFinale."",TRUE,302);
}
// FIN ETAPE 4 (redirection) 
// ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- 
exit;

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
    <title>Prénom Nom</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p><a href="http://wwww.monsiteweb.net" rel="me">mon site web</a>.</p>
</body>
</html>
 

Fonctions du code

: Détermine si une variable est affectée - (PHP 4, PHP 5)
: Expression rationnelle standard - (PHP 4, PHP 5)
: Rechercher et remplacer par expression rationnelle standard - (PHP 4, PHP 5)
: Décode une chaîne URL - (PHP 4, PHP 5)
: Remplace toutes les occurrences dans une chaîne - (PHP 4, PHP 5)
: Récupère la valeur d'une variable, au format chaîne - (PHP 4, PHP 5)
: Retourne le nom d'hôte correspondant à une IP - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Trouve la position d'un caractère dans une chaîne - (PHP 4, PHP 5)
: Prend une ou plusieurs valeurs, au hasard dans un tableau - (PHP 4, PHP 5)
: Envoie un en-tête HTTP - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Affiche un message et termine le script courant - (PHP 4, PHP 5)
Commentaires
J'ai mis 9 comme note car le code est complet. J'aurais quand meme éviter de mettre des metas refresh qui sont blacklistés par Yahooo et MSN. Ca etant e je suis entierement d'accord avec toi; il n'y a pas que Google dans la vie.

ton code s'apparente à du cloaking mais vu que c'est pour refouler Google, ca passe très bien.

Pour empecher google de venir tu peux aussi procéder avec le fichier robots.txt placé à la racine du site

User-agent: Googlebot-Image
Disallow: /

User-agent: Googlebot
Disallow: /
 
Merci :D

Je viens de faire une importantes mise à jour (les nouveautés sont signalées).

C'est tout-à-fait de la tromperie, je le revendique ! Au niveau du fichier robots.txt, j'utilise carrément le suivant :
User-Agent: Googlebot
Disallow: /
Allow: /index.php

User-Agent: Googlebot-Image
Disallow: /
Allow: /index.php

User-agent: Mediapartners-Google
Disallow: /

User-agent: Adsbot-Google
Disallow: /
 
quel est le but de "refouler google ?"
C'est un choix politique ?
Moi qui fait mes premiers pas dans le référencement... je ne comprend pas.
 
 Oui, c'est "politique" : refuser de confier tout son contenu à Google et prouver que l'on peut exister sans lui.

Il s'agit aussi de s'affranchir ("s'indépendantiser") de lui.

Pour moi, c'est un vrai kiff de s'exclure de lui, sachant que cela fait aussi du contenu en réserve en cas de bad buzz contre moi : il me suffirait alors d'autoriser Google à indexer mes contenus, pour en partie contrer les contenus négatifs contre moi.

Mais pour revenir sur tes débuts en référencement, oublie cette pratique : elle est dangereuse et as efficace (évidemment).

Regarde plutôt du côté de ce tutoriel en référencement http://www.dev3w.com/tutoriel-referencement.htm , et ce classement des 30 annuaires francophones les plus efficaces : http://www.labo.atypicom.fr/actualite-du-referencement/annuaires/le-classement-des-30-premiers-annuaires-de-site-juin-2009-2009060301.html .
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Google

 
 

PHP

 
 
 
Maîtrisez PHP4 Livre PHP

Maîtrisez PHP4
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité