Mesurer les visites des robots sur votre site avec GHS Tools

Nous travaillons chaque jours pour améliorer les fonctions existantes de GHS TOOLS et en développer des nouvelles. Nous allons annoncer ici chaque amélioration.

Créer une réponse à ce sujet

Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

partagepartagepartage
Il y a 1 message dans cette section.
Page 1 sur 1
Créer un nouveau Sujet sur le Forum

Mesurer les visites des robots sur votre site avec GHS Tools

Message :N°1  Message

par
» Mer 8 Nov 2017 18:57

Notre but ici n'est pas de remplacer votre système d'analyse des visites mais de le compléter.

Beaucoup de logiciels d'analyse des visites utilisent un code javascript pour "tracker les visites". Du coup vous ne voyez pas toutes les visites de votre site.

Ici on vous propose un code php donc on track vraiment toutes les visites (visiteurs et robots).

Cet ouil est en devellopement donc il peut comporter des erreurs, merci de les rapporter ici : viewforum.php?f=20

Pour le moment on met en place les fonctions, on verra après pour la mise en page.

Pour que l'outil fonctionne vous devez placer le script "track_visites.php" à la racine de votre site ou ailleur (à tester). Puis vous devez l'inclure dans toutes vos pages. Par exemple si vous utilisez Wordpress, faites l'include en haut du fichier "wp-config.php".

Voici le code PHP :
Code: Tout sélectionner
<?php

##################################################################
## SCRIPT Track Visites & Bot par Nicolas Sotton pour la GHS Team#
## https://www.ghstools.fr/ ######################################
##################################################################

   $file        = 'visitesGHS.txt';
   $time        = date('d/m/Y H:i:s');
   $fichier      = fopen($file,'a+');
   $url          = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
   $referer      = "Direct";
   $user_agent = "N/A";
   $robot = "N/A";
   $os = "N/A";
   $version_os = "N/A";
   $ip = "N/A";
   
   
   if(isset($_SERVER['REMOTE_ADDR'])) {
      
      $ip = $_SERVER['REMOTE_ADDR'];

      /*echo "Ip : ".$ip."<br>";
      $name = gethostbyaddr($ip);
      echo "Name : ".$name."<br>";
      //on recup le host
      $host = gethostbyname($name);
      echo "host : ".$host."<br>";*/
   
   }
   
   //on controle si ya l'user agent
   if(isset($_SERVER['HTTP_USER_AGENT'])) {
      
      //ya bien le referer
      $user_agent = addslashes($_SERVER['HTTP_USER_AGENT']);
      
      //on check si c'est des robots
      if(preg_match("#(Photon)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(MJ12bot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Twitterbot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Applebot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(LivelapBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(MetaURI API)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(PaperLiBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Mail\.RU_Bot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Googlebot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(AhrefsBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(bingbot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(AndersPinkBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(tweetedtimes)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(SurdotlyBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(^WordPress)/#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(adstxtlab)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Yahoo! Slurp)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(YandexImages)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Cliqzbot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Apache-HttpClient)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(DotBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Qwantify)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(heritrix)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Pearltrees)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(SeznamBot)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Sogou web)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(BoardReader)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(ping\.blo\.gs)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Feedly)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Java)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(^PHP)/#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(^jetmon)/.+#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(YOURLS)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Tiny RSS)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(SimplePie)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(Clearbricks)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      } elseif(preg_match("#(FreshRSS)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $robot = trim($match[1]);
      }
      
      //on check quel navigateur est utilisé
      //Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:54.0) Gecko/20100101 Firefox/54.0
      //Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
      if(preg_match("#\((.+);(.+);.+\)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $os = trim($match[1]);
         $version_os = trim($match[2]);
      }elseif(preg_match("#\((.+);.+rv:(.+)\)#iU", $_SERVER['HTTP_USER_AGENT'], $match)) {
         $os = trim($match[1]);
         $version_os = trim($match[2]);
      }
   }
   //on controle si ya le refrer
   if(isset($_SERVER['HTTP_REFERER'])) {
      $referer  = addslashes($_SERVER['HTTP_REFERER']);
   }

   fwrite($fichier, "Time:{$time} URL:{$url} IP:{$ip} ROBOT:{$robot} OS:{$os} VERSION OS:{$version_os} AGENT:{$user_agent} REFERER:{$referer}\n\r");
   fclose($fichier);
   
##################################################################
## SCRIPT Track Visites & Bot par Nicolas Sotton pour la GHS Team#
## https://www.ghstools.fr/ ######################################
##################################################################
?>


Rendez vous ensuite dans GHS Tools, dans le menu cliquez sur "Gestion des visites" vous voyez le tableau des visites et des statistiques ;)

On ne fait pas celà pour vous espionner, on enregistre rien. On scrap simplement le fichier "visitesGHS.txt" créé à la racine de votre site à chaque chargement pour interpréter vos données.

Si vous avez besoin d'autres fonctions faite le savoir ici. :super:
  • 0

Avatar de l’utilisateur
GHS Team
 
Messages: 4398
Inscription: Dim 22 Déc 2013 16:17
Localisation: Europe & Asie
Réputation: 326
Récompenses: 12
Membre Contributeur (1) Protecteur de GHS Tools (1) Membre Financeur (1) + 100 Posts sur le Forum (1) + 200 Posts sur le Forum (1) Le meilleur Posteur (1) Traducteur (Anglais / Chinois) (1) Rédaction & Correction FR (1) Traducteur (Français /Anglais) (1) Développeur WEB (1)

Répondre à ce sujet du Forum

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Retourner vers Nouveautés / Améliorations du projet GHS Tools



 


  • Sujets similaires
    Réponses
    Vus
    Dernier message