/symbol>

Превышение нагрузки в wordpress

Wordpress - самая распространенная CMS в русскоязычном сегменте интернета. Она проста в администрировании, ее просто изучать, но иногда у пользователей этой системы возникают проблемы с превышением нагрузки на процессор. Аккаунт может быть заблокирован если нагрузка с него угрожает работе сервера. При превышении нагрузки, как правило, можно увидеть с какого скрипта она исходила. Самые частые случаи:

1. Скрипт admin-ajax.php. Через этот скрипт выполняются действия в админ панели сайта. Вы можете просто оставить открытой вкладку редактирования поста и уйти по делам. Пока открыта эта страница скрипт будет сохранять написанное в посте, тем самым генерируя запросы в базу данных и повышая нагрузку на сервер.
Настроить время сохранения можно с помощью плагина heartbeat-control
После установки плагина перейдите в раздел Settings -> Heartbeat Control Settings и в выпадающем списке Heartbeat Behavior выберите Modify Heartbeat. Затем выберите Locations all и выберите Frequency 60 или выше. Детальная инструкция доступна по ссылке.

2. Скрипт xmlrpc.php. Этот скрипт используется для массовой загрузки статей на сайт. Также этот скрипт часто используется в качестве точки входа при ддос атаках. В большинстве случаев владельцы сайтов не знают о функциях этого файла и не используют его. Если Вы его не используете - откройте этот файл на редактирование и допишите после открывающего тега <?php такую строку "die();". Это остановит выполнение скрипта в самом начале, что не даст повысить нагрузку на сервер. Если Вы его используете - уменьшите объем загружаемых данных, разделите их на части. Также полезным будет ограничить доступ к этому файлу с определенного IP.

3. Скрипт wp-login.php. Если Вы видите что запросы идут на этот адрес - Ваш сайт пытаются взломать, подобрав логин и пароль от админ панели сайта. Установите плагин для ограничения попыток входа с одного IP, или поставьте капчу на форму авторизации. Этого будет достаточно, чтобы защитить Ваш сайт от взлома.

4. Скрипт index.php. Может означать что угодно. Но основные причины это сканирование поисковыми ботами и ддос атаки. Узнать причины можно просмотрев логи доступа. В логах явно видны запросы от поисковых ботов и ддос атаки. Признаками этого являются входы с одного IP или из одной подсети. Для ботов также характерна подпись *Bot в запросе. От некоторых ботов можно защититься добавив в файл robots.txt такую строку:
crawl-delay:10
Она установит интервал 10 секунд между сканированиями.
К сожалению для некоторых ботов и при ддос атаках это не сработает. В таких случаях Вы можете воспользоваться сторонним защитным сервисом, например cloudflare.

5. Если все описанные инструкции не сработали и нагрузка повышается из-за посещений сайта обычными пользователями - Вам нужно оптимизировать Ваш сайт.
Для оптимизации и снижения нагрузки советуем установить плагин WP Super cache. Среди остальных бесплатных плагинов этот единственный, который показал реальные результаты в снижении нагрузки.
На странице настроек плагина зайдите во вкладку Расширенные и включите пункты
Кэширование включено
Использовать mod_rewrite для обслуживания кэша.
Остальное оставьте по умолчанию.
Затем нажмите на "Обновить правила mod_rewrite"
В поле "Таймаут кеширования" выберите 0 и нажмите "Изменить время жизни копии".

Related Articles

Как перенести сайт на хостинг

Перенос сайта на хостинг не сложный и доступен даже новичку. Главное следовать инструкции. Он...

Экспорт и Импорт базы данных в phpMyAdmin

При переносе сайта на хостинг часто стоит задача переноса базы данных. Это делается вручную, в...

Смена версии PHP

На нашем хостинге Вы можете выбрать версию языка PHP, подходящую для Вашего сайта. Версию PHP...

Установить SSL сертификат

На любом тарифе хостинга возможна установка бесплатного сертификата от Lets Encrypt. Для...

Как ускорить время ответа сервера

Время ответа сервера это величина, состоящая из времени, затраченного на путь от клиента к...