Cómo Bloquear el bot de Semrush

Es posible que necesitemos bloquear el bot de Semrush para que no acceda a nuestro sitio web;

 
Bloquear semrush bot
 
Puede ser porque no queremos que nadie nos espíe utilizando Semrush, porque preferimos que no haya visitas y peticiones inesperadas de bots que disparen el consumo de  los recursos de nuestro servidor (por exceso de visitas), o simplemente porque nos hemos enfadado con el bot y no queremos ni verlo.
 
* Por cierto, Semrush es el mejor (o al menos uno de los mejores) analizadores SEO para proyectos Web. *
Queremos aclarar (por si te lo ha parecido) que no estamos en contra de este software en linea ni mucho menos; es más, lo usamos, y nos parece muy bueno. Este post simplemente pretende solucionar un problema muy común para los webmasters y propietarios de sitios web, que en ocasiones prefieren que su sitio no sea rastreado ni analizado por la competencia por el bot de Semrush;

Aún así, para dejar claro que creemos en este software, aquí dejamos un enlace para que el que quiera pueda probarlo, gratis:

Semrush gratis
 

 

Sea como fuere, vamos a ver cómo bloquear al bot de Semrush.

 
Podemos pedirle al hosting que lo haga, pero algunos proveedores de hosting no saben lo que son las reglas de seguridad (Ironic Mode ON. Lo que realmente ocurre es que hay muchos que no aplican reglas personalizadas, también depende del servidor que estemos pagando. Pero los buenos lo hacen. Véase Webempresa).

Pues bien, si nuestro hosting no puede o no sabe aplicar reglas de seguridad y bloqueo adecuadas, y por alguna razón queremos bloquear al bot de Semrush, podemos recurrir a dos métodos que realizaremos nosotros mismos:

  • 1. Prohibir el rastreo al bot por medio del archivo robots.txt
  • 2. Bloquear al bot por medio del archivo .htaccess.

 

 

Evitar el rastreo del bot de Semrush por medio del archivo robots.txt

 

Lo que haremos, es decirle al bot de Semrush, que utiliza el agente de usuario “SemrushBot“, que no tiene permiso para rastrear nuestro sitio; lo haremos de esta forma:

1
2
3
4
5
User-agent: SemrushBot
Disallow: /
 
User-agent: SemrushBot-SA
Disallow: /

 

Con el método de prohibir el rastreo con robots.txt, puede haber un retraso de incluso 2 semanas hasta que el bot de Semrush descubra la regla actualizada en el archivo robots.txt.

 
O sea que no acaba de ser un buen método, porque necesitas bloquear al bot y resulta que tardará 2 semanas en darse cuenta de que está bloqueado.

Así que toca utilizar un método diferente.
 

 

Bloqueo del bot de Semrush por medio del archivo .htaccess

 
El archivo .htaccess es muy útil, y permite incluso añadir reglas de seguridad que funcionarán como un firewall.

Y en este caso lo que haremos es añadir las siguientes líneas en el .htaccess:

1
2
3
4
5
Options +FollowSymlinks  
RewriteEngine On  
RewriteBase /  
SetEnvIfNoCase User-Agent "^SemrushBot" bad_user
Deny from env=bad_user

 
De esta forma denegaremos todas las direcciones IP que utilizan “SemrushBot” en su cadena de agente de usuario.

El símbolo ^ delante de “Semrushbot“, es una máscara que significa que buscará los agentes de usuario que “comienzan con” en este caso la palabra “Semrushbot“.

Si queremos bloquear “Semrushbot” en cualquier lugar de la cadena “User agent”, lo modificaremos y simplemente lo dejamos como “Semrushbot“. (es decir, bloqueará cualquier agente de usuario que contenga esa palabra en cualquier posición, y no buscará solamente los que empiezan por esa palabra).
 

 

¿Y estos bloqueos funcionan?

 
Vamos a hacer la prueba en Semrush. Vamos al menú/ Proyectos / Site Audit / Agregamos nuestro dominio y comenzamos la auditoria del sitio. Y entonces recibimos este mensaje:

Bloquear bot Semrush
 
Sorry, auditing tusitio.com has failed
We encountered an error that stopped us from crawling your website:
Robots.txt forbids the Semrush crawler
.

En este caso nos están diciendo que el archivo robots.txt es el que está bloqueando al robot de Semrush.
 

 
Y en el caso de que el bot de Semrush no fuera bloqueado con el archivo robots.txt sino por medio del .htaccess, el mensaje de error sería el siguiente:

bloquear semrush
We encountered an error that stopped us from crawling your website:
the network connection was interrupted.

Crawler parameters:
User-agent: Mozilla/5.0 (compatible; SemrushBot-SA/0.97; +http://www.semrush.com/bot.html)
IP address: 46.229.173.67

 
Y al descargar el log veremos un error 403 forbidden. Parece que el bloqueo está funcionando!
 

 

PERO HAY UN “PERO” … ¿CUAL ES?

 

Lo malo (en este caso que deseamos bloquear el bot de Semrush), es que Semrush ofrece la posibilidad de realizar el rastreo con el bot que usa el user agent de Google:
 

1
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.semrush.com/bot.html)

en cuyo caso la persona que usase Semrush con el user agent de Google en lugar de el de Semrush, se podría saltar el bloqueo a la torera, a no ser que no nos importe no aparecer en Google y bloqueemos también al bot de Google … (estoy siendo irónico otra vez :-/ ).
 

 
Así que mejor prohibimos el rastreo del agente de Semrush con el robots.txt y con el .htaccess bloqueamoslas IP´s del user agent de Semrush, y si mientras tanto el bot accede con el user agent de Google.. pues mala suerte, pero solo podrá hacerlo hasta que comprenda que el robots.txt le prohíbe el acceso (hasta 2 semanas).
 

Categorías Web