Боты поглощают ваше процессорное время на сайте Wordpress? Плагин Wordfence.

боты грузят сайт

Привет всем!

Данный материал касается только сайтов на Wordpress и преимущественно те, которые имеют от 1000 страниц.

Бывает так, что развиваешь свой новостник, держишь его не виртуальном хостинге, думаешь что все у тебя хорошо, размещаешь классный материал, думаешь - сейчас сайт немного подрастет и тут... Бам - и сайт не работает, хостинг пишет ваш аккаунт может быть suspended так как вы превысили лимиты на расход процессорного времени...

Дело в том, что если ваш материал высокочастотный и он вдруг появляется на первых позициях, то сотни поисковых ботов и краулеров вдруг обнаруживают для себя ваш сайт и все вместе ломятся его индексировать, этим они создают сотни загрузок страниц вашего сайта, грузят страницы сотнями одновременно, создают своеобразную ддос атаку и ... тратят процессорное время вашего виртуального хостинга.

В одном из моих случаев - после установки плагина для мультиязычности боты вдруг обнаружили множество новых страниц и решили их все сразу вместе проиндексировать.

На виртуальном хостинге ресурсы которые вам выделяются - не бесконечны, даже если написано что вам выделен процессор 2 ядра - это не значит, что 24 часа в сутки процессор будет работать на вас - нет как правило это 100-250 минут работы процессора в сутки. После того как ваш сайт под нагрузкой превысил минуты работы процессора хостинг выставляет вам счет на повышение расхода процессорного времени.

Единственный плагин который нормально отрабатывает по блокировке ботов и краулеров для Wordpress - Wordfence (их сайт). Пришлось проверять десятки прежде чем было найдено приемлемое бесплатное решение! 

Что делать детально:

1. Ищем в репозитории вордпресса плагин Wordfence, устанавливаем, активируем.

2. Настраиваем, идем в All Options, листаем вниз, находим такой раздел и настраиваем примерно так:

боты грузят сайтэто очень строгая настройка!

Если все получилось - идем на вкладку плагина Live Traffic листаем вниз и видим такую следующую картину:

боты грузят сайт

Красными кружочками отмечены уже заблокированные пользователи/боты/краулеры. 

3. Плагин в премиум доступе может блокировать трафик по странам

4. Вы можете заблокировать любого пользователя если он обращается в /wp-login.php например))

5. Можете заблокировать любой User agent и любой IP...

* но есть ньюанс, как в анекдоте - если плагин вас заблокировал по какой либо причине, то он вышлет вам на почту ссылку для снятия блокировки, но вы же умный и установили в настройках - что любой кто посетит /wp-login.php автоматически попадает в бан, а ваша ссылка для логина выглядит по другому например так /wp-login-samii-vumnii.php - так вот в плагине в письме ссылка плагина для разблокировки переводит вас автоматически на /wp-login.php и вы опять попадаете под блок, т.е. плагин не видит этот момент.

Какой выход из ситуации:

1. Зайти под другим IP - переткнуть кабель или модем, 

2. Зайти чз FTP и в папке wp-content/plugins/ найти Wordfence и переименовать примерно в такое Wordfence111 этим действием вы отключите плагин, потом залогиниться и уже потом переименовать папку с плагином обратно, таким образом вы его включите. Свой IP потом можете добавить в белый список.

Но... если вы столкнулись таким явлением (боты атакуют), то скорее всего - немного позже вам придётся переезжать на VDS... Боты так просто не отстанут, даже если прописать запреты в robots.txt.

Пока всё, всем пока!