Как отключить autoload для плагинов в WordPress и улучшить производительность

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

Что такое autoload в WordPress и почему его стоит контролировать

Опции с autoload = 'yes' загружаются при каждом запросе к сайту, что удобно для часто используемых данных. Но если плагин сохраняет в autoload большие объемы данных или редко используемые настройки, это вызывает избыточное потребление оперативной памяти и замедляет генерацию страниц.

Контроль autoload помогает:

  • Уменьшить нагрузку на базу данных.
  • Снизить потребление памяти PHP.
  • Ускорить загрузку страниц и отклик сайта.

Поэтому важно периодически проверять, какие опции autoload загружаются, и корректировать их.

Как определить, какие опции плагинов загружаются с autoload = 'yes'

Для анализа autoload-опций можно выполнить SQL-запрос к таблице wp_options вашей базы данных. Обычно префикс таблиц может отличаться, подставьте свой при выполнении.

SELECT option_name, LENGTH(option_value) AS size 
FROM wp_options 
WHERE autoload = 'yes' 
ORDER BY size DESC 
LIMIT 50;

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

Также можно использовать плагин WP-Optimize или Query Monitor, которые имеют инструменты для анализа autoload.

Как отключить autoload для опций плагинов безопасно

Перед изменением всегда сделайте полную резервную копию базы данных!

Если вы точно уверены, что опция не нужна для постоянной автозагрузки, можно отключить autoload с помощью SQL-запроса:

UPDATE wp_options 
SET autoload = 'no' 
WHERE option_name = 'название_опции';

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

Пример функции wpcheck_disable_autoload_option для отключения autoload в коде

function wpcheck_disable_autoload_option($option_name) {
    global $wpdb;
    $table = $wpdb->options;
    $wpdb->query($wpdb->prepare(
        "UPDATE $table SET autoload = 'no' WHERE option_name = %s",
        $option_name
    ));
}

Используйте эту функцию, передавая названия опций, которые хотите исключить из автозагрузки. Например:

wpcheck_disable_autoload_option('plugin_example_settings');

Автоматизация отключения autoload для нескольких опций

Если хотите массово отключить autoload для опций определённого плагина, можно собрать их по префиксу и изменить в цикле:

function wpcheck_disable_autoload_for_plugin($prefix) {
    global $wpdb;
    $table = $wpdb->options;
    $options = $wpdb->get_col($wpdb->prepare(
        "SELECT option_name FROM $table WHERE option_name LIKE %s AND autoload = 'yes'",
        $prefix . '%'
    ));
    foreach ($options as $option_name) {
        wpcheck_disable_autoload_option($option_name);
    }
}

Например, чтобы отключить autoload для опций плагина с префиксом wpplugin_:

wpcheck_disable_autoload_for_plugin('wpplugin_');

Риски и рекомендации при отключении autoload

Отключение autoload не должно нарушать работу плагина. Если плагин использует опцию для критичных настроек, которые нужны при каждой загрузке, отключать её не стоит.

Рекомендуется:

  • Проверять работу сайта и функционала после изменений.
  • Тестировать на тестовой среде, а не на живом сайте.
  • Использовать плагины, которые оптимизируют autoload, например, Clearfy Pro, позволяющие управлять автозагрузкой без кода.

Пример проверки и отключения autoload для плагина WPStories

Допустим, плагин WPStories сохраняет много данных в опциях с префиксом wpstories_. Чтобы проверить и оптимизировать:

global $wpdb;
$table = $wpdb->options;
$options = $wpdb->get_results("SELECT option_name, LENGTH(option_value) as size FROM $table WHERE option_name LIKE 'wpstories_%' AND autoload = 'yes' ORDER BY size DESC");

foreach ($options as $option) {
    if ($option->size > 1000) { // условие для большого объема
        wpcheck_disable_autoload_option($option->option_name);
    }
}

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

Выводы и дополнительные инструменты

Контроль autoload — важный шаг для оптимизации WordPress сайтов с большим количеством плагинов. Правильное отключение автозагрузки опций позволяет снизить нагрузку на сервер и ускорить работу сайта.

Для удобства мониторинга и оптимизации можно использовать инструменты:

  • Clearfy Pro — оптимизация автозагрузки и много других настроек.
  • Query Monitor — диагностика запросов и нагрузки.
  • Ручной SQL-анализ базы данных.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Диагностика и решение проблем с не отправляющимися email в WooCommerce
27.05.2026
Как использовать WooCommerce REST API для управления заказами: практическое руководство
30.04.2026
Как удалить неиспользуемые метаданные в WooCommerce для ускорения сайта
03.05.2026
Как создать плагин для автоматического удаления спама в комментариях WordPress
30.11.2025
Как автоматически удалять старые черновики в WordPress
26.02.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее