Mesurez l’audience de votre site SPIP avec Xiti

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !


Cet article décrit comment intégrer le compteur Xiti en utilisant pleinement les ressources de Spip. Xiti propose des services de mesure et d’analyse d’audience, pour tous les sites, quelles que soient leurs tailles ou leurs fonctions.

Version 1.5, mise à jour le 31 novembre 2003

Installation rapide

1) Inscrivez-vous à Xiti (https://secure.xiti.com/inscription/) et récupérez le code de votre marqueur Xiti.

2) Téléchargez le fichier squelettes_xiti.zip joint à cet article (voir en bas de la page) et décompressez son contenu à l’intérieur de la racine de votre site Spip ou à l’intérieur de votre dossier de squelettes (si vous en avez défini un dans mes_fonctions.php3).
Cette archive contient la paire de fichiers squelettes compteur.php3 et compteur.html.

3) Ouvrez le fichier compteur.html fournis et suivez les instructions fournies en commentaire (ce qui suit des //). Vous aurez principalement à fournir les informations suivantes :

  • Fournir votre numéro d’abonné Xiti.
    Dans le code de votre marqueur que vous avez récupéré à l’étape 1, cherchez le numéro qui termine la ligne hsi = '<a href="http://www.xiti.com/xiti.asp?s=#####"';. Ici, « ##### » représente votre numéro d’usager.

-  * Fournir l’adresse de votre marqueur Xiti.
Elle se trouve dans une ligne qui ressemble à hsi += 'src="http://logv4.xiti.com/hit.xiti?s=#####';. L’adresse ici serait "http://www.xiti.com/xiti.asp"

  • Choisir si vous voulez utiliser le titre de l’image par défaut ou utiliser une balise de traduction.
    Si vous choisissez la balise de traduction, n’oubliez pas de configurer vos fichiers local_XX.php3.

4) Libre à vous de modifier les boucles fournies qui serviront à définir le titre des pages pour l’usage à l’intérieur des rapports de visites de Xiti.

5) Placez la balise INCLURE suivantes au bas de tous vos squelettes. Assurez-vous que cette balise est bien à l’intérieur du BODY et de la boucle principale de la page.

	

<INCLURE(compteur.php3){id_article}{id_rubrique}{id_breve}{id_syndic_article}{id_auteur}>

Dans le site distribué avec Spip, les pages à modifier sont : article.html, auteur.html, breve.html, mot.html, rubrique.html, forum.html, plan.html, sommaire.html, sommaire_texte.html, recherche.html et resume.html.

5) Téléchargez les fichiers du compteur et de vos squelettes sur votre site.

6)

Marqueur Xiti

Et voilà ! Si vous vous êtes inscrits à la version gratuite de Xiti, un (horrible mais fort utile) petit logo jaune devrait maintenant apparaître au bas de vos pages.

Notes :

  • Le fichier compteur.html fournis avec cet article est une sorte de "marqueur Xiti universel" qui, de paire avec la balise INCLURE() fournie ci-haut, devrait marcher correctement dans tous vos squelettes. Il utilise une astuce php pour définir le titre de la page selon le contexte puis l’insérer dans le code Xiti.
  • Pour plus d’information sur la manipulation du marqueur Xiti, lire « Intégration de Xiti dans Spip » plus bas.
  • Le cache de Spip ne devrait pas, en théorie, influencer les statistiques fournies par Xiti car l’image du compteur n’y sera jamais sauvegardée.
  • Il n’est pas recommandable de placer de marqueur dans les fichiers backend.html et distib.html car cela demanderait aux sites syndiquant le vôtre d’afficher le code Xiti sur le leur et cela peut être considéré comme une intrusion. Par contre, les appels à ces fichiers sont comptés dans statistiques fournies par Spip.

Qu’est-ce que Xiti ?

Bilan des statistiques

Xiti propose des services de mesure et d’analyse d’audience, pour tous les sites, quelles que soient leurs tailles ou leurs fonctions. C’est un outil de haute qualité pour les webmestre et les administrateurs intéressés à faire un suivi à long terme de l’achalandage sur leur site. Et il est en français !

Ce service est offert sur le web sur le site xiti.com. Il peut être gratuit (avec des fonctions limitées et affichage d’un petit logo Xiti sur vos pages) ou payant (avec fonctions très avancées sans affichage de logo). Vous pouvez gérer plusieurs sites à partir du même compte Xiti, donner accès à ces statistiques à d’autres personnes et même générer des rapports en format Excel.

Le principe de Xiti est similaire, à la base, à la plupart des compteurs que l’on retrouve sur le web. Vous insérez un code javascript sur chacune de vos pages qui fait appel à une image sur le serveur de Xiti. Lorsque le navigateur d’un utilisateur affiche cette image, le système de Xiti peut savoir que cette page a été vue et recueillir de nombreuses autres informations contextuelles sur cette visite particulière.

