12. Оптимизация и Кэширование
Производительность WordPress критична для SEO и пользовательского опыта. Основные проблемы: тяжелые запросы к БД, избыточные скрипты и отсутствие кэширования.
Уровни кэширования
Заголовок раздела «Уровни кэширования»stack label "Browser Cache (Static files)" label "Page Cache (HTML output)" label "Object Cache (Database results)" label "OpCode Cache (PHP byte code)"1. Page Cache (Кэширование страниц)
Заголовок раздела «1. Page Cache (Кэширование страниц)»Сохраняет динамическую страницу в статический HTML файл. При следующем посещении сервер отдает файл вместо выполнения PHP кода. Инструменты: WP Rocket, W3 Total Cache, WP Super Cache.
2. Object Cache (Кэширование объектов)
Заголовок раздела «2. Object Cache (Кэширование объектов)»WordPress предоставляет API для кэширования результатов тяжелых операций (например, сложных запросов к БД). Технологии: Redis, Memcached.
// Пример использования Object Cache$cache_key = 'yasha_latest_projects';$projects = wp_cache_get( $cache_key );
if ( false === $projects ) { $projects = get_posts( ['post_type' => 'portfolio'] ); wp_cache_set( $cache_key, $projects, '', HOUR_IN_SECONDS );}Оптимизация Базы Данных
Заголовок раздела «Оптимизация Базы Данных»Со временем база наполняется ревизиями записей и мусором в wp_options.
Рекомендации:
- Ограничение ревизий в
wp-config.php:define('WP_POST_REVISIONS', 5);. - Использование индексов для кастомных таблиц.
- Удаление неиспользуемых плагинов (они часто загружают данные через
autoloadвwp_options).
Оптимизация ассетов
Заголовок раздела «Оптимизация ассетов»Всегда используйте wp_enqueue_script с правильными зависимостями и версионированием.
wp_enqueue_script( 'yasha-main', get_template_directory_uri() . '/js/main.js', ['jquery'], filemtime( get_template_directory() . '/js/main.js' ), true // Загрузка в футере);Инструменты анализа
Заголовок раздела «Инструменты анализа»- Query Monitor: Плагин №1 для поиска медленных запросов и ошибок PHP.
- WP-CLI: Позволяет очищать кэш и оптимизировать БД через терминал.
- Используйте Page Caching для всех сайтов.
- Подключайте Redis для высоконагруженных проектов.
- Следите за размером таблицы
wp_options. - Оптимизируйте изображения (WebP) и шрифты.
Интерактивный пример
Заголовок раздела «Интерактивный пример»Дашборд оптимизации WordPress: