Sauvegarde et analyse les données de GoogleBot

  Information

Grosse mise à jour comme promis !!

Ce code sauvegarde dans une table MySQL les données du bot de Google quand il passe sur votre site et permet d'analyser ses données. 

Installez le code :

  • Ouvrez phpMyAdmin
  • Installer la table "google_googlebot" fournit dans le source
  • Placez le code dans le header de votre site
  • C'est terminé, pour la lecture j'ai mis la requete, à vous de l'installer ou vous voulez 

Que fait le code :

  • Il sauvegarde les datas essentielles de Googleboot
  • Il envoi un mail quand le bot passe sur votre site (vous pouvez supprimez cette option en commentant la fonction mail ()

Ce script fonctionne également avec d'autres spiders.

Vous pouvez avoir la liste de tout les spiders > ici < attention ca fait mal tellement il y en a !!

  code source classé dans  SEO - Référencement

 
 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    
                               
/*---------------------------------------------------------------*/
/*
Titre : Sauvegarde et analyse les données de GoogleBot

URL : https://phpsources.net/code_s.php?id=1096
Auteur : Web PHPFURAX
Date édition : 16 Aout 2019
Date mise a jour : 19 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
Date mise a jour : 05 Nov 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/

/*
CREATE TABLE `google_googlebot` (
`id_googlebot` int(10) NOT NULL,
`script_name` varchar(200) NOT NULL DEFAULT '',
`request_uri` varchar(200) NOT NULL DEFAULT '',
`redirect_url` varchar(200) NOT NULL DEFAULT '',
`http_referer` varchar(200) NOT NULL DEFAULT '',
`script_uri` varchar(200) NOT NULL DEFAULT '',
`script_url` varchar(200) NOT NULL DEFAULT '',
`redirect_status` varchar(5) NOT NULL DEFAULT '',
`date_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=MyISAM
*/

// $conn = mysqli_connect($db_server,$db_user_login, $db_user_pass, $db_name);
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot")) {
$s = '';
$var_server = array('SCRIPT_NAME',
'REQUEST_URI',
'HTTP_REFERER',
'REDIRECT_URL',
'REDIRECT_STATUS ',
'SCRIPT_URI',
'SCRIPT_URL ',
'REDIRECT_STATUS');
$tab_value = array();
// récupère les valeurs
foreach($_SERVER AS $item => $value) {
if ( in_array ( $item, $var_server ) )
$tab_value[$item] = $value;
}
foreach ($tab_value as $key => $value) {
if ( $key == 'SCRIPT_NAME' )
$esc_script_name = $conn->real_escape_string($value);
if ( $key == 'REDIRECT_STATUS' )
$esc_redirect_status = $conn->real_escape_string($value);
if ( $key == 'SCRIPT_URI' )
$esc_script_uri = $conn->real_escape_string($value);
if ( $key == 'REQUEST_URI' )
$esc_request_uri = $conn->real_escape_string($value);
if ( $key == 'REDIRECT_URL' )
$esc_redirect_uri = $conn->real_escape_string($value);
if ( $key == 'HTTP_REFERER' )
$esc_referer_uri = $conn->real_escape_string($value);
}
$conn->query("INSERT INTO `google_googlebot` ( script_name,
request_uri,
redirect_url,
http_referer,
redirect_status,
script_uri,
date_update )
VALUES('$esc_script_name',
'$esc_request_uri',
'$esc_redirect_uri',
'$esc_referer_uri',
'$esc_redirect_status',
'$esc_script_uri',
now() ) ");
$s = '';
// récupère les valeurs
foreach($_SERVER AS $item => $value) {
$s .= "\n$item : $value";
}
// message
$sdate = date("Y-m-d h:i:s");
$message = '<<< MESSAGE
Visite date:'.$sdate.'
Information:
=================================
'.$s.'
=================================';
// envoi du message
mail("mail@ndd.net", "googlebot alert", $message);
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
                                

// Lecture
$q = $conn->query("SELECT *
FROM google_googlebot ORDER BY date_update desc");

while ($r = mysqli_fetch_array($q)) {
echo $r['script_name'];
}
// Vide la table
$conn->query("DELETE FROM google_googlebot");

?>

      Fonctions du code - Doc officielle PHP

Détail    php.net  
Description
Versions PHP
   array
Crée un tableau
PHP 4, 5, 7 et 8
   date
Formate une date/heure locale
PHP 4, 5, 7 et 8
   echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
   in_array
Indique si une valeur appartient à un tableau
PHP 4, 5, 7 et 8
   mail
Envoi un mail
PHP 4, 5, 7 et 8
   mysqli_fetch_array
Retourne une ligne de résultat sous la forme d'un tableau associatif
PHP 4, 5, 7 et 8
   strstr
Trouve la première occurrence dans une chaîne
PHP 4, 5, 7 et 8
   strtolower
Renvoie une chaîne en minuscules
PHP 4, 5, 7 et 8

   Dites merci aux auteurs pour leurs travail, ça ne coûte rien et ça fait toujours plaisir wink

[6]

  • avatar

    MaxThieu

    04 Déc 2019 à 19:12

    Je l'ai installé, gros merci! Comment je fais avec plusieurs spiders? Je voudrais Qwant et Yahoo en même temps.

  • avatar

    Web PHPFURAX

    05 Nov 2019 à 08:02

    Grosse mise du code, dé que j'ai le temps je ferais une page responsive pour la lecture de la table. 
    Attention au remplissage de la table, ca monte vite :)  

  • avatar

    Web PHPFURAX

    22 Aout 2019 à 11:05

    Je vais faire une meilleur version plus tard, comme un ajout dans la bdd, je re des que c'est fait

  • avatar

    Sheppy1

    19 Aout 2019 à 14:55

    Le rapport de 50 lignes c'est pas génial quand on sait que 5 lignes sont intéressantes. Merci quand meme il est utile ton code :)

  • avatar

    Invité

    17 Aout 2019 à 14:19

    Parfait exactement ce que je cherchais. Merci

  • avatar

    Foxy

    16 Aout 2019 à 13:53

    +1000000 pour votre code!!  et + 1 rapport de 50 lignes a analyser par passage de googleboot :) 


 Autres snippets qui pourraient vous intéressez

