﻿---
title: "Кэширование в WordPress: обзор"
description: "Три вида кэширования в ядре WordPress: страничный кэш, объектный кэш и transients. Как они связаны, когда что использовать, карта подраздела."
---

Кэширование — главный инструмент ускорения WordPress и снижения нагрузки на сервер. В ядре существует три основных вида кэширования, и каждый решает свою задачу.

## Что такое кэш

Кэш — промежуточный буфер, который хранит часто используемые данные в памяти или на диске и ускоряет их выдачу. Типичные кандидаты на кэширование:

- запрос последнего сообщения из внешней сети (Twitter/X, Telegram);
- вывод погоды со стороннего сервиса;
- выборка последних записей из базы данных;
- название сайта и другие опции из базы данных.

Пример: если на главной выводится последний твит, не нужно дергать внешний API при каждом посещении. Достаточно одного запроса, результат сохраняется в кэш на заданное время, а следующие посетители получают его мгновенно.

## Три вида кэширования

| Вид | Что хранит | Где реализован | Постоянство |
|---|---|---|---|
| [Страничный кэш](https://wpcraft.ru/kb/stacks/wordpress/cache/page-cache.md) | HTML страницы целиком | Плагины (WP Super Cache, Surge, Batcache) | Зависит от плагина |
| [Объектный кэш](https://wpcraft.ru/kb/stacks/wordpress/cache/object-cache.md) | Данные произвольного типа | Ядро (`WP_Object_Cache`) | Один запрос; постоянный с Redis/Memcached |
| [Transients](https://wpcraft.ru/kb/stacks/wordpress/cache/transients.md) | Данные с временем жизни (TTL) | Ядро (Transients API) | Постоянный: БД или внешний object cache |

Все три вида пересекаются и зависят друг от друга:

- При включённом страничном кэше до объектного кэша дело часто не доходит — страница отдаётся целиком из статики.
- Batcache вообще использует объектный кэш для хранения страниц.
- Transients при наличии внешнего объектного кэша (Redis, Memcached) хранят данные в нём, а не в базе.

## Когда что применять

**Для большинства сайтов** достаточно страничного кэша — это первое, что стоит сделать при проблемах со скоростью, особенно на дешёвом хостинге. Плагины легко установить и настроить.

**Для разработчиков тем и плагинов** важно понимать объектный кэш и transients: ядро само кэширует опции, записи, мета-данные и термины, поэтому не нужно бояться функций `get_option()` и `get_post()` — они не создают лишних запросов к базе.

**Для высоких нагрузок** добавляются внешние хранилища (Redis, Memcached) и серверный уровень (Varnish, Nginx FastCGI Cache) — см. [Кэширование WordPress: инфраструктурный уровень](https://wpcraft.ru/kb/stacks/wordpress/cache/server-level-cache.md).

## Страницы подраздела

- [Кэширование страниц](https://wpcraft.ru/kb/stacks/wordpress/cache/page-cache.md) — плагины page cache: WP Super Cache, W3 Total Cache, Batcache, Surge, WP Rocket; сравнение и выбор.
- [Кэширование объектов](https://wpcraft.ru/kb/stacks/wordpress/cache/object-cache.md) — полный API `WP_Object_Cache`: функции, группы, persistent backends, нюансы опций.
- [Transients API](https://wpcraft.ru/kb/stacks/wordpress/cache/transients.md) — транзитное кэширование с TTL и матрица выбора: object cache vs transient vs option.
- [Surge](https://wpcraft.ru/kb/stacks/wordpress/cache/surge.md) — zero-config страничный кэш от Konstantin Kovshenin: WP-CLI, 1000–2500 RPS на слабом VPS.

## Материалы и источники

- [Основы кэширования в WordPress](https://wpmag.ru/2013/keshirovaniye-wordpress/) — Константин Ковшенин, WP Magazine
- [Кэширование объектов в WordPress](https://wpmag.ru/2014/keshirovanie-obektov-wordpress/) — Константин Ковшенин, WP Magazine
- [Кеширование WordPress: WP Super Cache, WP Rocket, Surge](https://wpcraft.ru/blog/cache-wordpress) — WPCraft