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

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

Что такое AJAX-запросы и почему их нужно оптимизировать

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

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

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

Как определить, какие AJAX-запросы выполняются на сайте

Для начала нужно узнать, какие AJAX-запросы отправляются. Это можно сделать с помощью инструментов разработчика в браузере (обычно вкладка Network).

Откройте консоль разработчика (F12), перейдите на вкладку Network, выберите фильтр XHR и обновите страницу. Вы увидите все AJAX-запросы, их URL, ответ и время выполнения.

Обратите внимание на запросы к admin-ajax.php — это стандартный обработчик AJAX в WordPress. В URL обычно есть параметр action, который отвечает за вызов определённого обработчика.

Как отключить ненужные AJAX-запросы через functions.php

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

Пример отключения скрипта, добавляющего AJAX-запросы:

function wpexpert_deregister_ajax_scripts() {
    if (!is_admin() && is_page('contact')) { // только на странице контактов
        wp_dequeue_script('plugin-ajax-script');
        wp_deregister_script('plugin-ajax-script');
    }
}
add_action('wp_enqueue_scripts', 'wpexpert_deregister_ajax_scripts', 100);

В этом примере мы отключаем скрипт с хендлом plugin-ajax-script на странице 'contact'. Это предотвратит выполнение AJAX-запросов этого скрипта.

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

Удаление AJAX-обработчиков на стороне сервера

Кроме отключения скриптов, можно удалить обработчики AJAX на сервере. Для этого убирают экшены, которые регистрируют обработчики.

function wpexpert_remove_ajax_actions() {
    // Пример удаления обработчика с именем 'my_ajax_action'
    remove_action('wp_ajax_my_ajax_action', 'my_ajax_action_callback');
    remove_action('wp_ajax_nopriv_my_ajax_action', 'my_ajax_action_callback');
}
add_action('init', 'wpexpert_remove_ajax_actions', 20);

Удаление экшенов предотвращает выполнение серверного кода по AJAX, что уменьшает нагрузку.

Оптимизация AJAX-запросов с помощью плагина Clearfy Pro

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

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

Пример написания собственного фильтра для ограничения AJAX-запросов

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

function wpexpert_disable_ajax_on_pages() {
    if (!is_admin() && is_page(array('about', 'services'))) {
        // Отключаем wp-admin ajax-скрипт
        wp_dequeue_script('wp-admin');
        wp_dequeue_script('jquery'); // если jQuery не нужен
    }
}
add_action('wp_enqueue_scripts', 'wpexpert_disable_ajax_on_pages', 100);

Этот код отключит скрипты, которые могут инициировать AJAX-запросы, на страницах 'about' и 'services'. Подобный подход позволяет гибко управлять загрузкой ресурсов.

Важные рекомендации и выводы

  • Всегда делайте резервную копию перед внесением изменений в код сайта.
  • Проверяйте работу сайта после отключения AJAX-запросов, чтобы не сломать важный функционал.
  • Используйте инструменты анализа производительности, например, Query Monitor или GTmetrix, чтобы оценить эффект оптимизации.
  • Для комплексного аудита AJAX-запросов можно применять плагин Debug Bar или WP Rocket, но отключайте их после тестирования.

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

Как удалить неиспользуемые метаданные WooCommerce без плагинов
06.05.2026
WooCommerce: как автоматически очищать зависшие варианты товаров без плагинов
01.06.2026
Удаление оставшихся закрытых HTML тегов в WordPress
21.03.2026
Как избежать проблем с кроссдоменной авторизацией в WordPress
14.03.2026
Автоматизация обновления подписок в WordPress: практическое руководство
31.03.2026