Blog Tool Box

WordPress : exclure ses propres visites dans Google Analytics

Si vous avez un site qui fait peu de visites, il est très important d’exclure son propre trafic dans Google Analytics pour ne pas fausser les statistiques.
Chaque aperçu d’article, chaque test sur le design, chaque recherche d’un article lors de la rédaction, etc, entraînent des remontées de pages vues inutiles dans Analytics.

Exclure son propre trafic via un filtre

Solution la plus simple si vous avez une adresse IP fixe, il suffit d’accéder à l’administration du compte ou du profil Analytics puis d’accéder aux « Filtres ». De là, il ne reste plus qu’à créer un nouveau filtre qui va exclure le trafic en provenance de votre adresse IP.

Filtre Google Analytics

A noter que si vous êtes plusieurs rédacteurs, si vous écrivez de plusieurs endroits, etc, il sera nécessaire de mettre en place plusieurs filtres d’IP.

Ne pas charger le code de tracking pour les administrateurs/utilisateurs connectés

Une autre solution est de ne pas lancer le code Google Analytics si le visiteur est un administrateur du site WordPress. Pour ce faire, il suffit d’englober le code de tracking par la condition suivante : si le visiteur est un administrateur loggé alors le code de tracking n’est pas actif.

Exemple ci-dessous : le code Google Analytics est mis en place seulement si l’utilisateur (current_user_can) n’a pas la capacité de modifier les options de WordPress (manage_options = administrateur).

<?php if(!current_user_can('manage_options')){ ?>
  <script type="text/javascript">
    [...] script Google Analytics [...]
  </script>
<?php } ?>

Il est également possible d’utiliser la fonction WordPress is user logged in() pour matcher tous les utilisateurs connectés.

  • nokow

    Bonjour,

    Je ne peux pas filtrer sur les IP vu que je n’ai pas d’IP fixe, J’ai donc utilisé votre code (current_user_can). Mais après être allé travailler sur mon site, mes passages se retrouvent dans analytics. Et là, sur les visites en temps réel, je me vois bien.

    Que puis-je faire pour que ça fonctionne correctement?

  • Maxime Guernion

    Pour que la fonction current_user_can fonctionne, il faut bien s’assurer qu’être bien loggé en administrateur avec la session active.
    Par exemple : si je suis loggé admin sur Firefox mais que je vais sur mon blog via Chrome, je ne suis donc pas connecté sur WP sur Chrome, la fonction ne me voit pas comme étant un admin et donc le code Analytics est lancé.

  • nokow

    En fait, j’avais 2 problèmes que j’ai résolu. Tout d’abord, mon code analytics était stocké dans ma base de donnée par un ancien thème et continuais à être pris en compte. J’ai donc du l’effacer.

    Ensuite, le code current_user_can ne fonctionne pas dans la boite de dialogue analytics de mon thème, il ne prend en compte que le script et pas le php avant. Je suis donc obligé d’aller le mettre directement dans mon header.php. Le seul soucis, c’est qu’à chaque mise à jour du thème, je dois pas oublier d’aller remettre la fonction.

    Mais sinon, ça fonctionne maintenant. Vu que c’est un site qui se lance, je passe beaucoup de temps dessus à designer et rédiger et donc, j’ai des analytics de malade.

  • Maxime Guernion

    En effet, si le code était intégré via une option du thème depuis le backoffice, il y avait des chances que le champ/formulaire n’accepte que du JS et que tout code PHP soit supprimé.

    Si ton site n’est pas encore ouvert, tu aurais pu aussi commenté le code Analytics pour simplement ne pas le lancer du tout.

  • Jean-Louis

    Bonjour Maxime,

    Merci pour cet article qui répond à une question que je me pose depuis quelques temps… mais que je ne sais pas mettre en oeuvre :-(

    En effet, j’utilisais les plugins Analytics et de tracking, et je viens d’apprendre que ce genre de plugin est très gourmand, et que l’on peut très bien s’en passer.

    J’ai donc placé mon code de tracking à l’emplacement réservé dans les options de mon thème ; et je voudrais maintenant ne pas prendre en compte mes propres connexions.

    Pouvez-vous me donner un coup de main ? Car j’avoue que je n’ai pas bien compris vos précédents échanges avec Nokow…

    Merci par avance,

    Jean-Louis