Кеширование — важный элемент оптимизации сайта на WordPress. Однако иногда возникает необходимость очистить кеш, чтобы увидеть изменения, устранить ошибки или сбросить устаревшие данные. В этой статье разберем, как удалить разные виды кеша в WordPress, включая кеш браузера, кеш плагинов, серверный кеш и CDN.
Что такое кеш и зачем его удалять
Кеш — это временное хранилище данных, позволяющее ускорить загрузку страниц. Но при обновлении контента или внесении изменений кеш может хранить устаревшую информацию, из-за чего посетители не видят актуальный сайт. Удаление кеша помогает сбросить эти данные и отобразить свежую версию.
Важно понимать, что существует несколько уровней кеширования:
- Кеш браузера — хранится у пользователя на устройстве.
- Кеш плагинов (например, WP Super Cache, W3 Total Cache, LiteSpeed Cache).
- Серверный кеш — кэширование на уровне хостинга.
- CDN (Content Delivery Network) — кеш у глобальных серверов доставки контента.
Удаление кеша браузера
Кеш браузера хранит копии страниц, изображений и файлов CSS/JS для ускорения повторных загрузок. Чтобы пользователи видели изменения, нужно очистить кеш браузера. Для себя это делается через настройки браузера, но можно добавить контроль кеша из WordPress.
Добавление контроля кеша через заголовки HTTP
Добавьте следующий код в файл functions.php вашей темы, чтобы задать заголовки, которые заставят браузер обновлять кеш чаще:
function wpcource_set_cache_headers() {
header('Cache-Control: no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('Expires: Wed, 11 Jan 1984 05:00:00 GMT');
}
add_action('send_headers', 'wpcource_set_cache_headers');Это временно отключит кеширование браузером и позволит сразу видеть изменения на сайте.
Удаление кеша плагинов WordPress
Существует много плагинов кеширования, и у каждого свой способ очистки кеша. Рассмотрим популярные:
WP Super Cache
В админке перейдите в раздел «Настройки» → «WP Super Cache» и нажмите кнопку «Удалить кеш». Также можно вызвать очистку программно:
function wpcource_clear_wp_super_cache() {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}W3 Total Cache
В панели управления плагином есть кнопка «Empty All Caches». Для программной очистки используйте:
function wpcource_clear_w3_total_cache() {
if (class_exists('W3_Plugin_TotalCacheAdmin')) {
$w3tc = new W3_Plugin_TotalCacheAdmin();
$w3tc->flush_all();
}
}LiteSpeed Cache
Для очистки кеша в админке есть кнопка «Purge All». Для кода:
function wpcource_clear_litespeed_cache() {
if (class_exists('LiteSpeed_Cache_API')) {
LiteSpeed_Cache_API::purge_all();
}
}Удаление серверного кеша
Многие хостинги предлагают серверное кеширование, например, Nginx FastCGI, OPcache, Memcached или Redis. Удаление кеша зависит от используемой технологии и доступа к серверу.
Очистка OPcache
Если у вас есть доступ к PHP, можно вызвать:
function wpcource_clear_opcache() {
if (function_exists('opcache_reset')) {
opcache_reset();
}
}Этот код сбросит кеш PHP-скриптов.
Очистка кеша Redis или Memcached
Для Redis можно использовать PHP-клиент:
function wpcource_clear_redis_cache() {
if (class_exists('Redis')) {
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->flushAll();
}
}Аналогично для Memcached — используйте методы flush().
Очистка кеша CDN
Если вы используете CDN, например Cloudflare, кеш необходимо очищать через API или панель управления. Вот пример очистки кеша Cloudflare через API:
function wpcource_clear_cloudflare_cache() {
$zone_id = 'your_zone_id';
$api_key = 'your_api_key';
$email = 'your_email@example.com';
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cloudflare.com/client/v4/zones/{$zone_id}/purge_cache",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode(['purge_everything' => true]),
CURLOPT_HTTPHEADER => [
"X-Auth-Email: {$email}",
"X-Auth-Key: {$api_key}",
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
curl_close($curl);
return json_decode($response, true);
}Этот код отправит запрос на очистку всего кеша CDN.
Рекомендации по работе с кешем
При работе с кешем важно соблюдать баланс: кеш ускоряет сайт, но при обновлениях его нужно своевременно очищать. Лучший способ — использовать автоматическую очистку кеша после публикации или обновления записей. Например, добавьте этот код для очистки кеша WP Super Cache после сохранения:
function wpcource_clear_cache_after_save($post_id) {
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
}
add_action('save_post', 'wpcource_clear_cache_after_save');Также советуем использовать плагин Clearfy Pro, который помогает оптимизировать кеш и очистку без лишних усилий.
Заключение
Удаление кеша в WordPress — это комплексная задача, требующая понимания разных уровней кеширования. В этой статье рассмотрены способы очистки кеша браузера, плагинов, серверного кеша и CDN с примерами кода. Используйте автоматизацию и подходящие инструменты, чтобы избежать проблем с отображением актуального контента на сайте.