Mon site Web compte les vues des visiteurs sur certaines pages. J'ai remarqué que Google et d'autres robots "cliquaient" sur mon site comme un fou et certaines des pages avaient un nombre de vues irréaliste (par rapport à celles produites par les humains).
Je demande les meilleures pratiques pour exclure ces robots de mon nombre de vues. Évidemment, un simple "agent utilisateur" contient "bot" ne le fera pas.
Je ne pense pas qu'il existe de solution prouvée par balle ni que j'en ai besoin.
Remarque: j'utilise PHP + MySQL.
php
mysql
web-crawlers
best-practices
eisberg
la source
la source
Réponses:
Je suis heureux que vous sachiez qu'il n'y aura pas de moyen pare-balles pour y parvenir. Cela signifie que vos perspectives sont au moins réalistes.
Puisque JavaScript n'est pas une option, je dirais qu'il vous reste:
Vérifiez dans l'agent utilisateur le mot "bot" qu'il contient. Cela va attraper la plupart d'entre eux.
Compilez une liste de bots connus et filtrez-les en fonction d'une sorte d'identifiant unique, probablement leur agent utilisateur.
Mettez un lien caché dans le pied de page de votre site Web qui renvoie à une page qui recueille les agents utilisateurs et / ou les adresses IP. Les utilisateurs ne verront pas cela, mais les bots le verront. Donc, quiconque visite cette page sera un bot. Enregistrez-les, puis bloquez-les de vos statistiques.
la source
Il existe trois façons assez simples:
MISE À JOUR: Googlebot et certains robots collecteurs principaux ne JavaScript ces jours fonctionnent. Ainsi, l'utilisation de l'option # 2 seule n'est plus viable. Cependant, cela signifie que l'utiliser en conjonction avec # 3 devrait être assez fiable, car vous pouvez facilement exclure la plupart des bots en utilisant JS, puis côté serveur exclure les bots majeurs comme Googlebot qui exécutent JS.
De plus, comme mentionné dans les commentaires, vous pouvez essayer d'utiliser l'API Google Analytics pour afficher les vues de chaque page.
la source
Si vous utilisez Javascript pour compter les vues, la plupart des robots ne l'exécuteront pas et ne seront donc pas inclus dans votre nombre de vues. Cette réponse peut être proche de ce que vous voulez /programming/1973448/how-can-i-count-a-page-views
la source
Ma démarche comporte deux passes:
Mozilla|Opera|PSP|Bunjalloo|wii
. Grâce à l'usurpation de l'agent utilisateur, cette vérification détectera presque tous les navigateursbot|crawl|slurp|spider
Donc, si la première étape est franchie, nous supposons qu'il s'agit d'un navigateur et qu'il y a un vrai visiteur derrière. Comme je l'ai découvert, certains robots prétendent être
Mozilla
compatibles et démarrent leur chaîne d'agent utilisateur avec. C'est pourquoi la deuxième passe peut être utile et les éliminer.la source
J'utilise une simple exclusion d'analyse de l'agent utilisateur. Il supprime 99% des bots entrant dans mes pages.
la source
Vous pouvez utiliser une image comme compteur, dans ce cas, elle ne comptera pas les bots et le nom de la page est passé en tant que requête avec le nom de l'image
J'utilise ceci sur img.php qui met à jour la vue de la page dans la base de données:
la source