Плагин «SEO Stop SearchBot»
предназначен для снижения нагрузки на сервер, путём снижения активности поисковых роботов.
Проблема:
Магазин с множеством региональных витрин/поддоменов.
Во время индексации поисковый робот обходит все товары всех региональных поддоменов.
Сервер не справляется с нагрузкой и падает.
Робот получает 502-й ответ, хостинг накладывает ограничение за превышение лимитов по нагрузке.
Поисковый робот понижает ваш магазин на странице поиска.
Решение:
После превышения некоторого количества обращений,
давать поисковому роботу 429-й код ответа (Too Many Requests)
с указанием времени для следующего обращения (Retry-After).
Когда поисковые системы индексируют сайт и получают ответ с кодом 429, они реагируют на это разными способами. Код 429 означает "Слишком много запросов" и указывает на то, что сервер не может обработать все запросы, поступающие от поисковой системы. Поисковая система может повторить запрос позже, после указанного в заголовке Retry-After времени. Поисковая система может уменьшить скорость индексации, чтобы снизить нагрузку на сервер и избежать получения кода 429. Важно отметить, что реакция поисковых систем на код 429 может зависеть от конкретной поисковой системы и её политики индексации. Каждая поисковая система может иметь собственные правила и алгоритмы для обработки таких ситуаций.
Протестировано на версии PHP 8.3
Интерфейс 2.0 не поддерживается,
но плагин работает на свежей версии Фреймворка и Shop-Script в режиме Интерфейса 1.3
- Поддержка Интерфейса 2.0
- Вывод статистики блокировки
Перечисление и описание настроек плагина
Включить плагин
При выключении не совершает никакой работы кроме инициализации плагина
и проверки состояния этого переключателя.
Режим отладки
При выключении, сразу после подключения плагина,
в публичной части дизайна выводится диагностическое сообщение
с потребляемой памятью и временем выполнения.
Позволяет проверить работоспособность плагина
и отсутствие какой-либо значимой нагрузки от самого плагина.
Лимит запросов в минуту
Количество запросов в минуту, при превышении которого
указанные боты будут помещены в список блокируемых
и получать 429-й код ответа. Минимальное значение 1, максимальное 100.
Список блокируемых ботов находится в файловом хранилище по пути
"/wa-data/public/shop/plugins/seo_stop_searchbot/botLimits.php"
Длительность блокировки
Период времени нахождения бота в списке блокируемых.
Можно указать время используя синтаксис "600S" / "10M" / "2H" / "1D".
Буква обязательно большая, латинская, между цифрой и буквой пробела нет.
Минимальное значение 60S, максимальное 1D.
Поле ввода всячески пытается не дать выйти за разрешённые значения,
но если всё-таки получится ввести туда что-то иное,
то плагин все равно не станет блокировать ботов меньше чем на 60S и больше чем на 1D.
Список ботов для блокировки
Перечисление через запятую ботов, активность которых
необходимо контролировать и блокировать при превышении лимитов по нагрузке.
Ищет вхождение указанного значения в User-Agent входящих запросов.
Не учитывать регистр?
Переключатель, который влияет на то, как будет осуществляться поиск указанных значений.
Если включить, то можно заблокировать всё семейство ботов Яндекса, указав всего одно значение "yandex".
Если выключить, то можно указывать более точные значения и блокировать ботов с учётом регистра.
Разблокировать ботов
Кнопка, при нажатии которой удаляется список блокируемых ботов вместе с текущим состоянием отслеживания их посещений.
Примерный список ботов
Спойлер с примерами User-Agent ботов.