Как изменить время хранения кеша в WordPress

Кеширование — важный механизм для ускорения загрузки сайта на WordPress. Однако стандартные настройки времени хранения кеша (TTL, time to live) далеко не всегда подходят под конкретные задачи. В этой статье разберём, как менять время хранения кеша в WordPress, чтобы оптимизировать производительность и избежать проблем с устаревшими данными.

Почему важно управлять временем хранения кеша в WordPress

По умолчанию многие плагины кеширования и движок WordPress устанавливают время хранения кеша на несколько часов или даже дней. Это хорошо для снижения нагрузки на сервер и ускорения сайта. Но иногда слишком долгий TTL ведёт к тому, что пользователи видят устаревший контент, особенно если сайт часто обновляется.

С другой стороны, слишком короткий TTL снижает эффективность кеша, так как данные часто пересоздаются, повышая нагрузку на сервер.

Поэтому важно найти баланс и настроить время хранения кеша под особенности вашего сайта и частоту обновления контента.

Как изменить время хранения кеша в популярных плагинах WordPress

WP Super Cache

В WP Super Cache время кеширования можно настроить в разделе «Advanced» (Дополнительно) в админке. Параметр «Cache Timeout» отвечает за TTL, по умолчанию стоит 1800 секунд (30 минут).

Чтобы изменить время кеша программно, можно добавить в functions.php вашей темы фильтр:

function wpskills_wp_super_cache_timeout() {
    return 3600; // время кеша в секундах, здесь 1 час
}
add_filter('wpsupercache_cache_timeout', 'wpskills_wp_super_cache_timeout');

W3 Total Cache

В W3 Total Cache время хранения кеша регулируется в настройках «Page Cache» — «Cache Preload» и «Page Cache TTL». Можно задать TTL в секундах, например, 3600 для часа.

Для программного изменения TTL используйте фильтр:

function wpskills_w3tc_page_cache_ttl($ttl) {
    return 7200; // 2 часа
}
add_filter('w3tc_pgcache_cache_lifetime', 'wpskills_w3tc_page_cache_ttl');

Использование Clearfy Pro для управления кешем

Если вы используете Clearfy Pro, в нем есть удобные инструменты для очистки кеша и настройки TTL без глубокого погружения в код. Clearfy позволяет автоматически очищать кеш после обновления записей и менять время кеширования для разных типов кеша.

Изменение времени кеша для transient API в WordPress

Transient API — это встроенный механизм временного кеширования данных в WordPress. Он хранит данные в базе данных с указанием времени жизни.

Чтобы изменить время кеша для конкретного transient, нужно во время установки transient указать желаемый TTL:

set_transient('wpskills_custom_transient', $data, 3600); // кеш на 1 час

Если вы хотите изменить TTL для уже существующего transient, нужно его удалить и создать заново с новым временем.

Например:

delete_transient('wpskills_custom_transient');
set_transient('wpskills_custom_transient', $data, 7200); // теперь 2 часа

Программный контроль кеша через WP Object Cache

Если на вашем сайте используется объектный кеш (например, Memcached или Redis), то TTL для кэшированных данных задается при вызове функций сохранения.

Пример установки кеша с TTL 1 час:

wp_cache_set('wpskills_cache_key', $data, '', 3600);

Для изменения времени хранения кеша нужно передавать нужное значение в четвёртом параметре функции.

Практические советы по выбору времени хранения кеша

  • Часто обновляемый контент: Ставьте небольшой TTL — от 5 до 15 минут, чтобы изменения быстро отображались.
  • Статический контент: Можно увеличить TTL до нескольких часов и даже дней, чтобы максимизировать производительность.
  • Кэш страниц и объектов: Подбирайте разные TTL для разных типов кеша — например, страницы кешируем на 10 минут, объекты — на час.
  • Не забывайте очищать кеш при публикации новых записей или изменении важных данных — это можно автоматизировать с помощью плагинов или хуков.

Автоматическая очистка кеша при обновлении записей

Для автоматической очистки кеша после обновления записи в WordPress можно использовать хук save_post. Например, чтобы очищать transient кеш:

function wpskills_clear_cache_on_post_update($post_id) {
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
    delete_transient('wpskills_custom_transient');
}
add_action('save_post', 'wpskills_clear_cache_on_post_update');

Такой подход гарантирует, что после изменений на сайте пользователи увидят свежие данные.

Выводы и рекомендации

Управление временем хранения кеша — необходимый шаг для грамотной оптимизации WordPress-сайта. Используйте возможности плагинов, встроенного transient API и объектного кеша для настройки TTL, подходящего под специфику вашего проекта.

Если хотите упростить работу, обратите внимание на Clearfy Pro — этот плагин поможет управлять кешем без лишних хлопот.

WooCommerce: решение проблем с неотображением вариаций и атрибутов товаров
24.04.2026
Как полностью отключить Gutenberg в WordPress
21.12.2025
Как добавить автоматический alt к изображениям в WordPress
08.01.2026
Как создать динамический список постов по таксономии в WordPress
24.02.2026
Как создать динамические формы в WordPress с помощью WPRemark
11.04.2026