¿Cómo se puede hacer una página web de tal manera que los bots no puedan rasparla?

Esta pregunta se ha desarrollado a partir de una respuesta. aquí.

Por lo tanto, mi pregunta es ¿qué pasos se pueden tomar para eliminar los raspadores estándar?

preguntado el 12 de junio de 12 a las 12:06

5 Respuestas

Además de todas las menciones anteriores de robots.txt, la metaetiqueta robots, y usando más javascript, uno de los métodos más seguros que conozco es poner contenido restringido detrás de un inicio de sesión de usuario. Esto limitará todos menos los bots creados específicamente. Agregue un captcha fuerte (como reCAPTCHA) al inicio de sesión del usuario y los bots especialmente diseñados también se bloquearán.

Si un sitio busca verificar la identidad de un cliente (es decir, incluso si es un bot), para eso están los inicios de sesión de usuario. :)

El inicio de sesión del usuario también se puede desactivar si se detecta actividad extraña.

Respondido el 12 de junio de 12 a las 15:06

La palabra clave en su pregunta es escapes "estándar".

No hay forma de evitar que todos los posibles bots raspen su sitio, ya que podrían simplemente hacerse pasar por un visitante habitual.

Para los bots "buenos", uno o ambos robots.txt o con una Etiqueta META especificando si un bot puede indexar contenido y/o seguir enlaces:

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

Para los 'malos', tendrá que atraparlos una vez y bloquearlos en una combinación de IP, encabezados de solicitud/referencia, etc.

Respondido el 12 de junio de 12 a las 12:06

  • usar CAPTCHA
  • analizar el tráfico (desde dónde y con qué frecuencia se solicitan sus páginas)
  • mostrar texto mezclado con imágenes
  • usar más procesamiento de datos del cliente (JavaScript, Java, Flash)

Respondido el 12 de junio de 12 a las 13:06

Si usa un captcha, incluya un límite de tiempo de 15 a 20 segundos para completarlo, ya que toma un promedio de 20 a 30 segundos para obtener una respuesta de cualquier servicio de ruptura de 'turco mecánico' o script de OCR automatizado. - esquizo

Simplemente colocando una metaetiqueta como

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

Esto le dice a un bot que no puede indexar su sitio.

Respondido el 12 de junio de 12 a las 12:06

solo los que cumplen con las reglas de robot correctas. Hay otros bots, como BLP_bbot (bloomberg) que ignoran las reglas de los robots y rastrean de todos modos. - kolin

Pregunta rápida, ¿eso significa que es responsabilidad del bot verificar esta metainformación en particular (me preocupan los bots que no son de confianza)? Puede que me equivoque, pero ¿este enfoque no deja al sitio vulnerable a todo tipo de raspado de la fuente html en sí? - Saurabh Agarwal

Cierto, si tienes un bot que no sigue las reglas, ignorará esta etiqueta y seguirá raspando. - Pegajoso

Si puede realizar el procesamiento de solicitudes del lado del servidor, puede analizar la cadena del agente de usuario y devolver un 403 si detecta un raspador. Esto no sería infalible. Un raspador sin escrúpulos podría usar un agente de usuario de navegador estándar para engañar a su código. Los falsos positivos negarían su sitio a usuarios reales. Puede terminar negando el acceso de los motores de búsqueda a sus páginas.

Pero, si puede identificar "raspadores estándar", esta sería otra herramienta para controlar el acceso a los raspadores que no respetan la etiqueta de robots.

Respondido el 12 de junio de 12 a las 13:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.