Estas semanas he estado recibiendo cada vez más y más ataques de referral spam, en mi caso empezó con darodar.com, uno de los más famosos y ahora se han unido al carro o-o-6-o-o.com, humanorightswatch.org, simple-share-buttons.com, s.click.aliexpress.com, bestwebsitesawards.com…

En fin, la lista de referral spamers es interminable, a mi por ahora tan solo me han atacado diez pero aquí tenéis una lista negra elaborada por perishablepress que contiene cientos de ellos:  Referral Spam Black List

Referral Spam

¿Qué es el referral spam y cuál es su objetivo?

Como la mayoría de vosotros, yo me enteré de que era el referral spam tras ser atacado,  al buscar información encontré algunas opiniones que parecían salidas de un libro de chistes, una de las mas asombrosas decía algo así como que los atacantes tenían algún tipo de software que usaba algún tipo de “magia” (sí, decía magia, literalmente) para enviarle datos directamente a Analytics… por favor, esto es una petición personal, cuando en el área de informática alguien os diga que funciona por arte de magia, agregadlo a una lista negra y no volváis nunca xD

Por desgracia no es la primera vez que leo cosas como estas, y después proponen “soluciones” que lo único que hacen es empeorar las cosas.

La realidad es que son bots, ampliamente conocidos, unos más sofisticados y otros menos. Dado que son reales, sus visitas pueden afectar al tiempo de carga y la seguridad de la página, son bots que están accediendo a tu servidor y usando tus recursos para sus propios fines, deben de ser bloqueados.

Su objetivo es simple, buscan que hagas clic la url, la cual después te redirige a otra web, puede que incluso a webs de comercio electrónico con un enlace de afiliado… si le envían referral spam a 100 millones de páginas web y un 1% de los webmasters hace clic aunque sea por curiosidad, ya están consiguiendo 1 millón de clics sin apenas gasto de tiempo o dinero, ya que todo el proceso es automático y barato.

¿Qué debería de hacer?

Como os dije anteriormente, los magos dicen que esto se soluciona fácil, en 30 segundos, simplemente usando la lista de exlcusión de referrals y arreglado. Lo cierto es que este método además de no arreglar nada, camuflará parte del spam contándolo como visitas Directas, NO LO HAGÁIS.

Ahora os explicaré como bloquearles el acceso mediante .htaccess y como eliminarlos de los resultados de Analytics.

Bloquearlos usando .htaccess

En caso de que no te sientas cómodo o seguro modificando este archivo y uses WordPress, puedes utilizar este plugin WP-Ban https://lesterchan.net/portfolio/programming/php/#wordpress-wp-ban

En caso de que prefieras hacerlo directamente en .htaccess, la estructura base sería:
RewriteCond %{HTTP_REFERER} WebABloquear\.com [NC] RewriteRule .* - [F,L]
Para bloquear más de una:

RewriteCond %{HTTP_REFERER} WebABloquear1\.com [NC,OR] 
RewriteCond %{HTTP_REFERER} WebABloquear2\.com [NC] 
RewriteRule .* - [F,L]

Y ahora ya toca meterse son las expresiones regulares para bloquear todas las variantes, hay muchas formas de hacerlo, pero yo os voy a poner la que ha recomendado Moz, que sería así:

# Block Russian Referrer Spam RewriteEngine on 
RewriteCond %{HTTP_REFERER} ^http://.*ilovevitaly\.com/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*ilovevitaly.\.ru/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*ilovevitaly\.org/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*ilovevitaly\.info/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*iloveitaly\.ru/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*econom\.co/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*savetubevideo\.com/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*kambasoft\.com/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*buttons\-for\-website\.com/ [NC,OR] RewriteCond %{HTTP_REFERER} ^http://.*semalt\.com/ [NC,OR] 
RewriteCond %{HTTP_REFERER} ^http://.*darodar\.com/ [NC] 
RewriteRule ^(.*)$ – [F,L]

Podéis encontrar este código y más información en:

http://moz.com/blog/how-to-stop-spam-bots-from-ruining-your-analytics-referral-data

Lo cierto es que es una de las webs que más me ha ayudado tanto en este caso, como a lo largo de mis estudios de SEO, así que se merecen un DoFollow.
Pero no es la única, otra forma podría ser utilizando las expresiones regulares directamente en las urls:

