Как отключить Jetpack в WordPress по условиям: практические способы и примеры кода

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

Почему может потребоваться условное отключение Jetpack в WordPress

Jetpack включает в себя множество модулей, от защиты и статистики до визуальных эффектов и оптимизации. Однако не всегда все эти функции нужны на всех страницах сайта. Например, для страниц с высокой посещаемостью или критичной по скорости загрузки можно временно отключить Jetpack, чтобы снизить нагрузку.

Кроме того, некоторые модули Jetpack могут конфликтовать с кастомными решениями или другими плагинами, особенно если используются специфические темы или кастомные шаблоны. В таких случаях удобно иметь возможность отключать Jetpack выборочно.

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

Способы условного отключения Jetpack

Отключение Jetpack на определённых страницах по ID или шаблону

Самый простой способ — отключить загрузку плагина на конкретных страницах с помощью хука plugin_loaded или init. Ниже пример функции, которая отключает Jetpack на странице с ID 42 и на странице с шаблоном template-no-jetpack.php:

function wpbloger_disable_jetpack_conditionally() {
    if (is_admin()) {
        return; // Не трогаем админку
    }

    if (is_page(42) || is_page_template('template-no-jetpack.php')) {
        // Отключаем Jetpack
        remove_action('wp_head', 'jetpack_og_tags');
        add_filter('jetpack_json_api_enabled', '__return_false');
        add_filter('jetpack_open_graph_enabled', '__return_false');
        remove_all_actions('jetpack_stats');
        // Отключение основных модулей Jetpack
        if (class_exists('Jetpack')) {
            remove_action('wp_enqueue_scripts', array(Jetpack::instance(), 'enqueue_styles'));
            remove_action('wp_enqueue_scripts', array(Jetpack::instance(), 'enqueue_scripts'));
        }
    }
}
add_action('init', 'wpbloger_disable_jetpack_conditionally');

Этот код отключает ключевые функции Jetpack на выбранных страницах, что позволяет существенно снизить нагрузку.

Отключение всех модулей Jetpack программно

Если требуется полностью отключить Jetpack на сайте или в определённых условиях, можно воспользоваться функцией jetpack_deactivate_module(). Например, чтобы отключить модуль "Статистика" на страницах блога:

function wpbloger_deactivate_jetpack_stats_on_blog() {
    if (is_home() || is_archive()) {
        if (function_exists('jetpack_deactivate_module')) {
            jetpack_deactivate_module('stats');
        }
    }
}
add_action('init', 'wpbloger_deactivate_jetpack_stats_on_blog');

Важно понимать, что полное отключение Jetpack требует внимания к зависимостям, так как некоторые функции могут работать через API модуля.

Использование плагинов для управления Jetpack

Если вы не хотите писать код, есть плагины, которые помогают управлять модулями Jetpack и их активацией по страницам:

  • Clearfy Pro — позволяет гибко отключать ненужные модули Jetpack и оптимизировать производительность сайта. Подробнее на wpshop.ru.
  • WPDisable — инструмент для отключения скриптов и стилей плагинов по страницам, можно использовать для Jetpack.

Эти решения удобны для тех, кто хочет простого управления без кода.

Как отследить, что Jetpack действительно отключён на нужных страницах

После внедрения условного отключения важно проверить, что Jetpack не грузится там, где не нужно. Для этого:

  • Откройте исходный код страницы в браузере и найдите упоминания jetpack — скрипты и стили должны отсутствовать.
  • Используйте инструменты разработчика в браузере (например, вкладка Network), чтобы отследить загрузку ресурсов Jetpack.
  • Проверьте, что функции, которые использует Jetpack (например, открытые графы или статистика), не работают на выбранных страницах.

Дополнительные рекомендации и примеры кода

Для более гибкого управления можно написать функцию с передачей параметров для отключения Jetpack на произвольных страницах. Например:

function wpbloger_disable_jetpack_on_pages(array $page_ids) {
    if (is_admin()) {
        return;
    }

    if (is_page($page_ids)) {
        remove_action('wp_head', 'jetpack_og_tags');
        add_filter('jetpack_json_api_enabled', '__return_false');
        add_filter('jetpack_open_graph_enabled', '__return_false');
        remove_all_actions('jetpack_stats');
    }
}
add_action('init', function() {
    wpbloger_disable_jetpack_on_pages(array(12, 34, 56));
});

Такой подход позволяет централизованно управлять отключением Jetpack.

Также полезно комбинировать отключение Jetpack с отключением других тяжёлых плагинов — это даст лучший эффект по оптимизации.

Как отключить автоматическое выполнение PHP кода в WordPress
09.02.2026
Добавление поля телефона с подтверждением в форму регистрации WordPress
12.02.2026
Удалить кэш в WordPress: практические способы и код для очистки
10.11.2025
Как избежать конфликтов плагинов в WordPress: практические решения и примеры кода
09.12.2025
Как отключить Jetpack в WordPress по условиям: практические способы и примеры кода
26.01.2026