Можно реализовать самостоятельно в CMS по такому правилу.
Первый запрос IP:
*) Выдаете контент
*) Посредством cms/сервера выдаете проверочные cookie #1
*) В контенте выдаете код на JavaScript который ставит пользователю cookie #2, но не сразу а спустя 3 секунды пребывания на сайте.
Второй запрос от IP:
*) cookie #1 нету ?, отправляйте в бан, это бот.
*) Есть cookie #1 и cookie #2 ?, это реальный пользователь.
*) cookie #1 есть но нету cookie #2 ?, добавьте счетчик для IP и считайте количество запросов.
4й запрос от IP:
*) Все еще нету cookie #2 ?, блокируйте, это бот.
1) Поисковые боты проверяйте через PTR запись и блокируйте всех кто не прошел проверку.
2) Для заблокированных IP выводите простую заглушку, например такую
Защита от ботов , которая ставит валидные cookie и позволяет белому пользователю попасть на сайт.
В данном примере вы избавитесь от плохих ботов, спамеров, парсеров, клонировщиков, разгрузите канал и CPU, при этом оставите доступ для белых пользователей.