Коротко: кэширование WordPress — это сохранение готовых HTML-страниц и тяжёлых данных, чтобы отдавать их посетителю без повторных запросов к базе данных. Включить его может даже новичок: достаточно установить плагин кэширования (WP Super Cache, W3 Total Cache, LiteSpeed Cache), включить страничный кэш и браузерное кэширование — скорость загрузки обычно вырастает в 2–5 раз без единой строчки кода. Среднее время ответа сервера (TTFB) падает с 800–1500 мс до 150–300 мс. Если хочется больше контроля — в functions.php добавляются сниппеты для автоочистки кэша, версионирования стилей и исключения отдельных страниц. Главное правило: кэш настраивается на 5–15 минут, а после любых правок сайта — очищается.
«Сайт на WordPress тормозит» — самая частая жалоба новичков, которые только что перенесли проект с конструктора на CMS. Страницы грузятся по 3–5 секунд, админка «задумывается», Google PageSpeed показывает красные оценки. При этом большинство проблем решаются не покупкой дорогого хостинга и не переписыванием кода, а банальным включением кэширования.
В этой статье разберём, что такое кэширование WordPress простыми словами, какие виды кэша существуют, как включить его через плагин без программирования, какие сниппеты для functions.php пригодятся, когда кэш вредит и как его правильно чистить. Материал рассчитан на новичков: никакой магии, только конкретные шаги и примеры кода.
Что такое кэширование WordPress и зачем оно нужно
Каждый раз, когда посетитель открывает страницу, WordPress выполняет десятки PHP-скриптов и отправляет несколько десятков запросов в базу данных: достать настройки, меню, записи, виджеты, комментарии, плагины. На всё это уходит время — особенно на дешёвом хостинге, где база данных не блещет скоростью.
Кэш — это сохранённая копия результата. Вместо того чтобы каждый раз собирать страницу заново, WordPress (или плагин) один раз сохраняет готовый HTML-файл и отдаёт его посетителям. База данных не нагружается, PHP не выполняется — сервер просто «отдаёт файл», а это в разы быстрее.
Разберём основные виды кэша, которые важны новичку:
- Страничный кэш (page cache) — сохраняет готовые HTML-версии страниц. Самый заметный эффект: именно он даёт ускорение в 2–5 раз.
- Браузерный кэш — говорит браузеру посетителя хранить картинки, CSS и JS-файлы локально, чтобы не скачивать их при каждом заходе.
- Объектный кэш (object cache) — хранит результаты запросов к базе (например, настройки опций) в памяти. Полезен на нагруженных сайтах, для новичка — опционально.
- Кэш CDN — раздаёт статику (картинки, скрипты) с серверов по всему миру. Подключается отдельно через Cloudflare и подобные сервисы.
Для сравнения: что именно ускоряется при включении кэша, смотрите в таблице ниже. А если вы только выбираете, на чём делать сайт, — прочитайте материал о том, стоит ли заказывать сайт на WordPress в 2026 году.
| Что проверяем | Без кэша | С кэшем |
|---|---|---|
| Время ответа сервера (TTFB) | 800–1500 мс | 150–300 мс |
| Запросы к базе данных на страницу | 30–80 | 0–2 (страница отдаётся из файла) |
| Нагрузка на хостинг | Высокая, сайт «падает» в пик | Минимальная |
| PageSpeed (мобильный) | 30–55 баллов | 70–95 баллов |
| Поведение при 100+ посетителях одновременно | Тормоза и 502-ошибки | Стабильная работа |
Как понять, что сайту нужно кэширование
Проверка занимает 5 минут. Откройте сайт в браузере и нажмите F12 (инструменты разработчика), перейдите на вкладку Network и обновите страницу. Посмотрите на пункт Time to First Byte (TTFB) — это время, которое сервер думает перед отправкой первого байта данных:
- TTFB меньше 300 мс — всё отлично, кэш скорее всего уже работает или сайт лёгкий;
- TTFB 400–800 мс — сайт «задумывается», кэширование даст заметный эффект;
- TTFB больше 1 секунды — срочно нужен кэш, это главный тормоз.
Второй быстрый способ — сервис GTmetrix или Google PageSpeed Insights: в отчёте будет прямо написано «Serve static assets with an efficient cache policy» и «Leverage browser caching» — это и есть сигнал, что кэш не настроен. Третий признак — сайт «тормозит» только при первом заходе, а повторные открытия быстрые: это классический симптом отсутствия страничного кэша.
Важно: если сайт в целом работает, но скорость «плавает», сначала проверьте хостинг — возможно, дело в нём. О том, как выбрать нормальный хостинг и на что смотреть в тарифах, читайте в статье о выборе хостинга для сайта.
Плагины кэширования: сравнение для новичка
Есть десятки плагинов, но новичку реально нужны четыре. Сравним их по ключевым параметрам, чтобы вы выбрали под свой случай.
| Плагин | Сложность | Страничный кэш | Браузерный кэш | Объектный кэш | Минификация | Кому подойдёт |
|---|---|---|---|---|---|---|
| WP Super Cache | Низкая | Да | Да | Нет | Частично | Новичкам: 5 минут на настройку |
| W3 Total Cache | Средняя | Да | Да | Да | Да | Тем, кто готов разбираться в настройках |
| LiteSpeed Cache | Средняя | Да | Да | Да | Да | Сайтам на хостинге с LiteSpeed (часто — у TimeWeb и других) |
| WP Rocket (платный) | Низкая | Да | Да | Да | Да | Тем, кто хочет «включил и забыл» |
Рекомендация для новичка: начните с WP Super Cache — он бесплатный, простой и покрывает 90% потребностей. Если сайт на хостинге с сервером LiteSpeed (это видно в панели хостинга), берите LiteSpeed Cache — он работает на уровне сервера и быстрее. О том, какие ещё плагины стоит поставить сразу после установки WordPress, — в нашем гайде про топ-10 плагинов для начинающих.
Настройка кэширования через плагин: пошагово без кода
Рассмотрим настройку на примере WP Super Cache — самого дружелюбного плагина для новичков.
Шаг 1. Установка. В админке: «Плагины» → «Добавить новый» → в поиске введите «WP Super Cache» → «Установить» → «Активировать».
Шаг 2. Включение кэша. Перейдите в «Настройки» → «WP Super Cache». Отметьте пункт «Кэширование включено (рекомендуется)» и нажмите «Обновить статус». Всё — страничный кэш работает.
Шаг 3. Браузерный кэш. Откройте вкладку «Дополнительно» и поставьте галочку «Разрешить браузерное кэширование» (Allow browser caching). Плагин сам добавит в .htaccess правила для хранения статики в браузере посетителя.
Шаг 4. Очистка при изменениях. На вкладке «Дополнительно» отметьте «Очищать кэш при обновлении записи или страницы» (Cache hits / Clear all cache when a post or page is published). Тогда после каждой публикации кэш будет обновляться автоматически — не придётся чистить вручную.
Шаг 5. Проверка. Откройте сайт в режиме инкогнито, обновите страницу дважды и снова посмотрите TTFB в DevTools — он должен заметно упасть. В настройках плагина на вкладке «Статус кэша» вы увидите, сколько страниц уже закэшировано.
Если после включения кэша что-то «сломалось» — например, не обновляется корзина интернет-магазина или не отправляется форма, — не паникуйте: это решается исключениями и сниппетами из следующего раздела.
Сниппеты для functions.php: кэш под контролем
Плагин закрывает базовые задачи, но иногда нужен точечный контроль. Вот проверенные сниппеты для файла functions.php вашей темы. Добавлять их лучше в дочернюю тему, чтобы изменения не потерялись при обновлении родительской темы.
1. Автоочистка кэша WP Super Cache при сохранении записи — полезно, если плагин не срабатывает на кастомных типах записей:
// Автоочистка кэша при сохранении любой записи или страницы
add_action('save_post', 'dscw_clear_cache_on_save', 10, 3);
function dscw_clear_cache_on_save($post_id, $post, $update) {
// Пропускаем автосохранения и черновики
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
return;
}
if (wp_is_post_revision($post_id) || $post->post_status !== 'publish') {
return;
}
// Очистка кэша, если плагин WP Super Cache активен
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
// Дополнительно сбрасываем кэш W3 Total Cache
if (function_exists('w3tc_flush_posts')) {
w3tc_flush_posts();
}
} 2. Отключение кэша для залогиненных пользователей — чтобы авторы и администраторы всегда видели свежую версию сайта:
// Не показывать закэшированную версию залогиненным пользователям
add_filter('wp_cache_ob', 'dscw_disable_cache_for_logged_in');
function dscw_disable_cache_for_logged_in($buffer) {
if (is_user_logged_in()) {
return '';
}
return $buffer;
}
// И вариант для W3 Total Cache
add_filter('w3tc_can_cache', function ($can_cache) {
return is_user_logged_in() ? false : $can_cache;
}); 3. Исключение страниц из кэша — например, страницы с формами, где нужно видеть свежие данные (корзина, оформление заказа, страница «Спасибо»):
// Исключаем из кэша страницы корзины и оформления заказа WooCommerce
add_filter('wp_cache_reject_uri', 'dscw_reject_woocommerce_pages');
function dscw_reject_woocommerce_pages($rejected) {
$rejected[] = 'cart';
$rejected[] = 'checkout';
$rejected[] = 'my-account';
return $rejected;
}
// Универсальный вариант: исключить конкретный URL по слагу
add_filter('wp_cache_reject_uri', function ($rejected) {
$rejected[] = '.*/stranitsa-s-formoy.*';
return $rejected;
}); 4. Версионирование стилей и скриптов — классическая проблема: обновили CSS, а посетители видят старый из браузерного кэша. Добавляем к URL файла метку времени — браузер загрузит новую версию автоматически:
// Автоматическая версия для стилей и скриптов по времени изменения файла
add_action('wp_enqueue_scripts', 'dscw_cache_busting_assets', 20);
function dscw_cache_busting_assets() {
$theme_dir = get_stylesheet_directory();
$theme_uri = get_stylesheet_directory_uri();
// Стили: filemtime вернёт timestamp последнего изменения
wp_enqueue_style(
'theme-main',
$theme_uri . '/style.css',
array(),
filemtime($theme_dir . '/style.css')
);
// Скрипты — аналогично
wp_enqueue_script(
'theme-main-js',
$theme_uri . '/js/main.js',
array(),
filemtime($theme_dir . '/js/main.js'),
true
);
} Если вы ещё не знакомы с хуками и фильтрами, на которых построены эти сниппеты, — изучите наш гайд о том, какие сниппеты для functions.php нужны новичку.
JS-сниппеты: сброс кэша и контроль версий на фронтенде
Иногда кэш «залипает» на стороне клиента: посетитель видит старую версию сайта, хотя сервер уже отдаёт новую. Пара простых JS-приёмов помогает это контролировать.
1. Принудительная перезагрузка с игнорированием кэша — используйте только для своей страницы разработки, не для продакшена:
// Жёсткий сброс кэша страницы для проверки новой версии
// ВАЖНО: только для разработки, на боевом сайте не использовать!
if (location.search.indexOf('fresh=1') !== -1) {
location.reload(true); // force reload, игнорируя кэш браузера
}
// Или мягкий вариант: обычная перезагрузка после публикации
function dscw_force_refresh_after_publish(seconds) {
setTimeout(function () {
location.reload();
}, seconds * 1000);
}
// dscw_force_refresh_after_publish(5); // перезагрузить через 5 секунд 2. Добавление версии к внешним скриптам — если вы подключаете скрипт напрямую в HTML и хотите «пробить» браузерный кэш при обновлении:
// Добавляет ?v=timestamp к подключению скрипта, чтобы браузер не кэшировал старую версию
(function () {
var scripts = document.querySelectorAll('script[data-cache-bust]');
var version = '20260816'; // меняйте при каждом обновлении кода
scripts.forEach(function (script) {
var src = script.getAttribute('src');
if (src && src.indexOf('?') === -1) {
script.setAttribute('src', src + '?v=' + version);
}
});
})(); 3. Определение кэшированной версии через консоль — быстрая диагностика: выводим в консоль браузера версию сборки, чтобы понять, какую версию видит посетитель:
// Выводим версию сборки в консоль для диагностики кэша
console.log('[DSCW] Site version: ' + '2026.08.16-r1');
// Если после обновления в консоли старая версия — браузерный кэш залип Эти сниппеты не заменяют настройку на сервере, но здорово экономят нервы при отладке «почему клиент видит старую версию».
Когда кэш вредит: типичные ошибки новичков
Кэширование — это палка о двух концах. Вот 5 типичных ошибок, из-за которых новички отключают кэш и зря:
- Не чистят кэш после правок. Изменили шапку, а посетители видят старую. Решение: включить автоочистку при публикации (см. сниппет №1) и чистить кэш вручную после любых изменений в теме.
- Кэшируют страницы с персональными данными. Корзина, личный кабинет, формы — их кэшировать нельзя, иначе пользователи увидят чужие данные. Решение: исключения из раздела 5.
- Включают все галочки подряд. Минификация CSS и JS «вслепую» часто ломает вёрстку и скрипты. Включайте по одной опции и проверяйте сайт после каждой.
- Кэш конфликтует с другими плагинами. Два плагина кэширования одновременно — почти гарантированные ошибки. Оставьте один.
- Забывают про кэш на стороне хостинга. Некоторые хостинги (например, с сервером LiteSpeed или Nginx) кэшируют на своём уровне, и плагин WordPress с ним не дружит. Если после включения плагина скорость не изменилась — проверьте панель хостинга.
Отдельная тема — безопасность: кэш не должен хранить чувствительные данные. О том, как защитить сайт от взлома, читайте в статье о 10 настройках безопасности WordPress.
Кэширование на уровне хостинга: что ещё можно включить
Плагин — это 80% эффекта. Остальные 20% дают настройки на уровне хостинга и сервера, которые часто включены по умолчанию или включаются одной кнопкой:
- Кэш на стороне сервера (LiteSpeed Cache / Nginx FastCGI Cache). Если хостинг на LiteSpeed — включите кэш в панели и используйте плагин LiteSpeed Cache вместо «тяжёлых» аналогов.
- OPcache / PHP-кэш. Кэширует скомпилированный PHP-код. Обычно включён по умолчанию; если нет — включите в панели хостинга.
- Memcached / Redis. Для объектного кэша. На дешёвых тарифах часто недоступен, но на VPS включается за пару минут.
- CDN (Cloudflare). Бесплатный тариф уже даёт кэш статики и ускорение доставки. Подключается сменой DNS — подробные инструкции есть у Cloudflare.
Совет: не включайте всё одновременно. Начните со страничного кэша плагина, проверьте TTFB, потом добавьте браузерный кэш, потом — CDN. Так вы будете видеть, что именно даёт эффект, и не сломаете сайт.
Частые вопросы о кэшировании WordPress
Что такое кэширование WordPress простыми словами?
Это сохранение готовой версии страницы (или данных из базы), чтобы отдавать её посетителям без повторного выполнения PHP-кода и запросов к базе данных. Вместо «собрать страницу заново» сервер отдаёт сохранённый файл — страница открывается в 2–5 раз быстрее, а нагрузка на хостинг падает.
Какой плагин кэширования лучше для новичка?
WP Super Cache — самый простой бесплатный вариант: устанавливается и включается за 5 минут. Если хостинг работает на сервере LiteSpeed — используйте LiteSpeed Cache, он эффективнее на таком хостинге. W3 Total Cache мощнее, но сложнее в настройке, а платный WP Rocket — вариант «включил и забыл».
Нужно ли чистить кэш после обновлений WordPress?
Да. После обновления ядра, плагинов, темы или любых правок в коде очистите кэш, иначе посетители могут видеть старую версию сайта. Чтобы не делать это вручную, включите автоочистку кэша при публикации записей — это настраивается в плагине или сниппетом для functions.php.
Может ли кэш сломать интернет-магазин на WooCommerce?
Может, если кэшировать страницы корзины, оформления заказа и личного кабинета. Плагины кэширования обычно исключают их автоматически, но лучше проверить: в WP Super Cache добавьте эти страницы в список исключений (см. сниппет №3 в статье). Корзина должна всегда показывать актуальные данные.
Почему после включения кэша сайт выглядит «старым»?
Скорее всего, работает браузерный кэш: браузер посетителя хранит старые CSS и JS-файлы. Решение — версионирование ассетов (добавление ?v= к URL файлов при каждом обновлении) или сброс кэша в браузере. На стороне сервера проверьте, что автоочистка кэша включена.
Сколько времени хранить кэш страниц?
Оптимально 5–15 минут для страничного кэша на обычном сайте и до часа на стабильных проектах с редкими обновлениями. Долгий кэш (сутки и больше) экономит ресурсы, но делает сайт «неповоротливым» при частых правках. Браузерный кэш статики можно хранить неделю и дольше.

Вывод: с чего начать ускорение сайта
Кэширование WordPress — это первое, что нужно сделать новичку после установки CMS, и это не требует программирования. Минимальный план действий:
- Установите плагин кэширования (WP Super Cache или LiteSpeed Cache) и включите страничный кэш;
- Включите браузерное кэширование;
- Настройте автоочистку кэша при публикации;
- Проверьте TTFB в DevTools — он должен упасть ниже 300–400 мс;
- По мере роста опыта добавьте исключения для корзины и форм, версионирование ассетов и CDN.
Дальше можно копать глубже: настроить меню и навигацию, разобраться с виджетами и сайдбарами или научиться создавать свои шорткоды. Все материалы по теме собраны в разделе «Разработка WordPress».
Если же сайт нужен «под ключ» — с правильной настройкой кэша, оптимизацией скорости и поддержкой — посмотрите наши работы в портфолио и напишите нам: посчитаем стоимость, сроки и сразу заложим ускорение сайта на этапе разработки. Больше полезных материалов — в блоге delai-sait.ru.