Insère un élément dans un tableau a une place donnée

Compatibilité : PHP 5, PHP 7, PHP 8

Insère un élément dans un tableau selon la clé. La fonction accepte les tableaux uniquement avec des clés numériques.

Sauvegarder une valeur dans une session PHP

Compatibilité : PHP 5, PHP 7, PHP 8

Sauvegarder une variable, un texte, des caractères spéciaux dans une session. Avec ex pour upgrader et supprimer 1 valeur de session.

Sauvegarde complète en MySQLi d'une base de données SQL

Compatibilité : PHP 5, PHP 7, PHP 8

Dump (sauvegarde) avec PHP d'une base de données MySQL - Cela inclus les tables et les enregistrements.

Dump complet d'une base de donnée en MySQL

Compatibilité : PHP 4, PHP 5

Dump intégral de votre base de donnée. Avec options uniquement les tables ou les tables et les enregistrements.

Fabrication d'une vignette et sauvegarde de la vignette - PHP Sources

Compatibilité : PHP 5, PHP 7, PHP 8

Pour fabriquer un vignette, vous pouvez utiliser le serveur thumbshots qui fera cela trés bien pour vous. Vous pouvez soit afficher directement

* Requêtes exécutées avec Recherche Contextuelle
avatar

Web PHPFURAX

  16 Aout 2019

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    19 Aout 2019
    fonctionnement du code vérifié

    05 Nov 2019
    fonctionnement du code vérifié

3 072 Vues
Compatibilité du code
PHP 5, 7 et 8+