В этой статье мы подробно разберём, что такое autoload в WordPress, почему его отключение может сильно повлиять на производительность сайта, размещённого на WPengine, и как грамотно управлять autoload опциями с помощью кода и плагинов.
Что такое autoload в WordPress и почему он важен для производительности
Autoload — это механизм WordPress, который при каждой загрузке страницы автоматически загружает определённые опции из таблицы wp_options в память PHP. Это удобно, так как часто используемые настройки сразу доступны, но если в базе много autoload опций, которые не нужны на каждой странице, это замедляет работу сайта.
Особенно актуально на WPengine — мощном, но с лимитами хостинге, где избыточные autoload записи могут привести к увеличению времени отклика и нагрузке на базу данных.
Поэтому оптимизация autoload — важный шаг для ускорения WordPress на WPengine.
Как определить autoload опции, которые нужно отключить
Первое, что нужно сделать — посмотреть, какие опции загружаются автоматически. Для этого используйте следующий SQL-запрос в phpMyAdmin или через WP CLI:
SELECT option_name, LENGTH(option_value) AS size FROM wp_options WHERE autoload = 'yes' ORDER BY size DESC LIMIT 20;Он покажет самые "тяжёлые" autoload данные. Часто там оказываются остатки неиспользуемых плагинов или устаревшие настройки.
Также можно использовать плагин Clearfy Pro, который умеет анализировать и отключать ненужные autoload опции.
Пример анализа autoload с помощью WPengine_autoload_analyzer()
Для автоматизации можно написать функцию, которая выведет список больших autoload опций:
function WPengine_autoload_analyzer() {
global $wpdb;
$results = $wpdb->get_results(
"SELECT option_name, LENGTH(option_value) AS size FROM {$wpdb->options} WHERE autoload = 'yes' ORDER BY size DESC LIMIT 20"
);
echo '<pre>';
foreach ($results as $row) {
echo "Option: {$row->option_name}, Size: {$row->size} bytes\n";
}
echo '</pre>';
}Добавьте эту функцию в файл functions.php вашей темы и вызовите WPengine_autoload_analyzer() на нужной странице — вы увидите список опций для дальнейшего анализа.
Как отключить autoload для ненужных опций вручную
Если вы точно уверены, что опция не нужна при каждой загрузке, можно изменить поле autoload с «yes» на «no» через SQL:
UPDATE wp_options SET autoload='no' WHERE option_name = 'название_опции';Это сразу уменьшит нагрузку, но делать это нужно осторожно, чтобы не сломать работу плагинов или темы.
Для массового отключения можно использовать PHP-скрипт:
function WPengine_disable_autoload($option_name) {
global $wpdb;
$wpdb->update(
$wpdb->options,
['autoload' => 'no'],
['option_name' => $option_name]
);
}
// Пример вызова
WPengine_disable_autoload('plugin_unused_setting');Автоматизация управления autoload с помощью плагинов
Помимо Clearfy Pro, есть и другие инструменты, которые помогут контролировать autoload:
- WP Optimize — умеет чистить базу и оптимизировать autoload.
- Advanced Database Cleaner — позволяет управлять устаревшими и автозагружаемыми опциями.
Использование этих плагинов на WPengine позволит снизить нагрузку без глубоких знаний SQL.
Пример удаления autoload опций через Clearfy Pro
После установки Clearfy Pro на wpshop.ru перейдите в раздел "Оптимизация базы данных" и воспользуйтесь функцией отключения autoload для ненужных записей. Плагин покажет рекомендации и позволит быстро применить изменения.
Как проверить результат и мониторить autoload на WPengine
После отключения autoload опций важно замерить влияние на производительность. Используйте инструменты:
- Query Monitor — покажет время запросов к базе.
- New Relic, доступный на WPengine — мониторинг серверной нагрузки.
Постоянный мониторинг позволит вовремя обнаружить и исправить новые проблемные autoload записи.
Пример кода для мониторинга autoload в реальном времени
function WPengine_autoload_monitor() {
global $wpdb;
$count = $wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->options} WHERE autoload = 'yes'");
error_log("[WPengine] Autoload options count: " . $count);
}
add_action('shutdown', 'WPengine_autoload_monitor');Этот код будет логировать количество autoload опций при каждом завершении запроса.
Рекомендации по работе с autoload на WPengine
Итоговые советы для оптимизации autoload:
- Регулярно анализируйте базу на предмет больших autoload опций.
- Отключайте autoload только для тех опций, которые не нужны на каждой странице.
- Используйте плагин Clearfy Pro для упрощения управления.
- Тестируйте сайт после изменений на наличие ошибок.
- Мониторьте производительность с помощью Query Monitor и New Relic.
Такой подход поможет значительно снизить нагрузку на базу данных и ускорить работу WordPress на WPengine.