Fathom Analytics sur Joomla : la ligne unique et sa place
Fathom Analytics se résume à une balise de script. C'est toute l'intégration.
Pas de gestionnaire de balises, pas de flux de données, pas de propriété à créer, pas d'événements à définir. Une ligne et le tableau de bord se remplit.
Ce qui rend la situation de Joomla presque drôle. Fathom n'a pas d'extension Joomla. Il a une extension WordPress, un guide Squarespace, un guide Webflow, un guide Ghost et une application Shopify. Joomla a droit à un paragraphe qui vous dit de coller le script dans votre template.
Ce paragraphe est le début des ennuis, car sur Joomla « collez-le dans votre template » est un conseil posé sur une trappe.
Pas le temps de tout lire ?
Inscrivez-vous, collez deux lignes de code et voyez votre trafic réel sans bandeau cookies. Sans carte bancaire, en ligne en quelques minutes.
Créer mon compte gratuitLa trappe
Les templates Joomla sont des logiciels qui se mettent à jour.
Cassiopeia est livré avec le cœur de Joomla, donc il se met à jour quand Joomla se met à jour. Les templates commerciaux des grands éditeurs publient des mises à jour plusieurs fois par an. Tout ce que vous avez modifié dans le dossier du template est remplacé par ce que l'éditeur a livré.
Votre script part avec.
Rien ne vous prévient. Le processus de mise à jour de Joomla ne compare pas vos fichiers de template et ne vous demande pas si vous vouliez garder cette ligne. Il écrit la nouvelle version par-dessus l'ancienne et annonce que tout s'est bien passé.
La séquence ressemble donc à ceci. Vous collez le script en mars. Cela fonctionne. Vous mettez Joomla à jour en juin, un mardi soir, parce qu'il y a une version de sécurité. Le script disparaît ce mardi soir. Vous ouvrez Fathom fin juillet, vous voyez la courbe tomber d'une falaise et vous passez une heure à croire que votre trafic s'est effondré.
On l'accepte parce que le gain est réel. Une mesure qui n'a besoin d'aucun bandeau cookies.
Pourquoi la solution habituelle ne s'applique pas
Joomla dispose des surcharges de template, c'est-à-dire exactement le mécanisme conçu pour ce problème. Vous copiez une mise en page dans le dossier html de votre template, Joomla utilise votre copie à la place de l'originale et les mises à jour n'y touchent pas.
Les surcharges couvrent les mises en page des composants et des modules. Elles ne couvrent pas l'index.php du template lui-même, qui est le fichier contenant votre balise de fermeture du body.
Vous pouvez dériver tout le template dans un template enfant, ce qui survit effectivement aux mises à jour. Vous maintenez alors une bifurcation dont la seule modification est une ligne de JavaScript et vous devez la refusionner chaque fois que le template parent change.
Cela fait beaucoup de mécanique pour une balise de script.
« Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher. »
Antoine de Saint-Exupéry, dans Terre des hommes (1939)
Fathom a pris cette phrase au sérieux et construit un outil de statistiques où il n'y a presque rien. Puis Joomla vous oblige à maintenir une bifurcation de template pour l'accueillir. Quelque part en chemin, la simplicité s'est perdue.
La voie du module personnalisé et le filtre qui l'avale
L'autre suggestion courante est un module HTML personnalisé. Vous le créez, vous collez le script, vous le publiez dans une position et vous l'assignez à tous les éléments de menu.
Cela fonctionne, jusqu'au moment où cela ne fonctionne plus, pour deux raisons.
La position doit s'afficher partout. La plupart des positions de template ne le font pas. Les positions de débogage s'en approchent, les positions de pied de page apparaissent en général sur toutes les pages mais pas toujours et une page d'erreur ou une vue composant seul n'affiche souvent aucun module. Chaque page qui saute la position est une page que vous ne mesurez pas et cet écart, vous ne pouvez pas le voir depuis vos propres statistiques.
Les filtres de texte de Joomla suppriment les balises de script. La configuration globale fixe un filtre par groupe d'utilisateurs. Les super utilisateurs sont sur Aucun filtre par défaut, donc votre collage fonctionne. Tous les autres reçoivent une liste noire qui retire <script> à l'enregistrement.
Le second point est vraiment vicieux, car il frappe tard et sans bruit. Vous collez en super utilisateur, cela tourne pendant des mois, puis quelqu'un avec un compte administrateur ouvre ce module pour corriger une faute de frappe, appuie sur Enregistrer et Joomla supprime discrètement le script. Aucun avertissement, aucune erreur, aucune trace dans un journal que vous consultez.
Quoi que vous colliez au final, l'essentiel est les cinq minutes par semaine que vous passez à le lire.
Ce qui fonctionne vraiment
Un plugin système.
Non pas parce que les plugins sont à la mode, mais à cause de l'endroit où ils s'exécutent. Un plugin système peut agir sur la page terminée, une fois que le template a fait son travail. Il ne vit donc pas dans le template, ne dépend d'aucune position, ne passe pas par le filtre de texte et se moque de l'apparence de votre template.
Les mises à jour de template ne peuvent pas l'atteindre. Les changements de position ne peuvent pas le casser. Il s'exécute sur chaque page du site public, y compris celles qui n'affichent aucun module.
Si vous voulez Fathom précisément, c'est la forme à chercher dans l'annuaire : une extension maintenue qui injecte du code de façon générique. Vérifiez sa date de dernière mise à jour et les versions de Joomla prises en charge avant de l'installer, car la catégorie statistiques compte beaucoup d'extensions arrêtées en 2019.
Ce que coûte Fathom
Fathom démarre autour de 15 dollars par mois pour 100 000 pages vues. Il y a un essai et aucune offre gratuite permanente.
C'est un bon logiciel et les personnes derrière prennent la vie privée au sérieux. C'est aussi un abonnement pour quelque chose qu'un petit site peut raisonnablement vouloir ne pas payer et c'est la raison la plus fréquente pour laquelle les gens restent sur GA4 alors qu'ils en détestent chaque minute.
La place de StatJolt
La même philosophie de la ligne unique, avec la partie Joomla réellement construite.
L'extension Joomla est exactement le plugin système décrit plus haut. Vous collez votre code dans un seul champ des réglages. Il écrit le code dans la page terminée, avant la balise de fermeture du body, sur chaque page du site public, quels que soient le template, la position ou le groupe d'utilisateurs. Mettez Joomla à jour aussi souvent que vous voulez. Rien de ce que vous avez configuré ne vit dans le template.
Il fonctionne sans cookies, donc sans bandeau et ne collecte aucune donnée personnelle. Il n'écrit rien dans votre base Joomla en dehors de ses propres réglages.
C'est 0 euro jusqu'en 2027 quel que soit le trafic, puis gratuit pour les sites à faible trafic. Le prix est un petit badge sur votre site et vous décidez où il se place ou si vous le masquez.
Les Core Web Vitals, les entonnoirs, les parcours utilisateurs et la remontée des erreurs JavaScript sont inclus. Minimal ne veut pas forcément dire léger en contenu.
L'essentiel en trois phrases
Le script de Fathom tient en une ligne et l'ajouter à Joomla est vraiment simple. Ne le mettez juste pas dans votre template, car votre template est un logiciel qui se fait remplacer.
Ne le mettez pas non plus dans un module personnalisé, sauf si vous êtes certain que la position s'affiche sur chaque page et que vous acceptez que la prochaine personne non super utilisateur qui enregistrera ce module l'effacera.
Utilisez un plugin système. C'est la seule méthode sur Joomla où ce que vous avez mis en place en mars est encore là en décembre.
Remplacez GA4 en 2 minutes
Il suffit de coller le code et vous verrez à quel point c'est plus lisible. Pas de cookies, pas de bandeau, pas d'outil de consentement. 0 EUR jusqu'en 2027, quel que soit le trafic.
Ou vous gardez l'autre voie : entretenir un outil de consentement, travailler avec des données modélisées et passer une demi-heure par mois à chercher dans les rapports.
Créer mon compte gratuit