Кэширование сайта можно сравнить с хорошим рестораном в обеденный час. Если повар начинает выращивать картошку после каждого заказа, очередь быстро выходит на улицу. Если часть заготовок подготовлена заранее, кухня справляется быстрее. Но вчерашний салат выдавать под видом сегодняшнего тоже не стоит.
С сайтом та же логика. Кэш хранит уже полученный результат — файл, данные или готовую страницу — и позволяет использовать его повторно. Это может сократить количество обращений к серверу и базе данных, ускорить повторные посещения и помочь сайту спокойнее переживать всплески трафика.
Главная сложность в другом: кэша на сайте обычно не один. Поэтому фраза «у нас включено кэширование» сама по себе почти ничего не говорит.
Кэширование сайта: что именно сохраняется и где
Для владельца бизнеса полезно различать четыре основных уровня.
| Уровень | Что обычно сохраняет | Какой эффект заметен |
|---|---|---|
| Кэш браузера | изображения, CSS, JavaScript, шрифты | посетитель не скачивает одинаковые файлы заново |
| Page cache | готовый HTML страницы | серверу не приходится каждый раз полностью собирать страницу |
| Object cache | результаты вычислений и обращения к данным | WordPress меньше повторяет одну и ту же работу с базой |
| CDN / reverse proxy | копии файлов или страниц ближе к пользователю | часть запросов вообще не доходит до основного сервера |
Например, человек открыл страницу услуг, перешёл в портфолио и вернулся обратно. Логотип, шрифты и таблица стилей уже были загружены. Нет большой пользы перевозить один и тот же цифровой диван со склада второй раз.
На WordPress page cache и object cache решают разные задачи. Первый может сохранить уже готовую публичную страницу. Второй помогает не повторять одни и те же операции с данными при формировании страниц. Поэтому установка Redis сама по себе ещё не означает, что HTML перестал генерироваться для каждого посетителя.

Где кэш экономит деньги, а где создаёт проблемы
На корпоративном сайте ситуация относительно простая. Страница «О компании» меняется раз в несколько месяцев, логотип — ещё реже. Заставлять WordPress собирать их с нуля при каждом просмотре примерно так же рационально, как заново печатать визитку перед каждым рукопожатием.
С магазином интереснее. Категория «Диваны» может хорошо работать через page cache. Но корзина, личный кабинет, оформление заказа и персональные данные уже зависят от конкретного пользователя.
Представьте, что покупатель А положил в корзину синий диван. Из-за ошибочного общего кэша покупателю Б показали тот же товар в корзине. Это уже не ускорение сайта, а довольно творческий способ познакомить клиентов друг с другом.
Похожая проблема возникает со старыми ценами и остатками. Компания поменяла стоимость с 79 000 до 69 000 рублей, менеджер видит новую цену в админке, а часть покупателей продолжает получать старую копию страницы из CDN или page cache.
Поэтому хороший кэш — не тот, который хранит всё как можно дольше. Хороший кэш понимает, что можно повторно использовать, когда копия должна обновиться и какие страницы вообще нельзя раздавать всем одинаково.
Что кэширование реально меняет для SEO
У кэширования нет отдельной ручки «SEO +20».
Связь проходит через несколько более понятных механизмов.
Во-первых, быстрый и стабильный сервер проще переживает нагрузку. Если публичные страницы не требуют одинаковой тяжёлой работы при каждом запросе, уменьшается вероятность, что сайт начнёт долго отвечать в момент рекламной кампании или сезонного спроса.
Если сайт медленный в целом, полезно сначала разобрать частые причины долгой загрузки, а не назначать кэш универсальным лекарством.
Во-вторых, Google поддерживает механизмы повторной проверки HTTP-ответов через ETag и Last-Modified. Если ресурс не изменился, сервер может ответить кодом 304 Not Modified без повторной передачи всего содержимого. На крупных сайтах с большим количеством редко меняющихся URL это способно сделать обход эффективнее.
В-третьих, кэш способен влиять на реальный пользовательский опыт. Особенно это заметно на повторных посещениях и при уменьшении времени серверной обработки. Но скорость — лишь одна часть картины. Хороший кэш не превращает слабую страницу в лучший результат по запросу и не гарантирует рост позиций.
Если первый ответ сервера остаётся медленным даже после настройки кэша, стоит отдельно проверить, не тормозит ли сам хостинг, PHP или база данных.
Как проверить кэширование, а не просто поверить плагину
Надпись Cache enabled в панели WordPress — приятная, но недостаточная новость.
Начните с браузера. В Chrome DevTools во вкладке Network можно открыть конкретный CSS, JavaScript, изображение или HTML-документ и посмотреть HTTP-заголовки ответа.
Особенно полезны:
Cache-Control— можно ли сохранять ответ и как долго;ETag— идентификатор текущей версии ресурса;Last-Modified— когда ресурс был изменён;Age— сколько копия уже находится в промежуточном кэше, если такой заголовок используется;- служебные заголовки CDN или сервера — их названия зависят от конкретной инфраструктуры.
Есть важная ловушка. Cache-Control: no-cache не означает «никогда ничего не сохранять». Такая политика разрешает хранить копию, но требует проверить её актуальность перед использованием. Для запрета хранения существует no-store.
Условный нормальный сценарий может выглядеть так:
HTTP/1.1 200 OK
Cache-Control: no-cache
ETag: "article-v42"
При следующей проверке браузер или робот сообщает серверу известную версию:
If-None-Match: "article-v42"
Если документ не менялся, сервер может вернуть:
HTTP/1.1 304 Not Modified
Тело страницы заново передавать не требуется.

