Una pregunta común es cómo bloquear ciertos rastreadores, arañas web o bots para que no accedan a tu sitio. Puedes hacerlo utilizando el archivo robots.txt, pero se sabe que algunos rastreadores web ignoran esta solicitud. Una forma más confiable de bloquear bots es usar tu archivo .htaccess.
¿Qué son los rastreadores web?
Los rastreadores web, a menudo conocidos como arañas o bots, navegan sistemáticamente por la web y realizan tareas automatizadas en tu sitio. Pueden realizar tareas como:
- Comprobar enlaces en tu contenido hacia otros sitios web
- Validar tu código HTML para verificar errores
- Guardar información como el número de sitios a los que enlazas o que enlazan a tu sitio
- Almacenar tu sitio y contenido en un “archivo”
Algunos bots son más maliciosos y buscarán en tu sitio web direcciones de correo electrónico o formularios para enviarte spam o incluso buscarán riesgos de seguridad en tu código.
Lo que necesitas para comenzar a bloquear rastreadores web
Antes de que puedas comenzar a bloquear rastreadores web utilizando .htaccess, necesitarás algunas cosas:
- Tu sitio debe estar en un servidor Apache. Nuestros servidores cPanel trabajando todos con Apache salvo el servidor LiteSpeed.
En nuestros servidores Apache podrán crear o modificar un archivo .htaccess. - Necesitas acceso a los registros sin procesar del servidor de tu sitio para poder encontrar los nombres de las arañas web que deseas bloquear (a menos que ya sepas cuáles son). En cPanel proporcionamos la herramienta AwStats que permite revisar las estadísticas de visitas que recibió su sitio web.
Nota: a menos que bloquees todos los bots que intentan acceder a tu sitio web, nunca podrás bloquearlos por completo. Constantemente se crean nuevos bots y se modifican los existentes para eludir cualquier cosa que coloques en tu archivo .htaccess. Lo mejor que puedes esperar es dificultar el acceso a los bots malintencionados que quieren enviarte spam o hackearte.
Bloqueo de robots en tu archivo .htaccess
Para comenzar, necesitas descargar tu archivo .htaccess mediante FTP y hacer una copia de seguridad en caso de que necesites restaurarlo más tarde. Los ejemplos a continuación te mostrarán cómo bloquear bots utilizando la dirección IP o la cadena del User-Agent.
Bloqueo por dirección IP
Puedes bloquear IPs específicas en .htaccess fácilmente usando el siguiente código:
Order Deny,Allow
Deny from 127.0.0.1
Obviamente, deberás cambiar 127.0.0.1 por la dirección IP que deseas bloquear. Order Deny,Allow simplemente significa que si el servidor web recibe una solicitud que coincide con la regla Deny, la denegará. Si no coincide, la permitirá.
La segunda línea le indica al servidor que niegue cualquier solicitud proveniente de 127.0.0.1, lo que generará un mensaje de Forbidden (Prohibido) en lugar de mostrar la página solicitada.
Puedes agregar más direcciones IP añadiendo más líneas Deny from en tu .htaccess:
Order Deny,Allow
Deny from 127.0.0.1
Deny from 215.146.3.3
Deny from 190.86.1.1
Bloqueo de bots por cadena de User-Agent
La forma más fácil de bloquear rastreadores web por cadena de User-Agent es utilizar una función especial integrada en Apache llamada RewriteEngine. Puedes detectar fácilmente los User-Agents y enviarles un error 403 Forbidden. Supongamos que queremos bloquear algunos bots de motores de búsqueda:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Googlebot [OR]
RewriteCond %{HTTP_USER_AGENT} AdsBot-Google [OR]
RewriteCond %{HTTP_USER_AGENT} msnbot [OR]
RewriteCond %{HTTP_USER_AGENT} AltaVista [OR]
RewriteCond %{HTTP_USER_AGENT} Slurp
RewriteRule . - [F,L]
¿Qué hace este código?
Este código toma una lista de condiciones (RewriteCond) y les aplica una regla.
- F significa Forbidden (Prohibido), lo que genera un error 403.
- L significa que es la última regla del conjunto, por lo que no se evaluarán más reglas después de esta.
Guardando los cambios
Una vez que hayas hecho los cambios y bloqueado los bots o IPs que desees, puedes guardar el archivo .htaccess y subirlo a tu servidor, sobrescribiendo el archivo original.
Puedes mantener el archivo actualizado a medida que necesites bloquear nuevos bots o IPs. Si cometes un error, puedes revertirlo utilizando el archivo .htaccess original o simplemente eliminando las reglas agregadas.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en X (Twitter), Facebook e Instagram, además de LinkedIn.