wpcache.ru wordpress WPCache.ru

Кэширование и отключение кэша для административной панели WordPress

Кэширование — это отличный способ ускорить загрузку страниц сайта, но иногда в административной панели 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 имеет встроенные настройки для управления кэшем и оптимизацией. Чтобы отключить кэширование админки, выполните следующие шаги:

  1. Откройте админку WordPress и перейдите в Clearfy Pro.
  2. В разделе "Оптимизация" найдите настройки кэширования.
  3. Включите опцию "Отключить кэширование для административной панели".
  4. Сохраните изменения.

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, который значительно упрощает оптимизацию и управление кэшем на сайте.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее