Sites référents dans Google Analytics : comment bloquer le trafic venant de certains sites via .htaccess ?

Voici plusieurs solutions pour supprimer le "spam de referer" dans Google Analytics, c'est-à-dire ces sites qui s'invitent dans le rapport sur les sites référents.

Lorsque vous regardez vos rapports d'audience dans Google Analytics, vous pouvez trouver des visites ayant pour origine des noms de domaines inconnus ou étranges. Parfois, il ne s'agit même pas de trafic réel. Certains de ces faux site référents pourront vous rediriger vers des liens promotionnels et/ou des publicités. Il peut s'agir de spam qui infiltrent vos rapports Google Analytics afin de faire la promotion de leur site et vous faire cliquer sur leurs liens. Google tente de lutter contre ce spam, appelé "spam de referer", et a récemment mis en place, en 2016, de nouvelles protections, mais cela ne suffit pas toujours.
Il existe heureusement des solutions.

La première solution est de paramétrer le fichier ".htaccess" pour bloquer ces noms de domaines. La directive "SetEnvIfNoCase" permet de définir un nom de domaine comme étant un spam grâce à la commande "Referer" et au mot clé "spambot". Dans les directives "Allow" et "Deny" qui configurent l'accès au site, configurez la directive "Deny" pour interdire le site aux spams. Voici un exemple pour un spam qui accède à vos sites de cette manière, le crawler "Semalt" :

<IfModule mod_setenvif.c>
# On définit les noms de domaines concernés comme étant des spams.
SetEnvIfNoCase Referer semalt.com spambot=yes
# On peut en ajouter autant que l'on souhaite.
Order allow,deny
Allow from all
#On interdit l'accès aux spams.
Deny from env=spambot
</IfModule>
Cette méthode bloque certains spams, ceux que l'on appelle les "crawlers", car ils se rendent directement sur votre site, mais elle ne fonctionne pas pour tous. Il existe un autre type de spams, les "ghosts" (fantômes). Ces spams ne se rendent pas sur votre site internet. Ils utilisent une boucle sur l'identifiant Google Analytics, de manière aléatoire, et envoient directement des requêtes à la plateforme. Ces spams ne peuvent donc pas être bloqués par le fichier ".htaccess".

Google fournit une autre solution au sein de sa plateforme afin de bloquer tous les types de spams : les filtres.
Pour arrêter les spams de type "ghost", vous pouvez faire un filtre d'inclusion qui permet de spécifier les URL que vous autorisez dans les rapports.

Rendez-vous dans l'onglet "Admin", puis cliquez sur le menu "Filtres" situé dans la colonne "Vue". Cliquez ensuite sur "Ajouter un filtre". Dans le formulaire, sélectionnez le type de filtre "prédéfini". Dans les listes déroulantes, sélectionnez les valeurs suivantes de gauche à droite : "Exclure", "Trafic à partir du domaine de FAI", "étant égal à". Dans le champ situé en dessous, utilisez une expression régulière de la forme suivante pour ajouter les domaines que vous autorisez dans vos rapports :
monsite.fr|monautresite.fr|pasunspam.fr

Pour bloquer les spams de type "crawler", on peut aussi paramétrer un filtre d'exclusion. Dans le formulaire d'ajout des filtres, sélectionnez le type de filtre "personnalisé". Choisissez la valeur "Source de la campagne" comme champ de filtrage et entrez dans la règle de filtrage les noms de domaines à exclure, par exemple :
semalt.com|unspam.fr|darodar.com
Sur .htaccess, lire aussi ces fiches pratiques

Tutoriels Analytics