Existen diversas formas de eliminar el Referer Spam de nuestro sitio web, ya sea por htaccess o por analytics.
Cómo eliminar el Referer Spam de las visitas de nuestro sitio web (o referrer spam)
Revisando las analíticas de un sitio web es normal encontrar visitas desde muchos países. Por ejemplo, un sitio que tiene contenidos en español, normalmente tiene visitas de España, Venezuela, México, Colombia, Argentina, Chile, Perú, Uruguay, Nicaragua, Panamá, República Dominicana, Ecuador, Estados Unidos, Portugal, Francia, Reino Unido, etc… Pero es raro encontrar un número alto de distintos visitantes de países como Rusia (que usan el alfabeto cirílico), o que sin haber hecho ninguna acción enfocada a estos países, su número de visitantes comience a crecer rápidamente en nuestras analíticas.
Revisando el sitio en Google Analytics, vemos que en “Comportamiento” -> “Visión general” y “Títulos de páginas”, encontramos páginas que no existen en nuestro sitio, como por ejemplo en este caso: Co.lumb.
Si creamos un segmento de este país que nos ha llamado la atención, vemos que son muchas visitas que llegan a la raíz de nuestro sitio, pero no permanecen mucho tiempo, y si continuamos investigando, vemos que en la sección “Adquisición” -> “Todas las referencias”, todas estas visitas son referenciadas por dominios un poco “extraños”, en nuestro caso:
- econom.co
- ilovevitaly.co
- ilovevitaly.com
- shopping.ilovevitaly.com
- iedit.ilovevitaly.com
- forum.topic49672914.darodar.com
Con estos datos, ya podemos identificar el problema: nos están haciendo spam, sí: SPAM, pero no del que estamos (lamentablemente) acostumbrados por correo electrónico, sino que están haciendo spam a nuestra página web.
Cómo funciona el Referer Spam
El Referer Spam (inicialmente conocido como referrer, debido a un error ortográfico) es un spam dirigido a los motores de búsqueda, realizado por un robot. La técnica usada es la siguiente:
- Se hacen repetidas peticiones a nuestro sitio web, usando un falso referer de la url al sitio que el spammer quiere anunciar (ya que no es cierto que nos estén llegando visitas desde ese sitio web).
- Algunos sitios web publican datos como los registros de accesos (logs, estadísticas), en el que incluyen las url referenciadas.
- Los sitios atacados crean, sin querer, enlaces hacia los sitios web que los spammers querían promocionar. Como estos datos normalmente no son comprobados, estos enlaces se filtran entre los datos reales de las estadísticas, y con esto logran más enlaces de páginas que les apunten (es decir, consiguen backlinks de páginas que pueden tener un page rank elevado, y que diretamente les apuntan).
3 formas de eliminar el Referer Spam desde .htaccess
La solución a esto es detectar el tráfico, para filtrarlo y bloquearlo. Se puede evitar que nos lleguen visitas de estos referers, modificando el archivo .htaccess, para bloquear la visualización de las páginas web a nivel de apache (usando mod_rewrite):
- Creando reglas de bloqueo de los atacantes usando expresiones regulares:
# CÓDIGO... RewriteEngine On # CÓDIGO... RewriteCond %{HTTP_REFERER} (\.)?ilovevitaly\.(com|co)$ [NC,OR] RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*econom\.co$ [NC,OR] RewriteCond %{HTTP_REFERER} ^https?://([^.]+\.)*darodar\.com$ [NC] # CÓDIGO... RewriteRule .* - [F,L] # CÓDIGO...
- Añadiendo tanto el nombre del servidor, como las direcciones dns a la lista de bloqueos del fichero .htaccess (SetEnvIfNoCase Referer …). El problema de este método es que podemos perder visitas de todos aquellos visitantes que compartan estos datos (en caso de no estar enfocados a los países desde los que nos están haciendo spam (como Rusia en nuestro caso), esto no tendría impacto alguno).
- Prevenir más spam del mismo grupo, añadiendo el bloqueo de la IP (o dns) del dominio que nos hace spam (así se bloquearían todos los dominios que compartan esa IP).
deny from 78.110.60.230
También se puede mitigar:
- Guardando los registros de acceso a su sitio web (logs, estadísticas, etc…) en directorios no públicos o con acceso por contraseña, para que así no sea posible rastrearlos y ser indexados por motores de búsqueda.
- Usando la excusión en el fichero robots.txt (para que no se indexen los archivos de registros).
- Añadiendo el valor nofollow a los posibles enlaces de estos ficheros de registros.
Hemos de tener en cuenta que cada vez que un usuario visita nuestro sitio web, el servidos apache evalúa y ejecuta nuestro fichero .htaccess, por lo que una gran carga y complejidad en éste, puede sobrecargar el servidor.
3 formas de filtrar el Referer Spam desde Google Analytics
Si lo que nos molesta es ver unas visitas en Google Analytics que no son reales (ya que se contabilizan las visitas de los spammers), podemos:
- Excluir el tráfico de los robots seleccionando desde el administrador de la vista la opción: “Excluye todas las visitas de robots y de arañas conocidos”.
- Excluir el tráfico desde las IPs que nos están haciendo spam añadiendo un filtro en la vista (jugando con las expresiones regulares anteriormente vistas).
- Excluir el tráfico desde los dominios que nos están haciendo spam añadiendo un filtro en la vista.
Actualización 31/12/2014
En algunos casos hemos observado que, aunque hay visitas en Google Analytics, no las hay en los registros de Apache de los servidores web, por lo que no es posible que hayan visitado realmente la web y creado la cookie de Google Analytics. [Sobretodo esto es imposible en sitios como el de frabits.com, que no crea las cookies de analytics hasta que el usuario no navega por el sitio web)]. Estos “atacantes” usan la técnica de Spoofing, recolectan un gran número de ids de Google Analytics, y hacen una petición ping a Google Analytics usando el id de un sitio web (pero sin visitar este sitio), por lo que, para Analytics, están visitando el sitio web. En estos pings o peticiones que hacen a Analytics les pasan el valor del referer que les interesa, creando así estas molestas falsas visitas en Google Analytics. Los responsables del análisis de estos sitios web, al revisar las analíticas, entran en “Todas las referencias” para ver que son, consiguiendo así el objetivo de estos “atacantes”, obtener visitas. En estos casos, los cambios que realicemos en el fichero .htaccess no tendrán ningún valor, puesto que no se visitan las webs, sino que se hacen peticiones directamente a Google Analytics, simulando visitas. Actualmente no hay manera de bloquear este referal spam.
En los casos como darodar, ilovevitaly, econom, etc, el objetivo es que el usuario visite sus webs, las cuales redirigen a páginas como Aliexpress, Amazon, etc…, creando una cookie de referido (la cual no tiene ningún peligro) y cobrando así comisiones por todas las compras que realicemos en estos portales de comercio electrónico. En algunos casos pueden crear urls de referals únicas (forum.topicXXXXXXXX.darodar.com), pudiendo contabilizar así las visitas provenientes de un sitio Google Analytics “atacado”. Algunos usuarios ya han reportado a estas webs de afiliados el mal uso que se está haciendo, y, por ejemplo, Amazon ha bloqueado algunas cuentas de los “atacantes”.
La única solución al Spoofing de Google Analytics es ignorarlo: no visitar las webs de los referidos (y borrar las cookies si ya hemos entrado) para que no se lleven comisión por nuestras compras, y añadir los filtros en Google Analytics (arriba comentados) para que no nos distorsionen las estadísticas.
Actualización 09/01/2015
Los “atacantes” siguen atacando los ids de Google Analytics desde otros referers, ya que muchos usuarios ya han bloqueado los dominios anteriormente indicados. Los nuevos dominios que insertan como urls de referencia son:
- priceg.com
- blackhatworth.com
Actualización 12/02/2015: Filtrando el referer spam por ISP
Otra forma de obviar el problema de las visitas del referer spam ruso, es crear una serie de filtros , en este caso, para el proveedor.
Crearemos un filtro en la vista que queramos manejar (siempre es aconsejable crear una nueva vista, y dejar una general, sin filtros, donde se recoja toda la información). En el campo de filtro a excluir, elegiremos “Organización del ISP”, y en Patrón de filtro escribiremos aquellos que nos están reportando visitas desde Rusia: “cjsc er-telecom company samara”, “cjsc er-telecom holding samara branch” o “cjsc company er-telecom samara”, por ejemplo.
Actualización 26/05/2015: Explicación y ejemplo de cómo lo hacen
Muchos de vosotros preguntáis cómo evitarlo, haciendo modificaciones en vuestro servidor, pero estas modificaciones no sirven, ya que no nos atacan a nosotros. Hemos creado una entrada para aclarar estas dudas, en la que explicamos cómo nos atacan nuestras cuentas de Google Analytics.
Actualización 13/07/2015: Cómo evitar el referer spam en 4 sencillos pasos
Hemos creado una entrada explicando cómo evitar las molestas visitas “fantasma” de referer spam de nuestro analytics. Podéis consultar la entrada en cómo evitar el referer spam en 4 sencillos pasos.
Hola, además de aplicar los filtros comentados, ¿es posible bloquear el referer spam desde htaccess como comentan en otros sitios?
Saludos.
Hola Juan,
lamentablemente no podemos hacer nada para bloquear esto, ya que estos ataques no se hacen entrando en las páginas web, sino que son ataques (peticiones) al código de javascript, directamente, por lo que no podemos hacer nada en nuestro sitio para evitarlo. Hacen peticiones aleatorias a los distintos UA (por ejemplo, del UA-40000000-1 al UA-49999999-9).
Puedes revisar los logs de accesos o estadísticas de tu apache (u otro servidor web), y verás como para los días en los que tienes estas visitas de referer spam, no existen esas visitas en tu web (a nivel de servidor deben aparecer siempre todas, ya que es el servidor web el que sirve los ficheros). Por esto es por lo que por mucho que creemos reglas en nuestro servidor, como con el .htaccess, no servirán de nada.
Es un ataque que se hace a Google Analytics, nada tiene que ver con nuestros sitios. Esto sólo lo puede arreglar Google, aunque hay métodos para “limpiar” los resultados y que podamos ver las visitas reales (usando filtros como el de “(not set)”).
Saludos