Скачать Кэширование в WordPress — что такое Time To First Byte, улучшаем загрузку WordPress. Wordpress waiting ttfb
Time To First Byte и кэширование в Wordpress для ускорения сайта
Сначала пару абзацев небольшого лирического отступления, после которого расскажу о TTFB и кэшировании. Недавно Яндекс.Вебмастер начал массово слать уведомления, что время загрузки нескольких сайтов превышает необходимые три секунды. Пришлось заняться этим вопросом достаточно плотно. Начал проводить тесты с помощью соответствующих сервисов, и в 90% случаев результаты оказались вполне удовлетворительные.
Тогда ради эксперимента я взял практически чистый WP проект с базовой(!) темой, 2-3 модулями и нулевой посещаемостью. Еще и кэширование туда поставил + избавился от метрики дабы убрать возможную задержку из-за ее блокировки в Украине. Но ничего не изменилось, итог был неумолим — предупреждение в панельке то пропадало, то появлялось. И это на «нулевом сайте», когда даже функция проверки ответа сервера в Я.Вебмастере показывала нормальные цифры.
Начали закрадываться сомнения по поводу виртуального хостинга, но временный переезд на другой не сильно изменил ситуацию. Тут две мысли: либо время от времени возникают сложности с TTFB у сервера, либо это косяк панели. Вероятность обоих вариантов, в принципе, одинаковая:)
Time To First Byte
Пока изучал возможные проблемы, познакомился с новым для себя термином — TTFB (Time To First Byte) — это время до получения первого байта страницы с момента отправки запроса на хостинг. Оно включает в себя выполнение DNS запроса, ожидание соединения и получение ответа сервера.
Я читал, что сервисы скорости загрузки сайта Pingdom, Webpagetest и некоторые другие по разному «понимают» это значение.
Так, в сети пишут, будто Pingdom под TTFB подразумевает параметр Wait, а в отчетах Webpagetest величина считается как сумма всех компонентов. Хотя на скриншоте видно, что в обоих случаях итоговая цифра разделена на несколько составляющих (во втором она называется просто First Byte).
В общем, как бы там ни было, ваша задача получить минимальное значение Time To First Byte. Нормальный показатель варьируется от 100-200мс до 500мс. Все, что выше 600мс — желательно доработать, а 1-2сек срочно требует внимания.
Высокий TTFB появляется из-за:
- плохой конфигурации сервера;
- создания динамического контента;
- большого количества трафика;
- проблем с сетью.
На первые два пункта вы можете более-менее влиять. Похожие пожелания по улучшению загрузки веб-ресурсов уже встречались в советах по ускорению сайтов, это:
- Кэширование для хостинга и Вордпресс.
- Последние версии PHP, WP темы/модулей.
- Сокращение запросов к БД.
- Уменьшение размера и числа файлов.
- CDN.
Возможно, в дальнейшем я напишу более детальную статью по данным фишкам, но сегодня хотел бы акцентировать ваше внимание на одной из них.
WordPress кэширование для TTFB
Когда-то очень давно в Вордпресс блоге поднималась тема кэширования. Я только начинал заниматься веб-разработкой, да и сами модули были в диковинку (сейчас же у них более миллиона установок). Тогда мне казалось, что этот механизм должен применяться исключительно в проектах с большой нагрузкой (трафиком) — чтобы пользователям отдавались статические страницы без обращения к БД и параллельно экономились ресурсы хостинга.
Оказывается у кэширования есть еще одна полезная фишка. Вот вам парочка тестов для размышлений. В сервисе Pingdom запрос шел из Стокгольма (Швеция), в Webpagetest проводились 3 теста из Варшавы (Польша), сервак находится в Украине. В WordPress установил модуль WP Super Cache.
Первым рассмотрим тот самый «нулевой» сайт, о котором говорил выше, с оптимизированной темой и десятком основных плагинов. Картинки кликабельны.
Было:
Без кэширования
Стало:
После включения WP Super Cache
В результате нехитрых манипуляций у нас:
- В Pingdom общее время загрузки уменьшилось на 200мс, но, думаю, оно стало бы еще меньше, если бы не «тупанул» DNS — сравните разницу ожидания (желтая полоска).
- В Webpagetest значение TTFB из 600мс превратилось в 170мс, плюс оценка сайта с «В» поднялась до максимальной — «А».
Эксперимент номер 2. Данный веб-проект имеет 23 Вордпресс плагина и около 20-ти человек в сутки, тема вообще не оптимизирована.
Показатели до:
Без включенного кэша
После:
С включенным WP Super Cache
В этом случае имеем:
- Длительность загрузки в Pingdom с 3,25сек упала до 822мс. Вероятно во первом тесте случилась какая-то дополнительная заминка (3сек — слишком много), но в целом тенденция просматривается.
- TTFB для польского сервера из Webpagetest с 670мс снизился до 250мс, что снова позволило получить наивысший бал.
Итого
Я понимаю, 2 теста в статье и еще 10-20 за ее пределами — это вообще нисколько не выборка, но по личным ощущениям и другим публикациям в сети, думаю, можно с большой вероятностью утверждать:
Кэширование в Wordress полезно для Time To First Byte и позволяет ускорить загрузку любых сайтов. Ваш кэп:)
Безусловно, в данном вопросе есть еще множество разных деталей: DNS ответ, оптимизация сервера, но то уже другая история, о которой расскажу позже. Если у вас еще не установлен WP Super Cache или похожий Wordress плагин, самое время его добавить. Тем, кто использует иную CMS, нужно поискать соответствующие модули.
Как всегда жду ваших комментариев ниже. Делитесь своими результатами тестов.
tods-blog.com.ua
Кэширование в WordPress
Недавно Яндекс.Вебмастер начал присылать сообщения, что время загрузки нескольких сайтов превышает три секунды. Если у вас подобная ситуация, то вам придется заняться этим вопросом в плотную. Начнем с тестов на соответствующих сервисах, пока не получим результаты, которые нас удовлетворят.Для эксперимента можно установить чистый 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.
Возникает ощущение, что кэширование для TTFB должно применяться исключительно в проектах с большой нагрузкой (трафиком) — чтобы пользователям отдавались статические страницы без обращения к БД и параллельно экономились ресурсы хостинга.
Оказывается у кэширования есть еще одна полезная фишка. В сервисе Pingdom запрос шел из Стокгольма (Швеция), в Webpagetest проводились 3 теста из Варшавы (Польша), сервак находится в Украине. В WordPress установлен модуль WP Super Cache.
Первым рассмотрим тот самый «нулевой» сайт, о котором говорил выше, с оптимизированной темой и десятком основных плагинов.
Было:
Стало:
После включения WP Super CacheВ результате нехитрых манипуляций у нас:
- В Pingdom общее время загрузки уменьшилось на 200мс, но, думаю, оно стало бы еще меньше, если бы не DNS — сравните разницу ожидания (желтая полоска).
- В Webpagetest значение TTFB из 600мс превратилось в 170мс, плюс оценка сайта с «В» поднялась до максимальной — «А».
Показатели до:
Без включенного кэшаПосле:
В этом случае имеем:
- Длительность загрузки в Pingdom с 3,25сек упала до 822мс. Вероятно во первом тесте случилась какая-то дополнительная заминка (3сек — слишком много), но в целом тенденция просматривается.
- TTFB для польского сервера из Webpagetest с 670мс снизился до 250мс, что снова позволило получить наивысший бал.
Я понимаю, 2 теста — это вообще не показатель, но думаю, можно с большой вероятностью утверждать:
Кэширование в Wordress полезно для Time To First Byte и позволяет очень хорошо ускорить загрузку сайтов.
Безусловно, в данном вопросе есть еще множество разных нюансов: DNS ответ, оптимизация сервера, но то уже другая история. Если у вас еще не установлен WP Super Cache или похожий Wordress плагин, самое время его установить.
TTFB Blocks | WordPress.org
More Gutenberg blocks for your TTFB Theme
Blocks list:
- Chapter block
- Accordion block
- Section block
This plugin can be installed directly from your site.
- Log in and navigate to Plugins → Add New.
- Type «TTFB Blocks» into the Search input and click the «Search Widgets» button.
- Locate the TTFB Blocks in the list of search results and click «Install Now».
- Click the «Activate Plugin» link at the bottom of the install screen.
- The widgets will be available in Appearance → Widgets.
- The options will be available in Appearance → Customizer.
It can also be installed manually.
- Download the «TTFB Blocks» plugin from WordPress.org.
- Unzip the package and move to your plugins directory.
- Log into WordPress and navigate to the «Plugins» screen.
- Locate «TTFB Blocks» in the list and click the «Activate» link.
- The widgets will be available in Appearance → Widgets.
- The options will be available in Appearance → Customizer.
This plugin can be installed directly from your site.
- Log in and navigate to Plugins → Add New.
- Type «TTFB Blocks» into the Search input and click the «Search Widgets» button.
- Locate the TTFB Blocks in the list of search results and click «Install Now».
- Click the «Activate Plugin» link at the bottom of the install screen.
- The widgets will be available in Appearance → Widgets.
- The options will be available in Appearance → Customizer.
It can also be installed manually.
- Download the «TTFB Blocks» plugin from WordPress.org.
- Unzip the package and move to your plugins directory.
- Log into WordPress and navigate to the «Plugins» screen.
- Locate «TTFB Blocks» in the list and click the «Activate» link.
- The widgets will be available in Appearance → Widgets.
- The options will be available in Appearance → Customizer.
The TTFB Blocks provides extra Gutenberg blocks to TTFB themes. The plugin is not a requirement to use TTFB themes, but it will extend some themes to function as you see them in the demos.
Can I use this plugin with other themes?The TTFB Blocks plugin should work with other themes.
«TTFB Blocks» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участникиv1.0.5 — june 4, 2018
Fix Gutenberg 2.9 compatibilityNew Accordion blockNew Section block
v1.0.4 — April 19, 2018
Fix Gutenberg 2.7 compatibility
v1.0.3 — April 19, 2018
Fix Gutenberg 2.6 compatibility
v1.0.2 — February 26, 2018
Fix some errors
v1.0.1 — February 26, 2018
Fix small typos
v1.0 — February 23, 2018
ru.wordpress.org