Скачать Кэширование в WordPress — что такое Time To First Byte, улучшаем загрузку WordPress

  • Скидка на платные статусы  -50%!

    получи безграничный доступ к нашим файлам, скриптам, курсам и другим инфопродуктам со скидкой -50%

     

    Подробнее

Cyber

Команда форума
Администратор
25.05.14
5.485
1.465
#1

proxy.php?image=https%3A%2F%2Fwp-lessons.com%2Fwp-content%2Fuploads%2F2015%2F04%2Fkeshirovaniya-sayta-wordpress-chast-1-660x330.jpg.pagespeed.ce.zC4nvDFkGc.jpg&hash=118b4bbde790cf235de310cf1e1252ff
Недавно Яндекс.Вебмастер начал присылать сообщения, что время загрузки нескольких сайтов превышает три секунды. Если у вас подобная ситуация, то вам придется заняться этим вопросом в плотную. Начнем с тестов на соответствующих сервисах, пока не получим результаты, которые нас удовлетворят.

Для эксперимента можно установить чистый WP проект с базовой(!) темой, и 2-3 модулями.

Иногда все довольно просто, и все дело в используемом вами виртуальном хостинге. Чтоб это проверить, временно перенесите сайт на другой хостинг.
Если проблема не в хостинге то читаем далее.

Time To First Byte

TTFB (Time To First Byte) — это время до получения первого байта страницы с момента отправки запроса на хостинг. Оно включает в себя выполнение DNS запроса, ожидание соединения и получение ответа сервера.

Я читал, что сервисы скорости загрузки сайта Pingdom, Webpagetest и некоторые другие по разному «понимают» это значение.

Так, в сети пишут, будто Pingdom под TTFB подразумевает параметр Wait, а в отчетах Webpagetest величина считается как сумма всех компонентов.

В общем, как бы там ни было, ваша задача получить минимальное значение Time To First Byte. Нормальный показатель варьируется от 100-200мс до 500мс. Все, что выше 600мс — желательно доработать, а 1-2сек срочно требует внимания.

Высокий TTFB появляется из-за:
  • плохой конфигурации сервера;
  • создания динамического контента;
  • большого количества трафика;
  • проблем с сетью.
На первые два пункта вы можете более-менее влиять. Похожие пожелания по улучшению загрузки веб-ресурсов уже встречались в советах по ускорению сайтов, это:
  • Кэширование для хостинга и Вордпресс.
  • Последние версии PHP, WP темы/модулей.
  • Сокращение запросов к БД.
  • Уменьшение размера и числа файлов.
  • CDN.
WordPress кэширование для TTFB

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

Оказывается у кэширования есть еще одна полезная фишка. В сервисе Pingdom запрос шел из Стокгольма (Швеция), в Webpagetest проводились 3 теста из Варшавы (Польша), сервак находится в Украине. В WordPress установлен модуль WP Super Cache.

Первым рассмотрим тот самый «нулевой» сайт, о котором говорил выше, с оптимизированной темой и десятком основных плагинов.

Было:

proxy.php?image=http%3A%2F%2Ftods-blog.com.ua%2Fwp-content%2Fuploads%2F2017%2F10%2Fttfb4-1-580x500.jpg&hash=9927826ee06de9de8f8b43373bfaa959

Без кэширования

Стало:

proxy.php?image=http%3A%2F%2Ftods-blog.com.ua%2Fwp-content%2Fuploads%2F2017%2F10%2Fttfb4-2-580x502.jpg&hash=2dc00c22b147c0e6ad5ef478087e46c2

После включения WP Super Cache

В результате нехитрых манипуляций у нас:

  • В Pingdom общее время загрузки уменьшилось на 200мс, но, думаю, оно стало бы еще меньше, если бы не DNS — сравните разницу ожидания (желтая полоска).
  • В Webpagetest значение TTFB из 600мс превратилось в 170мс, плюс оценка сайта с «В» поднялась до максимальной — «А».
Эксперимент номер 2. Данный веб-проект имеет 23 Вордпресс плагина и около 20-ти человек в сутки, тема вообще не оптимизирована.

Показатели до:

proxy.php?image=http%3A%2F%2Ftods-blog.com.ua%2Fwp-content%2Fuploads%2F2017%2F10%2Fttfb5-1-580x473.jpg&hash=96ff18d74bfb25892d651fe99dd0124a

Без включенного кэша

После:

proxy.php?image=http%3A%2F%2Ftods-blog.com.ua%2Fwp-content%2Fuploads%2F2017%2F10%2Fttfb5-2-580x500.jpg&hash=45ea7f9c97bb5d73704a228a072e6433

С включенным WP Super Cache

В этом случае имеем:

  • Длительность загрузки в Pingdom с 3,25сек упала до 822мс. Вероятно во первом тесте случилась какая-то дополнительная заминка (3сек — слишком много), но в целом тенденция просматривается.
  • TTFB для польского сервера из Webpagetest с 670мс снизился до 250мс, что снова позволило получить наивысший бал.
Итого

Я понимаю, 2 теста — это вообще не показатель, но думаю, можно с большой вероятностью утверждать:

Кэширование в Wordress полезно для Time To First Byte и позволяет очень хорошо ускорить загрузку сайтов.

Безусловно, в данном вопросе есть еще множество разных нюансов: DNS ответ, оптимизация сервера, но то уже другая история. Если у вас еще не установлен WP Super Cache или похожий Wordress плагин, самое время его установить.​