RewriteCond %{HTTP_REFERER} ^([^.]+.)*? WebABloquear1\.com [NC,OR]

Y muchas otras variaciones, pero el fin es el mismo, intentar bloquear todo el spam proveniente de las urls y las urls asociadas a ellas.

También os podéis poner creativos y devolverles el favor, es decir, envíales el tráfico de vuelta, incluso con un 301 para que duela más.

RewriteCond %{HTTP_REFERER} ^http://www\.WebABloquear1\.com 
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]

Si bien este artículo no es un tutorial sobre .htaccess aquí os dejo lo que significan las partes más importantes del código, las expresiones regulares son imposibles de explicar de forma rápida pero podéis buscar información.

[NC] – Not case-sensitve (No es sensible a mayúsculas y minúsculas)
[OR] – Para añadir múltiples referrers, fijaros que el último de la lista no lleva [OR]
[F] – Devuelve un código 403 “Forbidden” (Prohibido)
[L] – Last Flag (última bandera) es el cierre, detiene el procesamiento.
[R] – Redirect (Redirección)

Personalmente no os recomiendo jugar con este archivo, simplemente usad el código de Moz y sustituid las urls.

En caso de modificar el archivo, recordad crear una copia de seguridad del original, y tened en cuenta que un simple carácter fuera de lugar puede ocasionar que vuestra web sea inaccesible.

Segmentando los datos históricos de Analytics

Bajo mi punto de vista, la mejor manera de poder ver los datos históricos reales, es segmentando los resultados.

Para ello nos vamos a Segmentos -> + Nuevo Segmento
Le asignamos un nombre, en mi caso: Todas las sesiones (-Referral Spam)

Segmentar Referral Spam Google AnalyticsEn Condiciones seleccionamos.

  • Adquisición – Fuente
  • coincide con la expresión regular

Y utilizamos el siguiente patrón para agregar las urls de los atacantes:

webabloquear1\.com|wab2\.com| wab3\.com|wab4\.com…

Ejemplo:

site40.simple-share-buttons\.com|site31.simple-share-buttons\.com|s.click.aliexpress\.com|site25.simple-share-buttons\.com|simple-share-buttons\.com…

Filtrando los resultados de Analytics

Ahora que ya hemos bloqueado los bots y segmentado el historial de analytics, vamos a trabajar con las vistas y los filtros de cara a futuro.Crear nueva vista Google Analtics

Lo primero es crear una nueva vista, esta es una práctica que yo siempre realizo, empecé a hacerlo con las imágenes originales en photoshop, después con los códigos en programación… mantén siempre el original por seguridad, en este caso la vista original.

Ahora, sobre la nueva vista, vamos a aplicar los filtros.

Filtro por país

Filtro Google analytics por Pais

Es la opción más rápida, en caso de que no esperéis tráfico de Rusia podéis activarla sin problema ya que no le estáis bloqueando el acceso a toda Rusia, simplemente impedís que esos datos aparezcan en Analytics, si algún ruso decide visitar vuestra web, podrá seguir haciéndolo.

 

 

-Vamos a Filtros -> + Filtro Nuevo
-Tipo de Filtro: Personalizado
-Campo del filtro: realizamos una búsqueda de “País” (con tilde) y seleccionamos Ubicación – País
-Patrón del filtro: Aquí es donde especificamos el nombre de los países cuyo tráfico queremos filtrar, el nombre debe de ser exacto, gramaticalmente correcto. Podéis emplear la función “Verificar este filtro” para comprobar el resultado que obtendréis.

Filtrar BotsFiltrar Referral Spam Bots Google Analytics

Simplemente vamos a Ver configuración y marcamos el “Filtrado de robots”, la utilidad de esta medida no es tan efectiva como desearíamos pero no hace daño, y con algo de suerte Google se pondrá las pilas.

 

Conclusión

Espero que esta pequeña guía os sirva para libraros de este tipo de spam, como veis hay varias formas de solucionar este problema y el problema en sí también evoluciona con bots más inteligentes, iré actualizando este artículo con las nuevas amenazas y soluciones, y por supuesto, si conocéis alguna que no haya mencionado comentádmela por favor, ya sea en los comentarios, Twitter, Facebook, G+…

Saludos.