Для статических ресурсов полезен и Chrome Performance Insights: проверка Use efficient cache lifetimes показывает файлы с неэффективным сроком хранения. Но это диагностика ресурсов, а не вердикт «SEO хорошее» или «SEO плохое».
После технической проверки обязательно сделайте обычную человеческую: измените тестовый текст или изображение и посмотрите страницу как новый посетитель. Если новая версия появляется только после ритуала «очистите браузер, CDN, сервер, плагин и желательно карму», механизм обновления кэша настроен плохо.

Настройка: дольше хранить стабильное, осторожнее — изменяемое
Универсального времени жизни для всего сайта нет. Картинка с логотипом и корзина интернет-магазина живут в разных мирах.
Для статических файлов удобно использовать версионирование. Например:
style.a81f20.css
app.52cd19.js
Если содержимое файла изменилось — меняется и его URL. Старую версию можно хранить долго: новая всё равно получит другой адрес.
Именно поэтому многомесячный срок кэша для версии CSS может быть нормальным, а многомесячный page cache для страницы «Товар в наличии за 69 000 ₽» — очень смелым экспериментом над отделом продаж.
Для HTML и данных важнее продумать обновление. После изменения статьи, карточки товара, цены или шаблона соответствующая сохранённая копия должна инвалидироваться.
Для WordPress схема часто выглядит так:
обновили запись → очистилась копия этой страницы → следующий запрос сформировал новую → новая версия снова попала в кэш.
А не так:
обновили запись → очистили весь сайт → сервер получил толпу одновременных запросов → все удивились.
На больших проектах массовая очистка способна временно увеличить нагрузку именно тогда, когда кэш должен был её уменьшать.
Практический пример: магазин поменял цену, а покупатель — нет
Допустим, интернет-магазин проводит акцию.
В 10:00 цена товара меняется с 79 000 до 69 000 рублей. WordPress уже хранит новое значение в базе. Менеджер открывает карточку в админке и видит 69 000. Кажется, всё готово.
Но страница товара находится в page cache, а её копия дополнительно хранится на CDN.
Покупатель в 10:15 открывает сайт и видит 79 000.
Технически сайт работает. Сервер отвечает быстро. PageSpeed может быть счастлив. Бизнес — несколько меньше.
Исправлять такую ситуацию нужно не отключением всего кэша, а правильной логикой обновления: при изменении цены должна инвалидироваться связанная публичная страница, а персональные разделы вроде корзины и оформления заказа не должны попадать в общий page cache.
После исправления проверяют не только карточку товара. Нужно пройти путь покупателя: категория → карточка → корзина → оформление заказа. Особенно если используются динамические цены, остатки, промокоды или разные условия для групп клиентов.

Что проверить владельцу сайта после настройки
Не требуется становиться специалистом по HTTP-заголовкам. Достаточно потребовать от разработчика проверяемый результат.
Публичные страницы при повторных обращениях не должны бессмысленно собираться заново, если их можно безопасно кэшировать. Статические файлы должны иметь понятную политику хранения. Изменение контента должно приводить к появлению новой версии без ручной очистки браузера у каждого посетителя.
Отдельно проверяются страницы, где есть персонализация: корзина, оформление заказа, кабинет, формы, цены по группам клиентов, остатки и другие динамические данные.
И обязательно сравнивайте состояние до и после изменения. Если проблема была в долгом серверном ответе, проверяйте именно его. Если Lighthouse показывал неэффективный срок хранения статических файлов — смотрите, исчезла ли конкретная проблема. Если сервер всё равно нестабилен, кэш может просто маскировать более глубокую неисправность.
В таком случае полезен полноценный технический аудит сайта, где кэш рассматривается вместе с сервером, индексированием, редиректами, ресурсами и другими техническими факторами.
А если проблема именно в загрузке и серверной производительности, оптимизация скорости сайта и Core Web Vitals должна начинаться с замеров и поиска причины, а не с установки очередного плагина с большой зелёной кнопкой.
Рабочий критерий простой: повторная работа сокращается, изменившиеся данные обновляются вовремя, персональный контент не смешивается между пользователями, а эффект подтверждается измерениями. Всё остальное — уже детали конкретной архитектуры.
Рейтинг статьи
Материал был полезен?
Оценка помогает понимать, какие материалы стоит обновлять и расширять.


