Как отключить 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 с помощью WPClass Cron
29.11.2025
Как удалить неиспользуемые виджеты в WordPress для ускорения сайта
09.03.2026
Как создать собственный шорткод в WordPress
04.11.2025
Как установить разные верстки блоков Gutenberg в WordPress
01.01.2026
Как использовать внутренний кеш в WordPress для ускорения сайта
24.03.2026