2011-01-18 11 views
5

Como el tráfico se distribuye de manera desigual en 24 horas, me gustaría rechazar a los rastreadores durante las horas pico y permitir que pasen horas no ocupadas.¿Cómo configurar Robots.txt o Apache para permitir rastreadores solo a ciertas horas?

¿Hay un método para lograr esto?

edit: gracias por todos los buenos consejos.

Esta es otra solución que encontramos.

2bits.com tiene un artículo sobre cómo configurar el firewall de IPTables para limitar el número de conexiones de ciertas direcciones IP.

the article

la configuración de iptables:

  • Usando connlimit

En los nuevos núcleos, hay un módulo connlimit de iptables. Se puede utilizar como esto:

iptables tcp ENTRADA -I -p -m connlimit --connlimit anteriormente 5 -j REJECT

Esto limita las conexiones desde cada dirección IP a no más de 5 conexiones simultáneas. Este tipo de conexiones de "raciones" impide que los rastreadores golpeen el sitio de forma simultánea. *

Respuesta

3

No se puede controlar que en el archivo robots.txt. Es posible que algunos rastreadores soporten algo así, pero ninguno de los grandes lo hace (hasta donde yo sé).

Cambiar dinámicamente el archivo robots.txt también es una mala idea en un caso como este. La mayoría de los rastreadores almacenan en caché el archivo robots.txt durante un tiempo determinado y continúan usándolo hasta que actualicen la caché. Si lo almacenan en caché en el momento "correcto", es posible que se arrastren normalmente todo el día. Si lo almacenan en caché en el momento "incorrecto", dejarán de arrastrarse por completo (y tal vez incluso eliminarán las URL indexadas de su índice). Por ejemplo, generalmente Google caches the robots.txt file for a day, lo que significa que los cambios durante el transcurso de un día no serían visibles para Googlebot.

Si el rastreo está causando demasiada carga en su servidor, a veces puede ajustar la velocidad de rastreo para rastreadores individuales. Por ejemplo, para Googlebot puedes hacer esto en Google Webmaster Tools.

Además, cuando los rastreadores intentan rastrear en momentos de gran carga, siempre puede servirles un 503 HTTP result code. Esto le indica a los rastreadores que lo revisen en algún momento posterior (también puede especificar un encabezado HTTP de reintentos si sabe cuándo deberían volver). Aunque trataría de evitar hacer esto estrictamente a tiempo (esto puede bloquear muchas otras funciones, como Sitemaps, anuncios contextuales o verificación de sitios web y puede ralentizar el rastreo en general), en casos excepcionales podría tiene sentido hacer eso. A largo plazo, te recomiendo que solo hagas esto cuando la carga de tu servidor sea demasiado alta para devolver contenido a los rastreadores.

+0

El 503 podría ser el camino a seguir para los sitios dinámicos. –

2

Esto no es posible usando la sintaxis de robots.txt - la característica simply isn't there.

puede ser capaz de influir en rastreadores alterando realmente el archivo robots.txt dependiendo de la hora del día. Espero que Google verifique el archivo inmediatamente antes de rastrear, por ejemplo. Pero, obviamente, existe el gran peligro de ahuyentar a los rastreadores para siempre de esa manera, el riesgo de que sea probablemente más problemático que cualquier carga que recibas en este momento.

0

No creo que pueda hacer una cita con un motor de búsqueda araña.

+0

no es tanto la planificación de la araña, es más que les permite el acceso a ese momento o no. La araña siempre estará de regreso ... –

5

No se puede determinar a qué hora los rastreadores hacen su trabajo; sin embargo, con Crawl-delay, puede reducir la frecuencia con la que solicitan páginas. Esto puede ser útil para evitar que soliciten páginas rápidamente.

Por ejemplo:

User-agent: * 
Crawl-delay: 5 
+1

Agradable, +1! Referencia aquí: http://en.wikipedia.org/wiki/Robots.txt#Crawl-delay_directive –

+0

Gracias, yo estaba al tanto de eso Desafortunadamente, no existe una directiva para regular el número de rastreadores. La última vez, tuvimos 12 rastreos que golpea el sitio al mismo tiempo. –

+2

FWIW Google no admite el retraso de rastreo: hay demasiados valores falsos especificados allí que no tienen sentido. Si desea ajustar la frecuencia de rastreo para Googlebot, puede hacerlo en [Herramientas para webmasters de Google] (http://www.google.com/support/webmasters/bin/answer.py?hl=es&answer=48620). –

0

Primero Que quede claro:

cita en bloque

dinámicamente cambiar el archivo robots.txt es también una mala idea en un caso como este. La mayoría de los rastreadores almacenan en caché el archivo robots.txt durante un tiempo determinado y continúan usándolo hasta que actualicen la caché. Si lo almacenan en caché en el momento "correcto", es posible que se arrastren normalmente todo el día. Si lo almacenan en caché en el momento "incorrecto", dejarán de arrastrarse por completo (y tal vez incluso eliminarán las URL indexadas de su índice). Por ejemplo, Google generalmente almacena en caché el archivo robots.txt por un día, lo que significa que los cambios durante el transcurso de un día no serían visibles para Googlebot. respondió el 22 de enero de 2011 a las 14:25 John Mueller

Intenté hacer un trabajo cron cambiando el nombre del archivo robot.txt durante la semana. Como un interruptor de encendido/apagado. Funciona, por ejemplo, todos los lunes a medianoche renombra el "robot.txt" a "def-robot.txt", que ahora no bloquea a los rastreadores. Permito dos o tres días, luego tengo otro cronograma de trabajo para cambiar el nombre a "robot.txt" para "def-robot.txt", que ahora comienza a bloquear el acceso de cualquier rastreador a mis sitios. Entonces, es una manera larga de hacer esto, pero el primero mencionado es exactamente lo que me está sucediendo.

He tenido una disminución importante, si no todos, en mis enlaces indexados porque GoogleBot no ha podido verificar que el enlace siga siendo correcto porque "robot.txt impide que Google acceda a mi sitio la mitad de la semana. cambiar el archivo a las personalizaciones que desee podría funcionar algo. Esa es la única forma que he encontrado para personalizar el robot.txt en una base de tiempo programada

Cuestiones relacionadas