Graphique des navigateurs utilisés

On peut y connaître, entre autres, le nombre de visiteurs, le nombre de pages vues, la provenance des visiteurs (ex. pays, referrers, etc.), les type d’équipement et de navigateurs des usagers, les engins de recherche et les mots clés utilisés pour trouver votre site, et plus encore !

Toutes ces statistiques peuvent être compilées et comparées pour couvrir des jours précis, des semaines, des mois ou même des années complètes.

Pourquoi Xiti ?

Il y a plusieurs autres moyens de connaître l’audience de votre site, incluant les statistiques générées par Spip lui-même. Il est aussi possible que votre hébergeur vous fournisse déjà des rapports de visites pour votre site (renseignez-vous auprès de votre hébergeur pour le savoir.) Alors, pourquoi Xiti ?

Limites des statistiques de Spip

Les statistiques de visites fournies par Spip (/ecrire/statistiques_visites.php3) sont certainement fort utiles et de plus en plus complètes. Par contre, il est possible que vous ayez besoin d’une autre source pour les compléter. Par exemple :

  • Spip ne compte que les pages générées par Spip.
  • Spip considère que une adresse IP représente un seul visiteur tandis que Xiti utilise des cookies sophistiqués qui lui permettent une analyse plus précise. En effet, plusieurs personnes peuvent partager une même adresse IP, comme dans une école ou une entreprise.
  • Spip ne fournit pas un certain type d’information de visite, comme les pages d’entrée et de sortie, l’équipement des usagers, etc.
  • Spip ne garde pas les informations sur une durée aussi longue que Xiti.
  • Il arrive parfois que, pour des raisons de performances, certains aient à désactiver les informations liées aux visites ou aux referers.
  • Etc.

Limites des statistiques fournies par votre hébergeur

Si vous y avez accès, les statistiques fournies par votre hébergeur sont aussi très utiles. Mais elles peuvent inclurent des visites faites par d’autres choses que des visiteurs et peuvent, elles aussi, ne pas contenir certaines informations importantes.

Par exemple, le nombre de visites et de pages vues peut être faussé par les engins de recherche visitant votre site pour l’indexer ou par des appels d’images sur votre serveur provenant de d’autres sites qui y ont fait un lien (ex. un avatar dans un forum, etc.). Xiti ne peut compter que les pages affichées par un navigateur.

Il se peut aussi que votre hébergeur ne fournisse simplement pas ce type de service.

Les autres services de compteurs et d’analyse d’audiences

Il existe d’autres services de ce genre, mais Xiti est celui que j’utilise depuis des années ; c’est donc de lui que je vais vous parler ! :)

Bien sûr, Xiti n’est pas parfait et il y a de nombreuses instances où certains visiteurs peuvent ne pas être identifiés (ex. : si l’affichage des images et javascript est désactivé.) Il n’existe pas de solution miracle et c’est pourquoi avoir plusieurs sources d’information peut être utile. L’un n’empêche pas l’autre...

Intégration de Xiti dans Spip

La nature dynamique de Spip permet une intégration plus étroite avec Xiti. Il faut aussi considérer comment gérer le code de Xiti dans plusieurs squelettes.

1) Inscription

La première étape est de créer un compte Xiti (https://secure.xiti.com/inscription/). Si vous voulez vous inscrire à la version gratuite, vous devrez cliquer sur le bouton « Inscription » tout en bas de la page d’inscription. Ah les bougres, ils l’ont bien caché ! ;)

2) Récupération du code du marqueur

Vous devez aller chercher le code de votre marqueur. Vous pouvez y accéder par le menu « Administration » sous « Gestion des sites ». Ce code ressemblera à ceci :

<script language="JavaScript1.1">
<!--
hsh = new Date();
hsd = document;
hsr = hsd.referrer.replace(/[<>]/g, '');
hsi = '<a href="http://www.xiti.com/xiti.asp?s=#####"';
hsi += ' TARGET="_top"><img width="39" height="25" border=0 ';
hsi += 'src="http://logv4.xiti.com/hit.xiti?s=#####';
hsi += '&p=';
hsi += '&hl=' + hsh.getHours() + 'x' + hsh.getMinutes() + 'x' + hsh.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xiti_s=screen;hsi += '&r=' + Xiti_s.width + 'x' + Xiti_s.height + 'x' + Xiti_s.pixelDepth + 'x' + Xiti_s.colorDepth;}
hsd.writeln(hsi + '&ref=' + hsr.replace(/&/g, '$') + '" title="Mesurez votre audience"></a><\!--');
//-->
</script>
<noscript>
<a href="http://www.xiti.com/xiti.asp?s=#####" TARGET="_top"><img width="39" height="25" border=0 src="http://logv4.xiti.com/hit.xiti?s=26841&p=&" title="Mesurez votre audience"></a>
</noscript><!--//-->

