Назад | Перейти на главную страницу

Как запретить ботам перегружать мое медленно работающее веб-приложение?

У нас есть ситуация, когда боты составляют 40% запросов страниц для медленного веб-приложения.

Краткосрочная помощь

В качестве немедленного облегчения я подумал о следующем:

Отделение по серверам «трафика ботов» от «пользовательского трафика» даст дополнительное преимущество более точного анализа на стороне сервера (т.е. знание того, что весь трафик исходит от «реальных пользователей», а не от ботов). Кроме того, мы могли бы использовать более медленный сервер для «бот-трафика» и выделить больше ресурсов «добросовестным клиентам»,

Контекст

Вопрос:

Пожалуйста, взвесьте с любыми другими предложениями

заранее спасибо

Есть риск проиграть за то, что вы не ответили на ваш вопрос:

  1. Вы можете замедлить работу робота Googlebot, используя настройку в Инструментах Google для веб-мастеров.

  2. Большинство основных поисковых роботов поддерживают директиву Crawl-delay в robots.txt, чтобы замедлить их. Бот Yahoo может быть особенно агрессивным.

  3. Полностью запретите подобные Baidu в robots.txt. Они не делают тебе ничего хорошего.

  4. Думайте об агрессивных ботах как об атаках DOS и ограничьте частоту запросов с каждого IP-адреса, используя либо IPTABLES, либо плагин mod_security для Apache.

Пара предложений:

  • Посмотрите на использование User-Agent для маршрутизации ботов (или чего-то подобного) на статическую страницу, чтобы ваше приложение не тратило циклы, отвечая ботам. См. Руководство по перезаписи мода в котором есть несколько примеров
  • Использует robots.txt опция? Это может быть самый простой способ снизить нагрузку на ваш сервер. Добавление еще одного сервера может быть «дорогостоящим» (по времени и обслуживанию) и не будет моим первым выбором.