Кэширование — важный инструмент для ускорения загрузки страниц WordPress-сайта, но иногда старый кэш мешает видеть свежие изменения или вызывает ошибки отображения. В этой статье подробно разберем, как правильно и эффективно удалить кэш в WordPress, рассмотрим популярные плагины для кэширования и дадим примеры кода для программной очистки кэша.
Что такое кэш в WordPress и зачем его удалять?
Кэш — это временное сохранение данных для ускорения загрузки страниц. В WordPress кэш может быть на нескольких уровнях: браузер, сервер, плагины кэширования, CDN. Удаление кэша необходимо, когда вы вносите изменения в сайт (например, дизайн, контент, CSS, JS) и видите, что они не отображаются, либо при возникновении ошибок из-за устаревших данных.
Если не удалять кэш, пользователи будут видеть старые версии страниц, что негативно влияет на UX и SEO.
Удаление кэша через популярные плагины WordPress
WP Super Cache
WP Super Cache — один из самых популярных плагинов. Чтобы очистить кэш вручную:
- Перейдите в Настройки > WP Super Cache.
- Нажмите кнопку Delete Cache.
Также можно настроить автоматическую очистку при публикации новых записей.
W3 Total Cache
W3 Total Cache предлагает более продвинутые настройки. Для удаления кэша:
- В админке перейдите в Performance > Dashboard.
- Нажмите empty all caches.
Есть возможность очистки отдельных типов кэша: страницы, базы данных, объектов, браузера.
WP Rocket
WP Rocket — платный и очень эффективный плагин. Для удаления кэша:
- В панели управления нажмите Clear Cache.
- Можно настроить автоматическую очистку при обновлении контента.
Пример ссылки на WP Rocket с UTM-метками:
Программное удаление кэша в WordPress: примеры кода
Если вы разрабатываете свой плагин или тему и хотите автоматически очищать кэш, можно использовать функции WP:
Удаление кэша объекта и страниц
function wpinfo_clear_cache_programmatically() {
// Очистка кэша объектов
wp_cache_flush();
// Очистка кэша плагинов (пример для WP Super Cache)
if (function_exists('wp_cache_clear_cache')) {
wp_cache_clear_cache();
}
// Можно добавить очистку кэша других плагинов, если доступны API
}
add_action('save_post', 'wpinfo_clear_cache_programmatically');
Этот код очистит кэш при сохранении записи.
Очистка кэша браузера через заголовки HTTP
Для принудительного обновления у клиентов можно добавить заголовки:
function wpinfo_no_cache_headers() {
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
}
add_action('send_headers', 'wpinfo_no_cache_headers');
Но используйте осторожно — это может снизить производительность.
Удаление кэша CDN и серверного кэша
Если вы используете CDN (например, Cloudflare) или серверное кэширование (Varnish, Nginx FastCGI Cache), очистка кэша происходит вне WordPress:
- Через панель управления CDN — обычно есть кнопка «Purge Cache».
- В конфигурациях сервера — команды SSH или скрипты для удаления кэш-файлов.
Для автоматизации можно использовать API CDN в PHP, например:
function wpinfo_purge_cloudflare_cache() {
$zone_id = 'ваш_zone_id';
$api_key = 'ваш_api_ключ';
$email = 'ваш_email';
$ch = curl_init("https://api.cloudflare.com/client/v4/zones/{$zone_id}/purge_cache");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-Auth-Email: {$email}",
"X-Auth-Key: {$api_key}",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(["purge_everything" => true]));
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
Советы по работе с кэшем в WordPress
- Всегда тестируйте удаление кэша после внесения изменений, особенно если используете несколько уровней кэширования.
- Настраивайте автоматическую очистку кэша при обновлении контента — это избавит от множества проблем.
- Избегайте слишком агрессивного кэширования для страниц с динамическим контентом.
- Используйте инструменты разработчика браузера (DevTools) для проверки, обновился ли контент.
- Для сложных сайтов рассмотрите использование плагина Clearfy Pro, который помогает управлять кэшированием и оптимизацией.
Заключение
Удаление кэша в WordPress — обязательная часть работы при изменениях сайта. Понимание, как и где хранится кэш, а также умение его удалять вручную и программно, позволит избежать многих проблем с отображением и производительностью. Используйте примеры из статьи и подбирайте подходящие инструменты под свои задачи.