В предыдущем посту своего блога, рассказывая о том, как снизить потребление ресурсов админкой WordPress, я остановился на отключении ненужных плагинов (или замене нужных на менее ресурсоемкие), замене темы WordPress на менее “тяжелую” и контроле наличия на сайте несуществующих страниц, изображений и файлов.

Как снизить потребление ресурсов админкой WordPress?

Сейчас же скажу самое главное, что позволило мне заметно снизить потребление ресурсов админкой WordPress. Как я писал ранее, работа в админке сайта WordPress порой потребляет больше ресурсов, чем десятки одновременно просматривающих сайт посетителей.

И самую значительную долю ресурсов, когда вы занимаетесь наполнением сайта контентом или корректировкой ранее размещенного контента (как, например, я, когда менял коммерческие анкоры на безанкорные ссылки), отъедают у сайта ревизии, автосохранение и механизм HeartBeat API. Если вы заметили, что имеющихся у вас ресурсов при стабильной посещаемости стало не хватать, отключите эти три ресурсоемкие технологии.

1. Отключение ревизий.

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

Для отключения ревизий записей WordPress вам придется внести корректировку в файл wp-config.php. Этот файл находится в корневой папке сайта WordPress - public.html (вашдомен/public.html/).

Найдите в файле wp-config.php строчку: “define(‘WP_POST_REVISIONS’, true)”  и “true” замените на “false”.

Получится так:

define('WP_POST_REVISIONS', false);

Если же в вашей WordPress в файле wp-config.php такого содержимого нет, пропишите данную строку, к примеру, вверху файла, но обязательно ниже <?php.

2. Увеличение срока для автосохранений.

Тут же недалеко от строки:

define('WP_POST_REVISIONS', false);

должна находиться строка с:

define(‘AUTOSAVE_INTERVAL’, 60);

Увеличьте срок автосохранений, заменив 60 на 7200.

Получится так:

define('AUTOSAVE_INTERVAL', 7200);

То же самое, что и написано выше, сделайте если строки с таким содержимым у вас не было.

3. Отключение HeartBeat API.

HeartBeat API - самый ресурсоемкий механизм CMS WordPress, который в во время вашей работы в админке системы каждые в 15-30 секунд посылает запросы к файлу admin-ajax.php. Причем, если в вашем браузере одновременно открыто несколько вкладок админки сайта, то и запросы следуют из каждой открытой вкладки.

Для отключения механизма HeartBeat API необходимо открыть файл functions.php, который находится в папке вашей темы (шаблона). Помните, что при замене темы сайта вам придется снова вносить соответствующее изменение в данный файл.

Итак. Открыв файл functions.php своей темы WordPress, пропишите ниже тега <?php следующее содержимое:

add_action('init', 'stop_heartbeat', 1);
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

После этого механизм HeartBeat API будет отключен.

Правда, для отключения HeartBeat API можно воспользоваться специальным плагином HeartBeat Control. Но, по моему мнению, это слишком “мудрено”.

Удачи!