Кэширование — это отличный способ ускорить загрузку страниц сайта, но иногда в административной панели WordPress (wp-admin) кэширование может мешать корректной работе. В этой статье подробно рассмотрим, как правильно организовать кэширование на сайте, не замедляя и не блокируя работу админки, а также как отключить кэш для конкретных страниц административной панели.
Зачем отключать кэш в административной панели WordPress
Админка WordPress динамична: здесь часто происходят изменения контента, настроек, обновлений плагинов и тем. Если кэшировать страницы админки, вы рискуете видеть устаревшую информацию, что приведёт к путанице и ошибкам.
Поэтому большинство плагинов кэширования по умолчанию отключают кэширование для wp-admin. Но иногда это происходит не полностью, либо возникает необходимость выборочно отключить кэш для определённых страниц.
В этой статье вы найдете универсальные решения для отключения кэша и правильной настройки его исключений.
Настройка исключений из кэша для административной панели
Использование плагинов кэширования с поддержкой исключений
Многие популярные плагины кэширования позволяют настроить исключения с помощью удобного интерфейса. Например:
- WP Super Cache: В разделе "Advanced" можно добавить "Rejected URLs", чтобы исключить страницы админки.
- W3 Total Cache: Раздел "Page Cache" - "Never cache the following pages". Обычно туда добавляют
/wp-admin/и/wp-login.php. - LiteSpeed Cache: В настройках исключений есть возможность указать пути, для которых кэш отключён.
Пример для W3 Total Cache, чтобы исключить кэширование админки, выглядит так:
/wp-admin/
/wp-login.php
Это самый простой и надёжный метод.
Отключение кэша программно с помощью фильтров и хуков
Если вы разрабатываете собственные решения или хотите более тонко контролировать логику, можно отключать кэш на уровне кода. Например, для Object Cache можно использовать такой код в functions.php вашей темы или плагина:
function wpcache_disable_cache_for_admin( $enabled ) {
if ( is_admin() ) {
return false; // Отключаем кэширование для админки
}
return $enabled;
}
add_filter( 'wpcache_object_cache_enabled', 'wpcache_disable_cache_for_admin' );
Здесь wpcache_object_cache_enabled — это пример собственного фильтра для Object Cache, который вы можете добавить в свой плагин или тему, заменив на нужный фильтр вашего плагина кэширования.
Пример отключения кэширования страниц в админке для плагина Clearfy Pro
Плагин Clearfy Pro имеет встроенные настройки для управления кэшем и оптимизацией. Чтобы отключить кэширование админки, выполните следующие шаги:
- Откройте админку WordPress и перейдите в Clearfy Pro.
- В разделе "Оптимизация" найдите настройки кэширования.
- Включите опцию "Отключить кэширование для административной панели".
- Сохраните изменения.
Clearfy Pro автоматически исключит wp-admin из кэширования, избавляя вас от необходимости ручных настроек.
Как отключить кэш для конкретных страниц или AJAX-запросов в админке
Иногда нужно отключить кэш не для всей админки, а только для определённых страниц или запросов. Например, если вы используете AJAX-запросы в админке, кэширование их может нарушить работу.
Отключение кэша на основе URL или параметров запроса
В functions.php можно реализовать функцию для отключения кэша по условию:
function wpcache_disable_cache_for_specific_admin_pages() {
if ( is_admin() ) {
// Получаем текущий URL админки
$current_url = $_SERVER['REQUEST_URI'];
// Отключаем кэш для страницы редактирования записей
if ( strpos( $current_url, 'post.php' ) !== false || strpos( $current_url, 'post-new.php' ) !== false ) {
define( 'DONOTCACHEPAGE', true );
}
// Отключаем кэш для AJAX-запросов
if ( defined('DOING_AJAX') && DOING_AJAX ) {
define( 'DONOTCACHEPAGE', true );
}
}
}
add_action( 'init', 'wpcache_disable_cache_for_specific_admin_pages' );
Здесь DONOTCACHEPAGE — стандартная константа WordPress, используемая многими плагинами кэширования для пропуска текущей страницы.
Как проверить, что кэш действительно отключен
Чтобы убедиться, что кэш на нужных страницах не работает, можно:
- Обновлять страницу и смотреть, меняется ли содержимое.
- Использовать инструменты разработчика браузера, чтобы проверить заголовки ответа сервера. Часто плагины кэширования добавляют специальные заголовки, например,
X-Cache. - Отключать плагины кэширования поочерёдно и сверять результат.
Такой подход позволит выявить и устранить проблемы с кэшированием в админке.
Советы по настройке кэширования на сайте с учётом админки
Для стабильной работы сайта и удобства администрирования рекомендуем придерживаться следующих правил:
- Всегда исключайте
/wp-admin/и/wp-login.phpиз кэширования. - Если используете Object Cache, отключайте его в админке, чтобы изменения применялись сразу.
- Выбирайте плагины кэширования с поддержкой исключений и гибким интерфейсом.
- Для AJAX-запросов на сайте и в админке отключайте кэш для корректной работы динамических функций.
- Регулярно проверяйте, что кэш не мешает обновлению контента и работе плагинов.
Заключение
Отключение кэширования в административной панели WordPress — важная задача для любого разработчика и администратора сайта. Правильная настройка исключений помогает избежать ошибок, ускорить работу сайта и сделать управление контентом более удобным.
Используйте описанные методы и примеры кода, чтобы гибко управлять кэшем и не сталкиваться с проблемами при работе в админке.
Для более продвинутых решений рекомендуем ознакомиться с плагином Clearfy Pro, который значительно упрощает оптимизацию и управление кэшем на сайте.