Stats : référents (d'où viennent les visiteurs) #94
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Les logs Apache au format COMBINED contiennent le champ Referer (7e champ), mais
AccessLogParserne le lit pas — son regex s'arrête après le code HTTP status. On n'a donc aucune visibilité sur l'origine du trafic : moteurs de recherche, liens externes, réseaux sociaux, trafic direct.Ce qu'on veut
Un tableau "Provenance du trafic" dans
/admin/statslistant les domaines référents classés par hits :Détail par référent (expand)
Comme pour les réseaux (ticket #92), chaque ligne est dépliable pour afficher les articles et livres qui ont reçu ce trafic référent.
Données disponibles
Le log Apache COMBINED :
Le champ
REFERERest la 7e colonne. Il vaut-pour le trafic direct ou les requêtes sans en-tête Referer.Travail technique
AccessLogParser:RE(ou parser le reste de la ligne après status+bytes) pour capturer le champ referer.parse_url($ref, PHP_URL_HOST)).-.referers: [domaine => hits]dansstats().Corrélation référent ↔ contenu : stocker
referers_by_path: [domaine => [path => hits]]pour alimenter le sous-détail.Backend : alimenter
$adminData['stats_referers']dans l'action stats.Template : nouvelle section "Provenance" avec tableau et expand dépliable (même pattern que les tableaux réseau/pays du ticket #92).
Cache : inclure dans le cache stats existant.
Points d'attention
www.google.fr,google.com,google.co.uk→ à regrouper sousgoogle.*ou à laisser bruts selon le besoin.-et les referers malformés sous une entrée "Direct / inconnu".Critères d'acceptation
Lien
Complémentaire du ticket #92 (stats par réseau / pays / visiteur). Le champ UA (User-Agent), capturé au même endroit dans les logs, pourrait être traité dans le même chantier pour la détection bots.