Comment définir Robots.txt ou Apache pour autoriser les robots d’exploration uniquement à certaines heures?

Comme le trafic est réparti de manière inégale sur 24 heures, je voudrais interdire aux robots les heures de pointe et les autoriser aux heures de pointe.

Y a-t-il une méthode pour y parvenir?

edit: merci pour tous les bons conseils.

C’est une autre solution que nous avons trouvée.

2bits.com a un article sur la configuration du pare-feu IPTables pour limiter le nombre de connexions à partir de certaines adresses IP.

l’article

le paramétrage des IPTables:

  • Utiliser connlimit

Dans les nouveaux kernelx Linux, il existe un module connlimit pour iptables. Il peut être utilisé comme ceci:

iptables -I INPUT -p tcp -m connlimit -connlim-above 5 -j REJECT

Cela limite les connexions de chaque adresse IP à 5 connexions simultanées maximum. Ce type de connexions “rations” empêche les robots d’exploration d’atteindre le site simultanément. *

Vous ne pouvez pas contrôler cela dans le fichier robots.txt. Il est possible que certains robots puissent supporter quelque chose comme ça, mais aucun ne le fait (pour autant que je sache).

Changer dynamicment le fichier robots.txt est également une mauvaise idée dans un cas comme celui-ci. La plupart des robots d’exploration stockent le fichier robots.txt pendant un certain temps et continuent à l’utiliser jusqu’à ce qu’ils actualisent le cache. S’ils le cachent au bon moment, ils peuvent ramper normalement toute la journée. S’ils le cachent au “mauvais” moment, ils cesseraient complètement de l’explorer (et pourraient même supprimer les URL indexées de leur index). Par exemple, Google met généralement en cache le fichier robots.txt pour une journée , ce qui signifie que les modifications apscopes au cours d’une journée ne seront pas visibles pour Googlebot.

Si l’parsing entraîne une charge excessive sur votre serveur, vous pouvez parfois ajuster le taux d’parsing pour les robots individuels. Par exemple, pour Googlebot, vous pouvez le faire dans Google Webmaster Tools .

De plus, lorsque des robots tentent d’explorer pendant des périodes de forte charge, vous pouvez toujours leur fournir un code de résultat HTTP 503 . Cela indique aux robots d’exploration de vérifier ultérieurement (vous pouvez également spécifier un en-tête HTTP après une nouvelle tentative si vous savez quand ils doivent revenir). Bien que j’essaie d’éviter de le faire ssortingctement à l’heure de la journée (cela peut bloquer de nombreuses autres fonctionnalités, telles que les sitemaps, les annonces contextuelles ou la vérification de sites Web et peut ralentir l’parsing en général), dans certains cas exceptionnels C’est logique de faire ça. Pour le long terme, je vous recommande fortement de ne le faire que lorsque la charge de votre serveur est vraiment trop élevée pour que le contenu soit renvoyé aux robots.

Vous ne pouvez pas déterminer à quelle heure les robots effectuent leur travail, mais avec Crawl-delay vous pouvez réduire la fréquence à laquelle ils demandent des pages. Cela peut être utile pour les empêcher de demander rapidement des pages.

Par exemple:

 User-agent: * Crawl-delay: 5 

Ce n’est pas possible en utilisant une syntaxe de robots.txt – la fonctionnalité n’existe tout simplement pas .

Vous pourrez peut- être influencer les robots en modifiant le fichier robots.txt en fonction de l’heure de la journée. Je m’attends à ce que Google vérifie le fichier immédiatement avant l’exploration, par exemple. Mais de toute évidence, il y a le grand danger de faire fuir les robots de cette façon – le risque que cela soit probablement plus problématique que n’importe quelle charge que vous obtenez actuellement.

Je ne pense pas que vous pouvez prendre rendez-vous avec une araignée de moteur de recherche.

D’abord, laissez-le clair:

Blockquote

Changer dynamicment le fichier robots.txt est également une mauvaise idée dans un cas comme celui-ci. La plupart des robots d’exploration mettent en cache le fichier robots.txt pendant un certain temps et continuent à l’utiliser jusqu’à ce qu’ils actualisent le cache. S’ils le cachent au bon moment, ils peuvent ramper normalement toute la journée. S’ils le cachent au “mauvais” moment, ils cesseraient complètement de l’explorer (et pourraient même supprimer les URL indexées de leur index). Par exemple, Google met généralement en cache le fichier robots.txt pour une journée, ce qui signifie que les modifications apscopes au cours d’une journée ne seront pas visibles pour Googlebot. a répondu le 22 janvier 11 à 14:25 John Mueller

J’ai essayé de faire un travail chronologique en renommant le fichier robot.txt au cours de la semaine. Comme un interrupteur marche / arrêt. Cela fonctionne tous les lundis à minuit, il renomme le “robot.txt” à “def-robot.txt” qui maintenant ne bloque pas les robots. J’autorise deux à trois jours, puis j’ai un autre emploi du temps chron pour le renommer en “robot.txt” pour “def-robot.txt” qui maintenant commence à empêcher tout robot d’exploration d’accéder à mes sites. C’est donc un long chemin à parcourir mais le premier mentionné est exactement ce qui m’arrive.

J’ai eu une diminution importante, voire la totalité de mes liens indexés, car GoogleBot ne pouvait pas vérifier que le lien était toujours correct car “robot.txt empêche Google d’accéder à mon site une demi-semaine. Simple. les personnalisations que vous souhaitez pourraient fonctionner comme cela: c’est la seule façon de personnaliser robot.txt sur une base de temps planifiée.