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    
 95    
                               
<?php
/*---------------------------------------------------------------*/
/*
    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 à jour : 19 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                
    Date mise à 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_updatedatetime 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    
 13    
 14    
 15    
                                
<?php

// 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

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

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

Compatibilité : PHP 5, PHP 7

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.

Sauvegarder une valeur dans une session PHP

Compatibilité : PHP 5, PHP 7

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

Affichage HTML de données MySQL

Compatibilité : PHP 5, PHP 7

Affichage sur n colonnes d'une table HTML d'enregistrements venues d'une table MySQL. Vous pouvez mettre autant de colonnes dans la table HTML.

Vérifier si une table existe dans une base de données

Compatibilité : PHP 4, PHP 5

Une fonction qui vérifie l'existence d'une table dans une base données. Code compatible php 4 et php 5

Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

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é

2 163 Vues
Compatibilité
PHP 5, 7 et 8+