StatsJS : compter les visites avec un mouchard javascript

Ce plugin sert à compter les visites à partir d’un mouchard javascript, au lieu du mouchard PHP classique.

Quel intérêt ?

— homogénéité : en utilisant un mouchard javascript au lieu de regarder les hits sur les pages HTML, StatsJS permet de compter les visites de la même façon que les autres systèmes de statistiques, comme piwik ou google analytics.

— performance : Si l’on met son site derrière un cache (proxy inverse) du type Varnish (http://www.varnish-cache.org/), la plupart des hits sur les pages ne vont plus jusqu’au serveur PHP, car ils sont servis directement par Varnish. Dès lors, pour comptabiliser les visites, il faut provoquer un autre hit, sur un script spécifique.

En termes d’affichage, rien ne change pour le webmestre : les pages de statistiques sont rigoureusement les mêmes qu’avant. Le visiteur, en revanche, pourra constater (s’il regarde les requêtes faites par son navigateur), un hit supplémentaire, à chaque page, vers l’URL adressedusite.tld/?action=stats&....liste+de+données+collectées.

Technique

— piwik.js : plutôt que de réinventer la roue, le mouchard JS intégré dans ce plugin est celui du logiciel libre piwik. http://piwik.org/

— données collectées : si le plugin reçoit bien toutes les données envoyées par piwik.js (notamment : dimensions de l’écran, présence de l’extension gears, présence de JS, etc), il n’en fait rien, et se borne à enregistrer les mêmes données que le mode PHP des stats de SPIP : c’est-à-dire l’article vu, et le referer. On pourrait vouloir développer cela, mais si on veut utiliser tout piwik, je recommande plutôt... d’installer piwik.

updated on 2 October 2019

Discussion

5 discussions

  • Les pages reçoivent un nom identifiant composé à partir des id_ reçues dans l’environnement (quand cet identifiant n’est pas déjà ajouté par le squelette). Cependant seulement le dernier id_ est retenu :

    foreach($GLOBALS['contexte'] as $k => &$v) {
      if (preg_match(',^id_(\w+)$,S', $k, $r) AND ($id = intval($v))>0) {
            $identifier = $r[1].$id;
    }

    Ne faudrait il pas concaténer plutôt qu’écraser la valeur ? (Ou sinon autant sortir de la boucle à la première réponse)

    Reply to this message

  • 1

    Bonjour,

    ça peut donc servir dans le cas des pages AMP, étant donné que celles-ci sont mises en cache par google lors du passage du robot?

    Quelqu’un peut confirmer Svp?

    Merci

    • Oui c’est probable. Mais je ne suis pas sûr que le JS inséré soit compatible AMP.

    Reply to this message

  • 1

    Bonjour,

    Est ce que le plugin est fonctionnel avec spip 3.2? Merci.

    • Salut,

      la dernière version du plugin est compatible, c’est juste la doc qui n’a pas été automatiquement mise à jour.

    Reply to this message

  • Ok, je croyais que ça permettais d’afficher un compteur de visite sur mon site public. Merci !

    Reply to this message

  • 1

    Bonjour,

    J’ai installé le plug, mais je fais comment après pour voir mon compteur ?

    • cela s’affiche exactement comme avant dans les stats de SPIP (qu’il faut activer bien entendu). C’est seulement a manière d’engranger les stats qui est différente.

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom