Автоматическое отключение AJAX-запросов в WordPress для оптимизации и ускорения сайта

AJAX-запросы в WordPress широко используются для динамического обновления контента без перезагрузки страницы. Однако избыточное или неправильно настроенное использование AJAX может негативно сказаться на производительности сайта, увеличивая нагрузку на сервер и замедляя загрузку страниц. В этой статье рассмотрим, как автоматически отключать ненужные AJAX-запросы в WordPress, чтобы оптимизировать работу сайта и повысить скорость.

Что такое AJAX в WordPress и почему его стоит контролировать

AJAX — это технология, позволяющая отправлять запросы к серверу и получать ответы без перезагрузки страницы. В WordPress AJAX часто применяется в административной панели, плагинах и темах для интерактивности.

Однако не все AJAX-запросы нужны на каждой странице сайта. Например, скрипты WooCommerce делают AJAX-запросы для обновления корзины, но если корзина не используется, эти запросы только расходуют ресурсы.

Избыточное использование AJAX может привести к:

  • увеличению времени загрузки страниц;
  • повышенной нагрузке на сервер;
  • потере баллов в Google PageSpeed и других инструментах анализа скорости.

Поэтому целесообразно отключать AJAX-запросы там, где они не нужны.

Как определить ненужные AJAX-запросы на сайте WordPress

Для начала нужно выявить, какие AJAX-запросы выполняются на страницах вашего сайта. Это можно сделать с помощью инструментов разработчика в браузере:

  • Откройте вкладку Network;
  • Выберите фильтр XHR — именно в этом разделе отображаются AJAX-запросы;
  • Обновите страницу и изучите, какие запросы выполняются.

Обратите внимание на URL запросов — в WordPress AJAX выполняется через admin-ajax.php. Запросы могут содержать параметр action, определяющий функцию-обработчик.

После выявления неиспользуемых запросов можно приступить к их отключению.

Автоматическое отключение AJAX-запросов через functions.php

Чтобы отключить AJAX-запросы, нужно не только убрать скрипты, которые их вызывают, но и отключить обработчики на сервере. Рассмотрим пример отключения AJAX-запросов плагина Contact Form 7 на страницах, где форма не используется.

Отключение скриптов и обработчиков Contact Form 7

Contact Form 7 добавляет скрипты и AJAX-обработчики для отправки форм. Если на странице форма не выводится, эти скрипты можно отключить:

function wpaddons_disable_cf7_scripts() {
    if (!is_page('contact')) { // Замените 'contact' на slug вашей страницы с формой
        // Отключаем скрипты Contact Form 7
        wp_dequeue_script('contact-form-7');
        wp_dequeue_style('contact-form-7');
    }
}
add_action('wp_enqueue_scripts', 'wpaddons_disable_cf7_scripts', 20);

// Отключаем обработчик AJAX
function wpaddons_disable_cf7_ajax() {
    if (!is_page('contact')) {
        remove_action('wp_ajax_wpcf7_submit', 'wpcf7_ajax_json_echo');
        remove_action('wp_ajax_nopriv_wpcf7_submit', 'wpcf7_ajax_json_echo');
    }
}
add_action('init', 'wpaddons_disable_cf7_ajax');

Этот код отключит загрузку скриптов и обработчиков AJAX Contact Form 7 на всех страницах, кроме страницы с формой.

Отключение WooCommerce AJAX на нецелевых страницах

WooCommerce активно использует AJAX для обновления корзины, фильтров, рейтингов и пр. Если на сайте используется WooCommerce, но не на всех страницах нужна AJAX-логика, её можно ограничить.

Отключение фрагментов корзины WooCommerce

Фрагменты корзины обновляются через AJAX, вызывая дополнительные запросы. Чтобы отключить их на страницах без корзины или магазина, используйте следующий код:

function wpaddons_disable_woocommerce_cart_fragments() {
    if (!is_cart() && !is_checkout() && !is_shop()) {
        wp_dequeue_script('wc-cart-fragments');
    }
}
add_action('wp_enqueue_scripts', 'wpaddons_disable_woocommerce_cart_fragments', 99);

Это значительно снизит количество AJAX-запросов и улучшит скорость загрузки.

Использование плагина Clearfy Pro для управления AJAX-запросами

Если вы предпочитаете готовые решения, обратите внимание на Clearfy Pro. Этот плагин позволяет отключать ненужные скрипты и AJAX-запросы без копания в коде.

В Clearfy Pro можно управлять:

  • Отключением скриптов WooCommerce на нецелевых страницах;
  • Отключением плагинов и их AJAX-логики по расписанию;
  • Управлением загрузкой скриптов и стилей по условию.

Это существенно упрощает оптимизацию сайта.

Как создавать собственные функции для выборочного отключения AJAX в WPAddons

Если у вас есть собственные AJAX-обработчики, можно создавать функции с префиксом wpaddons_ для их условного отключения.

Пример: отключение AJAX-обработчика wpaddons_custom_action

function wpaddons_disable_custom_ajax() {
    if (!is_page('my-special-page')) {
        remove_action('wp_ajax_wpaddons_custom_action', 'wpaddons_custom_action_handler');
        remove_action('wp_ajax_nopriv_wpaddons_custom_action', 'wpaddons_custom_action_handler');
    }
}
add_action('init', 'wpaddons_disable_custom_ajax');

Так вы можете гибко управлять загрузкой AJAX-логики под конкретные страницы и задачи.

Советы для эффективного управления AJAX-запросами в WordPress

  • Регулярно анализируйте AJAX-запросы с помощью инструментов разработчика;
  • Отключайте скрипты и обработчики там, где они не нужны;
  • Используйте условные теги WordPress для точечного управления загрузкой;
  • Тестируйте сайт после внесения изменений на предмет корректной работы функционала;
  • Рассмотрите покупку и использование плагинов, оптимизирующих загрузку скриптов, например, Clearfy Pro.

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

Автоматическое изменение титлов и метаданных в WordPress по шаблону
19.01.2026
Автоматическое отключение плагинов по расписанию в WordPress
22.01.2026
Как создать автоматический экспорт пользовательских данных в WordPress
06.04.2026
Как автоматически изменять метаданные для категорий в WordPress
02.04.2026
Как отключить редактор Gutenberg для определённых ролей в WordPress
29.12.2025