Ранее мы рассматривали варианты ускорения работы блога в статье «Как ускорить загрузку сайта на WordPress. Google PageSpeed Insights». Сегодня хочу уделить внимание еще одному методу, который может значительно повысить скорость загрузки блогов с большим количеством комментариев, где используются граватары. Т.е. когда к каждому комментарию прикреплена картинка-аватар участника дискуссии на сайте, которая загружается через сторонний сервер.
Проверка влияния граватаров на скорость работы блога
Для того, чтобы понять, есть ли на нашем блоге проблемы со скоростью загрузки страниц, проанализируем данные двух сервисов. Первый – уже известный нам Google PageSpeed Insights, второй – с более развернутой статистикой – Gtmetrix. Для анализа возьмем страницу моего блога с большим количеством комментариев про самые нужные плагины WordPress — https://pro-wordpress.ru/nastrojka-wordpress/neobxodimye-plaginy-dlya-wordpress.php.
Вставляем url в строку Google PageSpeed и смотрим результат:
Гугл дает свои рекомендации по доработке сайта с целью ускорения. И среди его рекомендаций есть два пункта, в которых фигурирует слово “gravatar”. Смотрим пункт «Используйте кэш браузера» (жмем «Как исправить?» чтобы посмотреть подробности):
Следующий раздел, в котором фигурируют граватары — «Оптимизируйте изображения»:
Теперь посмотрим, какую информацию предоставит нам сервис GTmetrix:
В переводе этот пункт звучит, как «Использование кэширования браузеров». Для кэширования страниц на Вордпресс-блоге используют плагин «Hyper Cache». Однако для граватаров он не подходит, но об этом позже.
И вот еще один фактор, который определен GTmetrix, как тот, который негативно влияет на скорость загрузки, и где упомянуты граватары:
Расшифровка этот пункта такая: удалите строки запроса из статических ресурсов. Если кликнуть на синюю кнопку “What’s this mean?” («Что это значит?»), мы увидим следующее:
Большинство прокси, в особенности Squid до версии 3.0, не кэшируют ресурсы с помощью «?» в URL-адресе, даже если в ответе присутствует общий заголовок Cache-control: public. Чтобы включить кэширование прокси для этих ресурсов, удалите строки запросов из ссылок на статические ресурсы и вместо этого запишите параметры в имена файлов.
Итак, используя ресурсы Google PageSpeed Insights и GTmetrix, мы обнаружили, что граватары, при большом количестве комментариев, могут замедлять загрузку страницы. Теперь рассмотрим, как можно устранить данную проблему.
Оптимизация граватаров
Наиболее простой и очевидный вариант устранения негативных последствий использования граватаров – полностью их отключить. Но в таком случае мы лишимся и всех преимуществ данного сервиса. Замечу, что для сайтов на WordPress, поддержка граватаров установлена по умолчанию.
Второй метод – это работа непосредственно с комментариями. Можно удалять те комменты, которые не несут никакой ценности, а только лишь нагружают сайт. Однако, это кропотливая работа, требующая от вебмастера временных затрат, а для крупного проекта с множеством комментаторов, и вовсе может стать непосильной задачей.
Можно уменьшать нагрузку на страницу также способом пагинации комментариев (распределением по страницам). Сделать это можно с помощью плагина WP Disable, который ограничивает показ комментариев на одной странице до 20 штук.
Также попробуйте уменьшить размеры изображений граватаров до минимально возможного их значения (например, 32 пикселя).
Следующий способ – установить плагины кэширования граватаров. Увы, Hyper Cache и похожие, не кэшируют граватары. Поэтому в дополнение к ним необходимо использовать FV Gravatar Cache, или Harrys Gravatar Cache, а также другие подобные. Рассмотрим работу одного из них.
Плагины кэширования граватаров: FV Gravatar Cache
На сайтах, где включены граватары, каждый комментарий – это одно обращение к Gravatar-серверу. И если один вызов занимает 100 мс, то на странице с сотнями комментариев – это уже будет значительное замедление.
Приблизительно вот так выглядит урл каждого граватара: https://2.gravatar.com/avatar/8d9f8c781b84acc26ff44db1b7aa73f1?s=50&d=monsterid&r=g
Как работают плагины кэширования граватаров? После установки и запуска плагина, изображения загружаются не с Gravatar-сервера, а хранятся на вашем сайте. Давайте разберем этот вопрос подробнее на примере работы плагина FV Gravatar Cache. Стоит отметить, что популярный ранее на наших просторах плагин NIX Gravatar Cache больше не обновляется и недоступен для скачивания с официального сайта wordpress.org.
Плагин FV Gravatar Cache – достаточно легкий и начинает работать сразу же после установки.
После установки в настройках необходимо указать (или проверить автоматически определенную) папку для хранения картинок (как это указано в примере на изображении ниже):
Тут же отображается Default Gravatar (граватар по умолчанию), он задан для посетителей, которые не используют свой личный граватар (привязанный к почтовому адресу). Для них будут отображаться одинаковые картинки, вместо того, чтобы каждый раз снова и снова обращаться на gravatar-сервер. Выбрать граватар по умолчанию можно здесь — wp-admin -> Settings -> Discussion.
Вот видео, в котором показано, как можно поменять свой Default Gravatar:
Ниже в настройках FV Gravatar Cache нужно указать размер аватарок, которые вы хотите видеть в комментариях на своем блоге.
После внесенных изменений жмем “Run Cron Now” для начала кэширования тех картинок, которые уже есть на вашем сайте. Этот процесс может занять какое-то время. Длительность зависит от количества уникальных комментаторов с граватарами.
После завершения кэширования обновите страничку плагина и посмотрите количество картинок в кэше. В течение работы FV Gravatar Cache все сохраненные изображения будут автоматически обновляться. 300 граватаров обновляются за один час (25 картинок за 5-ти минутный интервал). При появлении новых комментаторов со своими аватарками, их изображения будут также моментально кэшироваться сразу после сохранения свежего комментария.
Установив плагин FV Gravatar Cache, вы сможете улучшить показатель скорости загрузки своего сайта и пользоваться всеми достоинствами сервиса Gravatar.
Вот спасибо! Действительно с граватарами не знал, что делать, а о плагинах для этой цели как-то и не подумал.
Установил FV Gravatar Cache, кеширует граватары потихоньку. Уже около 300 в кеш загнал. Ещё два-три часа и основная масса граватаров будет вся в кеше.
Спасибо!
Благодарю, за нужный плагин! Поставил себе на блог, посмотрю как будет работать!