Кэширование WordPress для новичков: как ускорить сайт без программирования

Кэширование WordPress для новичков: как ускорить сайт без программирования

Коротко: кэширование 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 минут для страничного кэша на обычном сайте и до часа на стабильных проектах с редкими обновлениями. Долгий кэш (сутки и больше) экономит ресурсы, но делает сайт «неповоротливым» при частых правках. Браузерный кэш статики можно хранить неделю и дольше.

TimeWeb

Вывод: с чего начать ускорение сайта

Кэширование WordPress — это первое, что нужно сделать новичку после установки CMS, и это не требует программирования. Минимальный план действий:

  1. Установите плагин кэширования (WP Super Cache или LiteSpeed Cache) и включите страничный кэш;
  2. Включите браузерное кэширование;
  3. Настройте автоочистку кэша при публикации;
  4. Проверьте TTFB в DevTools — он должен упасть ниже 300–400 мс;
  5. По мере роста опыта добавьте исключения для корзины и форм, версионирование ассетов и CDN.

Дальше можно копать глубже: настроить меню и навигацию, разобраться с виджетами и сайдбарами или научиться создавать свои шорткоды. Все материалы по теме собраны в разделе «Разработка WordPress».

Если же сайт нужен «под ключ» — с правильной настройкой кэша, оптимизацией скорости и поддержкой — посмотрите наши работы в портфолио и напишите нам: посчитаем стоимость, сроки и сразу заложим ускорение сайта на этапе разработки. Больше полезных материалов — в блоге delai-sait.ru.

Clearfy

Поделиться:
Telegram ВКонтакте