La valeur #### indique là où se trouvera votre numéro d’abonnement. Remarquez aussi l’adresse de la page qui gère votre image Spip chez Xiti. Cette adresse ressemblera à « src= »http://logv4.xiti.com/hit.xiti" et se trouve à deux endroits dans le code. Vous devez absolument utiliser l’adresse fournie par Xiti pour que vos visites puissent être comptées et analysées.

3) Personnalisation du code du marqueur

La seule valeur autre que le numéro d’inscription que l’on peut personnaliser est la variable « p= » qui se trouve à la 9e et 18e ligne. Elle indique le nom de la page visitée. Par défaut, si elle reste vide, c’est l’adresse de la page qui sera utilisée dans vos rapports de visite. Mais grâce à Spip, il est très facile de donner plus d’information.

Par exemple, on pourrait récupérer le titre de l’article, de la rubrique ou de la brève en question en inscrivant simplement « p=#TITRE » à ces deux endroits.

Mais n’oublions pas que ce code fait partie d’un script javascript ! Si par malheur votre titre contenait une apostrophe, votre visiteur sera accueilli par un message d’erreur. Pour prévenir ceci, il suffit d’utiliser le filtre {texte_script}. Donc :

p=[(#TITRE|texte_script)]

Si vous placez des numéros au début de vos titres pour définir un ordre de classement arbitraire, il faut aussi cacher ces numéros.

p=[(#TITRE|supprimer_numero|texte_script)]

À la rigueur, pour les sites multilingues (Spip 1-7), on pourrait considérer traduire la propriété TITLE ou ALT de l’image (par défaut : title="Mesurez votre audience"). À ce moment, il suffira d’ajouter un balise de traduction comme <:compteur_title :> avec les lignes correspondantes dans les fichiers local_xx.php3 (ex. : « &#8216;compteur_title' => &#8216;Web counter powered by Xiti', »)

Voici donc un exemple de script final :

<!-- Compteur Xiti //-->
<script language="JavaScript1.1">
<!--
hsh = new Date();
hsd = document;
hsr = hsd.referrer.replace(/[<>]/g, '');
hsi = '<a href="http://www.xiti.com/xiti.asp?s=#####"';
hsi += ' TARGET="_top"><img width="39" height="25" border=0 ';
hsi += 'src="http://logv4.xiti.com/hit.xiti?s=#####';
hsi += '& p=[(#TITRE|supprimer_numero|texte_script)]';
hsi += '&hl=' + hsh.getHours() + 'x' + hsh.getMinutes() + 'x' + hsh.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xiti_s=screen;hsi += '&r=' + Xiti_s.width + 'x' + Xiti_s.height + 'x' + Xiti_s.pixelDepth + 'x' + Xiti_s.colorDepth;}
hsd.writeln(hsi + '&ref=' + hsr.replace(/&/g, '$') + '" title="<:compteur_title:>"></a><\!--');
//-->
</script>
<noscript>
<a href="http://www.xiti.com/xiti.asp?s=#####" TARGET="_top"><img width="39" height="25" border=0 src="http://logv4.xiti.com/hit.xiti?s=#####&p= p=[(#TITRE|supprimer_numero|texte_script)]&" title="<:compteur_title:>"></a>
</noscript><!--//-->

Rien n’empêche d’inclure des boucles plus complexes si vous voulez ajouter d’autres informations. L’important est de toujours utiliser le filtre {texte_script}. Faites bien attention de n’utiliser que des boucles et balises compatibles avec le squelette dans lequel le code sera inséré.

Il faut noter qu’en n’utilisant que la balise #TITLE, le code demeure compatible avec presque tous les types de squelettes (rubriques, articles, brèves, sites, etc.).

Par exemple, il serait peut-être utile d’ajouter le nom de la rubrique au titre de la page ? À ce moment, il faut ajouter une boucle allant chercher la rubrique courante et y afficher la balise #TITRE. À vous de décider si le nom de la rubrique doit être avant ou après le titre de la page. Pour cet exemple, je l’ai mis entre parenthèses à la suite du titre.

Note : Il n’est pas nécessaire d’ajouter cette boucle dans les codes insérés dans un squelette de rubrique car le nom de la rubrique sera alors répété deux fois.

p=[(#TITRE|supprimer_numero|texte_script)] (<BOUCLE_compteur_rub(RUBRIQUES){id_rubrique}>[(#TITRE|supprimer_numero|texte_script)]</BOUCLE_compteur_rub>)'

4) Insertion du marqueur dans les squelettes

Ce code doit absolument être inséré dans tous les squelettes de votre site dont vous voulez compter les visites. Il faut aussi l’inclure dans les pages qui ne sont pas générées par Spip (mais sans les boucles et balises Spip.) Il est préférable de placer le code au bas de la page mais vous pouvez le mettre où bon vous semble.

4.1) Solution <inclure()>

Certains sites peuvent avoir des dizaines de squelettes différents, incluant différentes versions d’un même type de squelette (ex. rubrique-8.php3). Comment alors pouvons-nous faciliter la gestion du marqueur Xiti à travers de multiples squelettes ?

Au lieu d’insérer le code directement dans le squelette, on peut placer une balise Spip <inclure()> et y placer les paramètres nécessaires pour pouvoir identifier la page en question. Par exemple :

<INCLURE(compteur.php3){id_rubrique}>

Remarquez qu’ici seule la rubrique est identifiée. Pour un squelette d’article, il faut spéficier aussi id_article. Mais si on fait appel à id_article sur un squelette de rubrique, une erreur se produira. Il faut donc créer un squelette de compteur pour chacun des types de squelettes. Donc, selon le squelette, il faut utiliser une de ces balises :

<INCLURE(compteur_rub.php3){id_rubrique}>
<INCLURE(compteur_art.php3){id_rubrique}{id_article}>
<INCLURE(compteur_breve.php3){id_rubrique}{id_breve}>
etc.

Il faut ensuite créer une paire de fichiers .php3 et .html pour chacun des compteurs (ex. compteur_rub.php3 et compteur_rub.html). Les fichiers .php3 doivent contenir le code suivant :

<?php
$fond = "compteur_rub";
$delais = 12 * 3600;

include ("inc-public.php3");

?>

Il faut bien sûr changer la valeur de $fond pour le nom du fichier à inclure, sans toutefois utiliser l’extention .html.

Le fichier .html contiendra le code Xiti à l’intérieur d’une boucle qui récupèrera les paramètres donnés dans la balise . Ex :

<BOUCLE_compteur(RUBRIQUE){id_rubrique}>
(Code XITI)
</BOUCLE_compteur>

Donc, pour un compteur de squelette de rubrique :

<BOUCLE_compteur(RUBRIQUE){id_rubrique}>
<!-- Compteur Xiti //-->
<script language="JavaScript1.1">
<!--
hsh = new Date();
hsd = document;
hsr = hsd.referrer.replace(/[<>]/g, '');
hsi = '<a href="http://www.xiti.com/xiti.asp?s=#####"';
hsi += ' TARGET="_top"><img width="39" height="25" border=0 ';
hsi += 'src="http://logv4.xiti.com/hit.xiti?s=#####';
hsi += '& p=[(#TITRE|supprimer_numero|texte_script)]';
hsi += '&hl=' + hsh.getHours() + 'x' + hsh.getMinutes() + 'x' + hsh.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xiti_s=screen;hsi += '&r=' + Xiti_s.width + 'x' + Xiti_s.height + 'x' + Xiti_s.pixelDepth + 'x' + Xiti_s.colorDepth;}
hsd.writeln(hsi + '&ref=' + hsr.replace(/&/g, '$') + '" title="<:compteur_title:>"></a><\!--');
//-->
</script>
<noscript>
<a href="http://www.xiti.com/xiti.asp?s=#####" TARGET="_top"><img width="39" height="25" border=0 src="http://logv4.xiti.com/hit.xiti?s=#####&p= p=[(#TITRE|supprimer_numero|texte_script)]&" title="<:compteur_title:>"></a>
</noscript><!--//-->
</BOUCLE_compteur>

Fichier à télécharger

Voici un fichier contenant un « marqueur universel » qui devrait être compatible avec tous les squelettes standards fournis avec Spip. Vous pouvez donc l’installer en suivant les instructions de « Installation rapide ».

Note : Pour faciliter la programmation et l’utilisation du marqueur, j’ai utilisé PHP pour définir certaines variables qui seront intégrées automatiquement dans le code Xiti à afficher. Certaines variables doivent être configurées par vous (voir les instructions dans le code du fichier « compteur.html »), d’autres le seront automatiquement par Spip.

squelettes_xiti-1.5.zip
Version corrigée du 31 novembre 2003
Squelettes Xiti v1.6a1
Version en cours de développement – filtrage des caractères spéciaux ; bug d’affichage dans Spip 1-8-1. Toute suggestion est la bienvenue.

J’espère que cette contrib vous sera utile. :)

Thierry Gagnon
Studios Eau Moirée

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom