Как отключить AJAX подгрузку комментариев в WordPress

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

Что такое AJAX подгрузка комментариев и зачем её отключать

AJAX (Asynchronous JavaScript and XML) позволяет загружать новые комментарии на странице без полной перезагрузки. Это удобно, когда комментариев много — посетителю не нужно ждать загрузки всей страницы заново. Однако:

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

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

Как определить, что на сайте включена AJAX подгрузка комментариев

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

  • Откройте страницу поста с комментариями.
  • Прокрутите вниз и нажмите кнопку «Загрузить ещё комментарии» или аналогичную.
  • Если комментарии подгружаются без перезагрузки страницы, используется AJAX.
  • Можно также проверить в консоли браузера (F12 > Network) — при нажатии на кнопку видите AJAX-запросы к серверу.

Если AJAX действительно работает, можно переходить к отключению.

Отключение AJAX подгрузки комментариев через функции темы

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

Добавьте в файл functions.php вашей дочерней темы или в файл своего пользовательского плагина следующий код:

function wpclass_disable_ajax_comments() {
    // Отключаем скрипт, отвечающий за AJAX подгрузку комментариев
    wp_dequeue_script('ajax-comments');
    wp_deregister_script('ajax-comments');
}
add_action('wp_enqueue_scripts', 'wpclass_disable_ajax_comments', 100);

В этом примере ajax-comments — условное название скрипта. Чтобы узнать точное имя, проверьте вызовы wp_enqueue_script вашей темы или плагина, который добавляет AJAX подгрузку.

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

Отключение AJAX подгрузки в популярных плагинах комментариев

Рассмотрим примеры отключения AJAX в некоторых популярных плагинах:

1. Jetpack Comments

Jetpack по умолчанию использует AJAX для подгрузки комментариев. Чтобы отключить:

  • Перейдите в Jetpack > Настройки > Обсуждение.
  • Отключите опцию «Загрузить комментарии с помощью AJAX».

2. wpDiscuz

В настройках плагина есть отдельный пункт для AJAX подгрузки. Чтобы отключить:

  • Перейдите в wpDiscuz > Настройки > Общие.
  • Отключите «Включить AJAX подгрузку комментариев».

Если нужно программно, можно использовать фильтр:

add_filter('wpdiscuz_ajax_comments', '__return_false');

3. Lazy Load для комментариев с помощью плагина ABC Pagination

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

Создание альтернативы: пагинация без AJAX с помощью кода

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

if (get_comment_pages_count() > 1 && get_option('page_comments')) {
    paginate_comments_links(array(
        'prev_text' => '< Назад',
        'next_text' => 'Вперёд >'
    ));
}

Также в functions.php проверьте, что включена пагинация:

function wpclass_enable_comment_pagination() {
    update_option('page_comments', 1);
    update_option('comments_per_page', 20); // Количество комментариев на страницу
}
add_action('after_setup_theme', 'wpclass_enable_comment_pagination');

Это позволит выводить комментарии постранично без AJAX, улучшая совместимость и SEO.

Оптимизация после отключения AJAX подгрузки комментариев

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

  • Установите лимит комментариев на страницу — 20-30 штук, чтобы не тормозила загрузка.
  • Используйте кэширование страниц и объектов, например, через Redis или Memcached.
  • Отключите лайв-обновление комментариев, если оно есть в теме или плагинах.
  • Для улучшения отображения можно применить плагины типа Clearfy Pro, которые оптимизируют работу комментариев и админки.

Итоговые рекомендации и проверка работы

После внесения всех изменений:

  • Очистите кеш браузера и сайта.
  • Проверьте, что комментарии теперь подгружаются с полной перезагрузкой страницы.
  • Убедитесь, что пагинация работает корректно.
  • Проверьте консоль браузера на отсутствие ошибок JavaScript.
  • Проверьте в поисковой выдаче, что все комментарии индексируются.

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

Как создать собственный шорткод в WordPress
04.11.2025
Как удалить все скрипты и стили в WordPress
04.03.2026
Как отключить AJAX подгрузку корзины WooCommerce для улучшения производительности
17.05.2026
Как удалить или изменить атрибуты товаров WooCommerce через функции
11.05.2026
Автоматическое удаление заказов WooCommerce со статусом «неоплачено» по срокам
02.06.2026