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

Автозагрузка (autoload) — это механизм WordPress, который позволяет загружать определённые опции из базы данных при каждой загрузке страницы. По умолчанию WordPress загружает все опции с параметром autoload = 'yes', что удобно, но со временем может сильно замедлить сайт из-за большого объёма данных.

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

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

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

Самый простой способ проверить, сколько памяти занимает автозагрузка — выполнить SQL-запрос:

SELECT SUM(LENGTH(option_value)) as autoload_size FROM wp_options WHERE autoload = 'yes';

Если размер превышает 1-2 Мб, стоит задуматься об оптимизации.

Как найти и отключить ненужные autoload опции

Главная задача — определить, какие опции с autoload = 'yes' не используются на сайте и могут быть отключены.

Для этого можно:

  • Использовать плагин Clearfy Pro, который умеет показывать опции с autoload и позволяет управлять ими (подробнее с UTM: Clearfy Pro на WPSHOP).
  • С помощью SQL-запроса получить список самых больших автозагружаемых опций:
SELECT option_name, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;

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

Пример отключения autoload с помощью кода

Для изменения параметра autoload для конкретной опции можно использовать функцию update_option с помощью прямого SQL-запроса, так как WordPress не предоставляет стандартного API для изменения autoload:

function wpcheck_update_option_autoload($option_name, $autoload) {
    global $wpdb;
    if (!in_array($autoload, ['yes', 'no'], true)) {
        return false;
    }
    $result = $wpdb->update(
        $wpdb->options,
        ['autoload' => $autoload],
        ['option_name' => $option_name],
        ['%s'],
        ['%s']
    );
    return $result !== false;
}

// Отключить autoload для опции example_option
wpcheck_update_option_autoload('example_option', 'no');

Этот код можно добавить в файл плагина или в functions.php вашей темы для разовой корректировки.

Использование плагинов для управления autoload

Если хотите удобный интерфейс и безопасное управление, рекомендую обратить внимание на следующие плагины:

  • Clearfy Pro — кроме оптимизации autoload, предлагает множество инструментов для очистки и ускорения WordPress (ссылка с UTM: Clearfy Pro на WPSHOP).
  • Plugin Organizer — позволяет отключать плагины на определённых страницах, что косвенно уменьшает нагрузку, но и помогает управлять автозагрузкой.
  • Advanced Database Cleaner — помогает очистить базу от мусора и оптимизировать autoload.

Использование плагинов особенно полезно, если вы не хотите рисковать напрямую меняя базу данных.

Практические рекомендации по работе с autoload

Для поддержания высокой производительности сайта:

  1. Регулярно проверяйте размер данных с autoload = 'yes'.
  2. Удаляйте или отключайте autoload для опций, которые не используются. Особенно это касается плагинов, которые вы удалили, но их настройки остались.
  3. При разработке собственных плагинов и тем используйте autoload только для действительно часто используемых настроек.
  4. Мониторьте нагрузку на базу с помощью WPCheck (WPCheck), чтобы вовремя заметить проблемы.

Пример правильного добавления опции с autoload

function wpcheck_add_option_autoload($name, $value, $autoload = 'no') {
    global $wpdb;

    $exists = get_option($name);
    if ($exists === false) {
        $wpdb->insert(
            $wpdb->options,
            [
                'option_name' => $name,
                'option_value' => maybe_serialize($value),
                'autoload' => $autoload
            ],
            ['%s', '%s', '%s']
        );
    } else {
        update_option($name, $value);
    }
}

// Добавляет опцию с автозагрузкой только при необходимости
wpcheck_add_option_autoload('wpcheck_custom_option', 'some value', 'no');

Этот пример показывает, как можно контролировать autoload при добавлении собственных опций.

Заключение

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

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

⭐⭐⭐⭐⭐
Как удалить заблокированные плагины в WordPress: практическое решение
23.03.2026
Диагностика и решение проблем с неработающими AJAX-запросами в WooCommerce
30.05.2026
Как использовать WP-Cron для запуска задач в WordPress без проблем
17.02.2026
Как отладить проблемы со загрузкой WordPress и плагинов
11.12.2025
Диагностика и решение проблем с отправкой email в WordPress
21.01.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше