Mi sitio web cuenta las visitas de visitantes en ciertas páginas. Me di cuenta de que Google y otros Bots están "haciendo clic" en mi sitio como locos y algunas de las páginas obtienen conteos de visitas poco realistas (en comparación con los producidos por humanos).
Solicito las mejores prácticas para excluir esos bots de mis recuentos de vistas. Obviamente, un simple "agente de usuario" contiene "bot" no lo hará.
No creo que haya una solución de prueba de bala ni la necesito.
Nota: estoy usando PHP + MySQL.
php
mysql
web-crawlers
best-practices
Eisberg
fuente
fuente
Respuestas:
Me alegra que sepas que no habrá una forma a prueba de balas para lograr esto. Eso significa que su perspectiva es al menos realista.
Como JavaScript no es una opción, diría que te quedan:
Verifique en el agente de usuario la palabra "bot" en él. Eso atrapará a la mayoría de ellos.
Compile una lista de bots conocidos y filtéelos en función de algún tipo de identificador único, probablemente su agente de usuario.
Ponga un enlace oculto en el pie de página de su sitio web que enlace a una página que recopile agentes de usuario y / o direcciones IP. Los usuarios no verán esto, pero los bots sí. Entonces, cualquiera que visite esa página será un bot. Grabarlos y luego bloquearlos de sus estadísticas.
fuente
Hay tres formas bastante simples:
ACTUALIZACIÓN: el robot de Google y algunos bots principales no ejecuten JavaScript en estos días. Entonces, usar la opción # 2 solo ya no es viable. Sin embargo, esto significa que usarlo junto con el n. ° 3 debería ser bastante confiable, ya que puede excluir fácilmente a la mayoría de los bots utilizando JS, luego, en el lado del servidor, excluya los bots principales como Googlebot que ejecutan JS.
Además, como se menciona en los comentarios, puede intentar usar la API de Google Analytics para mostrar las vistas de cada página.
fuente
Si usa Javascript para contar las vistas, la mayoría de los bots no lo ejecutarán, por lo que no se incluirán en sus recuentos de vistas. Esta respuesta puede estar cerca de lo que desea /programming/1973448/how-can-i-count-a-page-views
fuente
Mi enfoque implica dos pases:
Mozilla|Opera|PSP|Bunjalloo|wii
. Gracias a la suplantación del agente de usuario, esta comprobación detectará casi todos los navegadoresbot|crawl|slurp|spider
Entonces, si se pasa el primer paso, asumimos que es un navegador y que hay un visitante real detrás de él. Como descubrí, algunos bots fingen ser
Mozilla
compatibles y comienzan su cadena de agente de usuario con él. Es por eso que el segundo pase puede ser útil y eliminarlos.fuente
Solo uso la exclusión de análisis de agente de usuario simple. Se deshace del 99% de los bots que entran en mis páginas.
fuente
Puede usar una imagen como contador, en este caso no contará los bots y el nombre de la página se pasa como una consulta con el nombre de la imagen
Estoy usando esto en img.php que actualiza la vista de página en la base de datos:
fuente