SERVIDORES APACHE: BLOQUEO DE VARIOS ROBOTS Y BLOQUEO TEMPORARIO DE LOS MISMOS MEDIANTE ARCHIVOS .HTACCESS

02.12.2017 11:21
Para bloquear varios robots con un archivo .htaccess mediante una lista negra debemos crear un archivo como el siguiente:
 
#Deshacerse de varios robots no deseados
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Robot_maligno [OR]
RewriteCond %{HTTP_USER_AGENT} ^Robot_maligno2 [OR]
RewriteCond %{HTTP_USER_AGENT} ^Robot_maligno3
RewriteRule ^(.*)$ https://fuerade.aqui/
 
Ubicamos el archivo en el directorio al que queremos bloquear el acceso.
 
En determinadas circunstancias podríamos querer bloquear el ingreso de robots temporariamente. Por ejemplo, sabiendo que en determinado día vamos a tener un alto volúmen de tráfico, no queremos saturar el servidor o sitio permitiendo el ingreso de robots ese día. Podríamos crear un archivo .htaccess como el siguiente:
 
ErrorDocument 503 "Site temporarily disabled for crawling"
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^.*(bot|crawl|spider).*$ [NC]
RewriteCond %{REQUEST_URI} !^/robots\.txt$
RewriteRule .* - [R=503,L]
 
Las palabras bot,crawl y spider aparecerán en el agente de ususario (user-agent) de la mayoría de los robots de buscadores por lo que quedarán incluidos en la regla.
 
El código 503 hará saber al robot que el servidor no puede responder a la petición porque está congestionado o está realizando tareas de mantenimiento. De todos modos no conviene bloquear el acceso de los robots por mucho más de dos días para que el programa de búsqueda no interprete la situación como un apagón o mantenimiento extenso y deje de visitar el sitio con la frecuencia habitual. Suponemos que es un tanto indistinto poner el mensaje "Site temporarily disabled for crawling" en inglés o en castellano (español) pero ante la duda optamos por el inglés.
 
Artículo relacionado: