Как ускорить загрузку комментариев в WordPress?

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

Перед знакомством со способами ускорения загрузки комментариев, следует узнать, какие ресурсы задействуются для загрузки и вывода комментариев на странице в системе WordPress.

  1. Выполняется запрос к базе данных, который “вытаскивает” все комментарии (в WordPress каждый комментарий имеет отдельную запись в базе данных).
  2. Полученные комментарии и их метаданные (автор, время и дата создания, ID поста или страницы и др.) обрабатываются веб-браузером пользователя.
  3. Дальше происходит запрос и загрузка Gravatars из внешних источников.
  4. На следующем этапе загружаются JavaScript— и jQuery-ресурсы, которые нужно обработать.

В результате таких действий формирование блока комментариев на сайте может добавить значительную нагрузку на веб-сервер, увеличить общий размер страницы и количество требуемых HTTP-запросов, а также добавить загрузку и обработку дополнительных ресурсов JavaScript. Независимо от того, используете ли вы встроенную систему WordPress-комментариев или подключаете внешние сервисы (например, Disqus или Facebook Комментарии), они сильно влияют на общую скорость вашего веб-сайта. Поэтому этот процесс необходимо оптимизировать.

Как ускорить загрузку комментариев?

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

1. Отключение комментариев полностью

Безусловно, это устранит проблему. Однако вы должны учесть, насколько полезен этот блок для ваших посетителей. Если благодаря комментариям популярность вашего сайта растет, то этот шаг вам не подойдет.

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

2. Оптимизация встроенных комментариев

Существует несколько способов ускорить загрузку встроенной системы комментариев WordPress.

3. Использование сторонней системы комментариев

Если ваш сайт размещен на дешевом виртуальном хостинге, то использование сторонней системы комментариев (например, Disqus) может ускорить работу страниц с большим количеством комментариев. Однако, если вы арендуете собственный сервер, то переключение на внешний сервис может еще больше замедлить работу.

4. Использование “ленивой” загрузки комментариев

Преимущество технологии отложенной загрузки в том, что комментарии к записи не загружаются полностью, а выводятся частями. Это вполне оправдано для больших веток обсуждения. О том, как установить “ленивую” загрузку, было детально рассмотрено в одной из наших статей.

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

Оптимизация встроенных комментариев

Оптимизировать встроенную систему комментариев можно 2-мя способами: ограничить количество одновременно загружаемых комментариев или же использовать локальные аватары.

Количество загружаемых комментариев

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

Для управления выводом количества комментариев WordPress имеет все необходимые инструменты. Для этого нужно в админ-панели перейти в раздел Настройки -> Обсуждение.

Настройка обсуждения

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

После нажатия кнопки Сохранить изменения при загрузке страницы будет выводиться указанное вами число комментариев.

Локальные аватары

Известно, что “движок” имеет встроенную поддержку Gravatar. Это дает возможность любому WordPress-пользователю иметь собственную иконку, загруженную в профиле сервиса. Она будет показываться возле оставленного комментария. Но тут есть и негативный момент. Так как сервис является сторонним, то ваш сайт будет тратить часть ресурсов сервера на обращение и загрузку данных с внешнего ресурса. Для каждого Gravatar необходим отдельный HTTP-запрос. Только представьте себе, что для 100 таких пользователей необходимо создать и отправить такое же количество запросов.

Если вы решили отключить Gravatar, то можете легко это сделать, прочитав наше руководство.

Есть и другой вариант. Он предполагает использование локально сохраненных аватаров. Установка локальных аватаров была описана в одной из наших прошлых статьях.

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

Сторонняя система комментариев

Как было сказано выше, многие WordPress-пользователи на своих сайтах используют внешние системы комментариев. Они позволяют существенно “разгрузить” ресурсы вашего сервера, так как это действительно трудоемкий процесс. Помимо этого, внешние сервисы обеспечивают лучший пользовательский интерфейс. Также они предлагают пользователям оставлять комментарии, не регистрируясь на вашем сайте.

Однако у сторонних служб есть и недостатки. Так, никто не даст вам гарантий, что такой блок комментариев будет загружаться быстрее. Если вы все же решите использовать ее, то следует позаботиться о “ленивой” загрузке.

“Ленивая” загрузка

Независимо от того, какую систему комментариев вы используете на своем сайте (встроенную или внешнюю), отложенная загрузка наверняка ускорит общее время загрузки страницы. В этом случае новая порция комментариев будет показана, когда посетитель достигает определенной точки на странице, либо нажимает кнопку Загрузить еще.

“Ленивая” загрузка для встроенных комментариев

К сожалению, это функционал не поддерживается на уровне ядра WordPress. Но проблема легко решается установкой необходимого плагина (например, Lazy Load for Comments или wpDiscuz).

“Ленивая” загрузка для Disqus

Для внешней системы Disqus тоже есть неплохое решение отложенных комментариев — бесплатный плагин Disqus Conditional Load.

“Ленивая” загрузка для Facebook Комментариев

Если вы на своем сайте используете комментарии Facebook, то и для этого сервиса можно успешно настроить “ленивую” загрузку. Для этого существует бесплатный плагин Lazy FB Comments, который позволит вам настроить количество комментариев, цветовую схему, язык, ширину, порядок сортировки и т.д.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров