Можно блокировать спам ботов и другие запросы с помощью CleanTalk SpamFireWall. Блокирование происходит до того как будет загружена страница. Эта функция создавалась для решения схожих проблем с нагрузкой на сайт.
https://cleantalk.org/cleantalk-spam-firewall
Зачем нужна капча, если есть другие методы, незаметные для пользователей, как https://cleantalk.org/
Можете посмотреть решение проблемы с спам ботами https://cleantalk.org/
Можете попробовать такое решение
https://cleantalk.org/
Для WordPress и Joomla будет полезно включить такую опцию https://cleantalk.org/cleantalk-spam-firewall
Можете попробовать это решение с включенной опцией SpamFireWall
http://extensions.joomla.org/extensions/extension/access-a-security/site-security/antispam-by-cleantalk
Всем спам ботам при этом будет выдаваться спец страница и они не будут нагружать сайт.
Если используется WordPress или Joomla можете попробовать CleanTalk anti spam. Там присутствует функция SpamFireWall которая блокирует GET запросы с IP адресов имеющих спам активность. Что позволяет снизить нагрузку на сервер.
Для WP https://wordpress.org/plugins/cleantalk-spam-protect/
Для Joomla https://github.com/CleanTalk/joomla25-3x-antispam
Какая CMS используется на сайте?
Какая у вас CMS?
Попробуйте это решение https://cleantalk.org/
Для WordPress есть функция которая вам поможет SpamFireWall, она блокирует доступ к сайту для спам ботов. Поэтому серверу не надо выполнять скрипты на страницах и т.д. из за этого снижение нагрузки на сервер.
Можете поставить анти спам плагин https://wordpress.org/plugins/cleantalk-spam-protect/
Для защиты от спам ботов.
Я отписал уже в другой теме вариант решения /ru/forum/comment/13968424