¿Qué duda tienes?
Generic selectors
Exact matches only
Search in title
Search in content

Cómo bloquear el tráfico de bots

Bot, robot, spider, craw… Este tipo de aplicaciones de software están programadas para realizar tareas de forma automática y mucho más rápida que si las hiciese un humano.

Prácticamente, más de la mitad del tráfico de Internet está compuesto por bots que se encargan de escanear e indexar contenido para los motores de búsqueda, interactuar con páginas web, chatear con usuarios o realizar actividades maliciosas como un ataque informático. Y todos estos bots tienen una dirección IP asociada.

Por tanto, hay actividades que realizan los bots que sí interesan, principalmente porque rastrean e indexan contenido en buscadores como Google o Yahoo, pero hay otros que realizan actividades como las siguientes que es conveniente bloquear:

  • Copiar contenido web.
  • Explorar vulnerabilidades y crear phising.
  • Generar un uso excesivo de los recursos de tu plan de hosting, incluso llegando a provocar problemas de lentitud.
  • Realizar ataques de fuerza bruta como los conocidos DDoS.
  • Recolección de direcciones de correo electrónico.
¿Quieres saber más acerca de los bots? Te recomendamos que le eches un ojo a este artículo de nuestro blog: Qué es un bot y para qué se utiliza.

Y ahora la pregunta que seguramente te estés haciendo es… ¿Y cómo bloqueo el tráfico de bots maliciosos?

Pues bien, puedes hacerlo de dos formas diferentes: modificando el fichero .htaccess o bien a través del fichero robots.txt.

Bloquear el tráfico de bots desde .htaccess

Cuando detectas que está entrando a tu web tráfico malicioso, es recomendable que redirecciones todas esas peticiones a una dirección que no existe.

En este ejemplo vamos a bloquear el tráfico del bot PetalBot. Para ello, establecemos las siguientes líneas de código en el .htaccess:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "(PetalBot|petalsearch.com)" [NC]
RewriteRule .* - [F,L]

Para bloquear varios bots a la vez, simplemente hay que añadir una línea más por cada uno de ellos:

RewriteCond %{HTTP_USER_AGENT} "(xxxxxxxx|xxxxxxxxxx)" [NC]

Para que veas un caso real, aquí bloqueamos el tráfico de SeekportBot y PetalBot:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "(SeekportBot|seekport.com)" [NC]
RewriteCond %{HTTP_USER_AGENT} "(PetalBot|petalsearch.com )" [NC]
RewriteRule .* - [F,L]

Bloquear el tráfico de bots desde robots.txt

Desde el archivo robots.txt puedes definir reglas que sugieran a los bots que no accedan ni rastreen el contenido de parte o todo tu sitio.

Por ejemplo, con la siguiente regla puedes bloquear el tráfico de Petalbot de tu sitio web:

User-agent: PetalBot 
Disallow: /

También es muy habitual utilizar reglas en el robots.txt cuando no queremos que Google (o cualquier otro motor de búsqueda) rastree ciertas secciones de una página web como, por ejemplo, el área de clientes.

Tomando de base este ejemplo, si no queremos que Google rastree el área de cliente de tu sitio, tendrías que establecer en el robots.txt lo siguiente:

User-agent: Googlebot
Disallow: /area-de-clientes

En cambio, si lo que no quieres es que ningún bot acceda a esa url, tienes que establecer:

User-agent: *
Disallow: /area-de-clientes

Si utilizas WordPress, por norma general también se indica a los motores de búsqueda que no accedan a la URL de administración, es decir, al /wp-admin:

User-agent: * 
Disallow: /wp-admin
Para conocer más a fondo qué es el archivo robots.txt, los comandos a utilizar y cómo enviarlo a Google te recomiendo que le eches un ojo a esta guía de nuestro blog: Archivo Robots.txt: Qué es y cómo crearlo.
¿Te ha sido útil este artículo?
Tabla de contenidos
¿No encuentras lo que buscas? Nosotros te ayudamos