Время до загрузки dom что это: Sorry, this page can’t be found.

Содержание

Как проверить скорость загрузки сайта в Яндекс

Доброго всем времени суток! Меня зовут Анатолий Кузнецов и сегодня я расскажу вам, как проверить скорость загрузки сайта в Яндекс. Скорость загрузки — это один из самых важных факторов ранжирования в поисковой системе Яндекс на сегодняшний день и чем она меньше, тем выше позиции!

Как проверить скорость загрузки сайта в Яндекс

Проверять скорость загрузки сайта будем с помощью сервиса Яндекса, который находиться внутри метрики. Заходим в Яндекс Метрику и нажимаем кнопки по такому пути:

Показываю на примере своего сайта, на котором Вы сейчас находитесь:

Открываем и изучаем числовые показатели (в секундах) каждой страницы сайта. Давайте теперь расшифрую каждый параметр на который показывает стрелка.

Время до отрисовки

Время до отрисовки — это время за которое страница сайта полностью загружается и отображается на устройствах пользователей. Данный параметр в глазах пользователей считается той самой скоростью загрузки сайта, но это субъективно, так как роботы её определяют иначе. Могу сказать с уверенностью лишь то, что время отрисовки сайта должно быть не более 2-х секунд (1 секунда в идеале).

Время до загрузки DOM

Время до загрузки DOM — Это время полной загрузки страницы сайта со всеми её компонентами (изображения, CSS, скрипты и т. п.). Время сто процентной готовности страницы для взаимодействия с пользователями.

DNS

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

Редиректы

Редиректы (обработка редиректов)

— время загрузки, потраченное на отработку переадресаций с Http на Https, с WWW на без WWW итд.

Продолжительность установки соединения

Продолжительность установки соединения — время загрузки, которое тратит браузер во время ожидания подключения к HTTP-серверу при получении содержимого страницы.

Ответ сервера

Ответ сервера — время, рассчитываемое от начала отправки запроса и до получения ответа с содержимым страницы от HTTP-сервера к браузеру. Важный фактор! Также зависит от выбранного хостинга. Вот моя история об этом!

Время загрузки и парсинга HTML


Время загрузки и парсинга HTML — время загрузки, затраченное браузером на обработку содержимого страницы после ее загрузки с сервера и до начала отрисовки. 

Процент отправки DNS запросов

Процент отправки DNS запросов — это процент загрузок страниц, когда IP-адрес сайта не был закэширован.

Заключение

Хотите хорошо ранжироваться в Яндекс? Увеличивайте скорость загрузки сайта! Хотите быстро продвинуть свой интернет-магазин в ТОП10 Яндекс и долго там оставаться? Продвигайтесь исключительно белыми, безопасными и современными LSI методами! Не умеете? Могу научить! Тем, кто хочет разобраться во всех премудростях LSI продвижения, предлагаю посетить мои 

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

Вы получили печальный опыт блокировки за накрутку, испробовали уже все методы продвижения, а толку нет? Разочаровались в Яндекс Директ и Google Adwords? Пора прекращать верить в сказки и доброго волшебника в голубом вертолете, который спасёт ваш бизнес. Пора заняться действительно качественной и проверенной временем SEO работой – начать продвижение интернет-магазина (сайта) статьями! Эффективность этой стратегии подтверждают мои 

SEO кейсы. Я информирую Вас лишь для того, чтобы Вы впервые выбрали для себя правильный путь развития бизнеса и наконец-то получили результат. И не важно, я буду в этом вам помогать или Дядя Ваня. Но все же, если Вы хотите выбрать меня, то жмите кнопку ниже (пишите, звоните +7(921)333-77-45) и мы скорее всего договоримся и я возьмусь за ваш WEB проект и вдохну в него жизнь в виде действительно продающих текстов!

СТАНДАРТ
(эффективность 80%)

За60 000

  • Вы получите: 
  • Индивидуальная стратегия продвижения
  • Технический аудит
  • Подбор низкоконкурентной семантики
  • Написание 5 текстов/месяц
  • Внутренняя оптимизация
  • Ежемесячный съём позиций
  • Персональный менеджер 5 дн/неделю
ОПТИМА
(эффективность 100%)

За120 000

  • Вы получите:
  • Индивидуальная стратегия продвижения
  • Технический аудит
  • Подбор низкоконкурентной семантики
  • Написание 10 текстов/месяц
  • Внутренняя оптимизация
  • Ежемесячный съём позиций
  • Персональный менеджер 5 дн/неделю
ПРЕМИУМ (БЕЗ ОЧЕРЕДИ)
(эффективность 200%)

За350 000

  • Вы получите:
  •   Не нужно ждать очередь на SEO продвижение
  • Включены все белые SEO методы (мои личные наработки и практики)
  • Рекомендации и постоянный диалог
  • Необходимое количество SEO и LSI текстов
  • + Настройка контекстной рекламы и SMM (соцсети)
  • Неограниченный съём позиций и отчёт
  • Персональный менеджер 24/7

Выполняем SEO продвижение сайтов по городам:

  • Самара
  • Казань
  • Волгоград
  • Краснодар
  • Тюмень
  • Тольятти
  • Ростов-на-Дону
  • Уфа
  • Красноярск
  • Пермь
  • Воронеж
  • Омск
Рейтинг моего сайта в Яндекс:

 

За сколько секунд должен загружаться веб-сайт в 2020, что такое «быстро», и причем тут зеркала в лифтах?

Казалось бы, померил время от HTTP-запроса браузера до загрузки последнего байта страницы — и готово. Not so fast! У Google, например, целых 6 метрик для оценки скорости работы сайта. Под катом НЕ будет перевода документации Lighthouse и НЕ будет советов по написанию SEO текстов, зато вы узнаете:


  • о хронологии изменения политики ранжирования сайтов Google
  • об объективных оценках субъективного восприятия времени загрузки сайта
  • насколько интернет остается медленным в 2020
  • как время загрузки влияет на посещаемость сайта, а сам процесс на конверсию
  • смешная картинка в конце


(не) Google’ом единым

Медленно, но верно своей железной рукой Google устанавливает новые стандарты для веб-страниц. Мотивация проста – Google выгодно показывать в выдаче быстрые, удобные, безопасные и содержательные сайты. Если пользователь быстро нашел, что ему нужно – поисковик справился со своей задачей. Получается, как ни посмотри, user в выигрыше? – да. А вот воплощать в жизнь стандарты, задаваемые Google, конечно же, приходится разработчикам и создателям контента.


Скорость

История со скоростью загрузки страниц началась еще в далеком 2009 году, когда Google выступила с инициативой “Let’s make the web faster”. В ее основе лежало видение сооснователя компании Ларри Пейджа: «Переход от одной веб-страницы к другой должен быть таким же быстрым, как перелистывание глянцевого журнала». За этим последовал выпуск набора инструментов для оптимизации сайта PageSpeed tools и функции предварительной загрузки первых результатов поиска в Chrome. В 2010 Google объявила, что при ранжировании будет учитывать скорость загрузки страниц в десктоп версии. Но на релизе это повлияло только на 1% от всех страниц. Google открыто заявила, что скорость — не ключевой фактор, и специалисты по SEO продолжили спокойно сочинять тексты и добавлять ссылки. И на этом все на следующие 7 лет.


“Browsing the web should be as fast as turning the pages of a magazine”
Larry Page

Мобильные версии сайтов

Сейчас в фокусе мобильные версии сайтов, их контент и скорость работы. И это не удивительно: в 2017 доля контента, потребляемого с мобильных устройств, превысила 50%.

В 2017 году Google выпустила свой хрестоматийный отчет «Mobile page speed new industry benchmarks». В 2018 году вышла его обновленная версия. Мы поговорим подробнее о них чуть позже. Летом 2018 вышел «Speed update», который внес изменения в алгоритм индексирования страниц. C июля 2018 года Google учитывает скорость работы мобильных версий страниц при ранжировании и наказывает медленные.

Ровно через год — 1 июля 2019 года — Google начала индексировать все новые страницы с приоритетом мобильного контента. Такое индексирование означает, что рейтинг страниц зависит главным образом от их мобильной версии. Буквально на днях Google анонсировала, что с 1 сентября 2020 года все страницы будут индексироваться таким образом. Пока же Google переводит на мобильное индексирование страницы, которые считает готовыми к этому. Таких веб-страниц порядка 70%. Получается, с осени этого года, помимо прямой зависимости ранжирования от скорости работы мобильных страниц вашего сайта, добавляется косвенная. Чем быстрее работает сайт — тем больше страниц Googlebot для смартфонов успеет проиндексировать (на каждом ресурсе бот проводит ограниченное время).


Безопасность

Аналогичную ситуацию мы наблюдали с переходом на HTTPS. Наверное все замечали предупреждение о том, что страница использует HTTP и небезопасна. Этого достаточно, чтобы у многих пользователей пропало желание посещать ресурс, а, тем более, что-то на нем покупать. Но давайте обо всем по порядку.

В 2014 Google начала поощрять сайты, использующие SSL, поднимая их в выдаче.

С января 2017 Chrome сообщает, что веб-страница “Not secure”, если она содержит поля для ввода паролей и не использует SSL.

С июля 2018 года небезопасными считаются любые страницы, не использующие SSL.

В 2019 Яндекс тоже начал «штрафовать» сайты без SSL шифрования.

Google часто применяет такой метод кнута и пряника. Хотя, вернее будет сказать, пряника и кнута. Сначала поощряет тех, кто следует рекомендациям, а через время начинает наказывать тех, кто их не выполняет.

Если с использованием TLS все более-менее понятно (есть — хорошо, нет — плохо), то со скоростью загрузки страниц все не так очевидно. Что такое быстро? На что влияет скорость? Какие показатели в среднем по сети?


Измеряем время до…

Итак, берем страницу, измеряем время с отправки HTTP-запроса браузером клиента до момента, когда последний байт страницы загружен — готово! Not so fast… Time to Fully Loaded (TTFL), именно его мы только что померили, не очень-то отражает реальное положение дел. TTFL не достаточно, чтобы понять насколько сайт быстрый. Еще одна популярная характеристика оценки скорость работы сайта — Time to First Byte (TTFB). Это время между отправкой HTTP-запроса пользователя и получением первого байта информации запрашиваемой страницы. Она отражает «отзывчивость» сервера, на котором находится сайт. Чтобы проверить TTFB, можно использовать отладчик браузера или консоль. В Chrome и Firefox нажмите комбинацию «Ctrl+Shift+I». Выберите вкладку «Сеть». После этого перезагрузите страницу, отфильтруйте ресурсы по типу HTML и найдите document файл. Поле «Ождиание» и есть TTFB.

Конечно, чем эти промежутки времени меньше — тем лучше, но для пользователя все эти TTFB и время до получения последнего байта мало что значат. Никто не заходит на страницу с открытым отладчиком и не смотрит, когда пришел первый байт с aliexpress.com. (Ну, может быть вы сейчас зашли, ради интереса). В первую очередь user смотрит на окно браузера с интересующим его сайтом. Можно оценивать скорость работы веб-страницы, опираясь на время отображения ее элементов.

Time to First Contentful Paint (TTFCP), если коротко, — время до отображения первого элемента на экране устройства пользователя. Цветной фон, картинки, svg файлы, текст — все, за исключением встраиваемых элементов.

Time to Visually Complete (TTVC) — это время в секундах, которое требуется, чтобы в окне браузера посетителя страница выглядела полностью загруженной. Это значит, что если пользователь никак не будет взаимодействовать со страницей, в том числе скроллить ее, то вид страницы уже никак не изменится.

Ну, теперь то все? — нет. Люди не заходят на страницу с секундомером в руках, чтобы засечь, когда на экране их телефона появилось хоть что-то. Главное для пользователя — восприятие времени загрузки или perceived loading duration. То, сколько он скучал, прежде чем начать пользоваться страницей.


Объективная оценка субъективного восприятия

Чувство восприятия времени user’а можно «обмануть», скрасив мучительные секунды ожидания. Вот любопытное исследование на эту тему — «Faster Progress Bars: Manipulating Perceived Duration with Visual Augmentations». Исследователи из Питтсбурга выяснили, что пульсирующая полоса progress bar’а кажется на 11% быстрее, чем обычная монохромная. Может, это одна из причин сложившегося предубеждения: «мак работает быстрее»?

Вот еще интересный пример манипуляции, но уже с переносом зоны ответственности. Разработчики приложения Facebook для iOS провели A/B тестирование и сравнили реакцию пользователей на кастомный индикатор загрузки и стандартный. Выяснилось, если показывать стандартный спиннер, большинство пользователей будут считать медленным не приложение, а свой телефон. Вот так можно повысить лояльность пользователей, просто заменив анимацию.

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

И как раз тут на сцену выходит Speed Index и First Meaningful Paint. Speed Index — довольно «хитрая» характеристика. Как мы уже убедились, если пользователя развлекать — ожидание не будет для него такой большой пыткой, и время загрузки пройдет «быстрее». Speed Index во многом отражает ощущения пользователя. Итак, пусть у нас есть две одинаковые веб-страницы с TTVC 12 секунд. Страница «А» отображает большую часть контента за 1 секунду, а «B» — только под конец TTVC.

Построим график степени визуальной готовности страницы в процентах от времени загрузки. Для этого, например, можно делать скриншоты и попиксельно их сравнивать.

Speed Index будет определятся площадью над этим графиком (учитывая, что мы ограничим его сверху ста процентами). Для самых любопытных оставил формулу для расчета.

Чем Speed Index ниже — тем лучше. Получается, это совсем никакая не скорость, а скорее время, ну а по большому счету и не время вовсе. Вот такая семантическая путаница. Итак, если Time to Visually Complete отражает время до результата — полной отрисовки контента страницы в браузере — то Speed Index учитывает еще и путь, по которому мы добираемся до этого результата.

First Meaningful Paint (FMP) показывает, когда на мониторе или экране телефона пользователя уже можно что-то почитать или посмотреть — начать потреблять контент. Если кратко, ее определяют как время за которое с отображаемой страницей происходят наибольшие перемены. Подробнее можно прочитать тут. FMP для страниц «А» и «B» будут выглядеть вот так:

Наконец, давайте разместим все рассмотренные метрики (события) на временной шкале.


Как время загрузки влияет на поведение посетителей?

Какие количественные данные использовать, если мы хотим оценить реакцию посетителей на скорость загрузки страниц? Для этого хорошо подходят величины, традиционно используемые в SEO для оценки UX:


  • показатель отказов (bounce rate) — отношение числа посетителей покинувших сайт со страницы входа к их общему числу.
  • время на сайте (time per visit) — время, которое посетитель провел на сайте, прежде чем уйти
  • число страниц за посещение (pageview per visit) — сколько страниц посетитель просмотрел, прежде чем уйти
    Эти метрики зависят от многих факторов, но скорость работы веб-страницы — один из важнейших. Давайте смотреть, что нам сообщают исследования.

Что говорят сами пользователи

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

52% пользователей готовы отказаться от анимации и видео на сайте, если это сделает его быстрее.

Уже после трех секунд ожидания половина посетителей покинут страницу, и это не удивительно. У большинства веб-страниц нет progress bar’а. User не знает, сколько ему еще осталось ждать — секунду, две или десять. Он перейдет на другую вкладку, нажмет «back to previous page» или вообще закроет браузер и откроет Instagram. Учитывая, что attention span зумеров сильно сократился из-за Instagram, TikTok и прочих Twitter’ов, страницы должны загружаться молниеносно.

79% пользователей повторно не вернутся за покупкой на медленно работающий сайт.

66% пользователей считают скорость работы сайта важной частью имиджа компании.
Более того, по разным оценкам от 12% до 44% пользователей поделятся своим негативным опытом и предостерегут знакомых от использования медленного ресурса. Как заметил Дуглас Адамс в 5 части своего культового цикла «Автостопом по галактике»: «Ничто не движется со скоростью большей, чем скорость света, за исключением, может быть, плохих новостей, которые подчиняются своим, особенным законам»


«Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws»
Mostly Harmless, Douglas Adams

Что показывает статистика

На картинке ниже — как изменяется показатель отказов страниц с увеличением времени загрузки. Результаты получены Google при помощи нейросети, моделирующей поведение посетителей. Справа график для очень хорошего сайта с низким показателем отказов.

Akamai опубликовала результаты с еще более резкими зависимостями. Каждые 100 миллисекунд ожидания снижают конверсию на 7%. Каждые 2 секунды ожидания увеличивают вероятность отказа на 103%.
The Daily Telegraph совместно с Optimizely провели свое исследование в 2016 году. Они внесли дополнительную искусственная задержку при загрузке страниц, результаты — на картинке ниже. The Daily Telegraph — одна из самых популярных газет Великобритании с ежемесячной посещаемостью в 70 млн., достаточно возрастной (читай терпеливой) и лояльной аудиторией. Учитывайте это, когда будете смотреть на график.

Ну и вдогонку еще несколько оценок от гигантов e-commerce. Walmart и Amazon сообщают, что каждые сэкономленные 100 миллисекунд времени загрузки их сайта увеличивают прибыль на 1%. На Edge of Future Commercials 2016 AliExpress [заявили], что после того, как они снизили время загрузки своего сайта на 36%, число заказов возросло на 10.5%. Среди новых покупателей конверсия выросла на 27%.


Сколько секунд — хорошо?

Веб-мастера Google могли дать фору многим политикам, отвечая на вопросы про скорость загрузки в рубрике Ask Google Webmasters. Они так и не дали четкого временного интервала допустимой скорости загрузки. Нам посоветовали делать сайт настолько быстрым, насколько возможно, не впадая в крайности при погоне за PSI score, и как обычно рекомендовали сосредоточится на контенте.Прочитать про PSI score и измерить его для любого сайта вы можете здесь, а вот пост на Хабре, где его померили за вас.
Большинство ресурсов, на которые я здесь ссылаюсь, сходятся на том, что хорошее время загрузки — не более трех секунд. Разные источники понимают под этим временем разные вещи, как минимум это Visually Complete, как максимум — полная загрузка. Как показывают исследования, среднее время загрузки мобильных и десктоп страниц сильно больше этого показателя.

В первой версии отчета «Mobile page speed new industry benchmarks» среднее время загрузки лендинговых страниц составило 22 секунды.

В обновленной версии 2018 года, этот показатель улучшился до 15.3 секунд.

В 2019 году Backlinko проанализировали 5 миллионов страниц и установили, что среднее время полной загрузки мобильной страницы — 27 секунд! А среднее время полной загрузки десктоп версии — 10 секунд.

Цифры отличаются потому, что Google анализировал только лендинговые страницы, а Backlinko — все подряд. Теперь немного статистики по Speed Index. На картинке ниже — сравнение средних показателей времени загрузки веб-страниц в 2019 году. Еще раз убеждаемся, насколько Speed Index и Visually Complete — разные вещи.

В 2010 году Мэйли Охей (Maile Ohye), на тот момент Developer Programs Tech Lead в Google, сказала, что они нацелены на показатель в пол секунды. Спустя десять лет ее заявление выглядит примерно, как 2015 год в Back to the Future II.


«…studies by Akamai who found that two seconds is actually the threshold for e-commerce site acceptability. Meaning that that’s what users like to shop with. At Google, we aim for under a half second…»
Maile Ohye


Самое главное


  • В 2020 большая часть интернета все еще очень медленная, а хорошее подключение к сети позволяет в этом убедиться.
  • Скорость загрузки существенно влияет на доход, будь это продажи или реклама.
  • Люди заходят в интернет с мобильных устройств чаще, чем с десктопа.
  • Удобство и скорость мобильной версии сайта не менее важны, чем его настольной версии.
  • Удобным, быстрым и безопасным сайт нужно делать, прежде всего, для реальных пользователей, а уже потом — чтобы Google по голове погладил.
  • При индексировании сайтов в приоритете у Google мобильные версии.
  • Время полной загрузки страницы не всегда отражает реальный опыт пользователей. Нет магического числа, которое бы однозначно показывало скорость работы сайта, но есть набор общепринятых метрик.
  • Скорость работы для пользователя важнее красивой анимации, видео (если это не стриминговый сервис) и других декоративных элементов.
  • Если ваш сайт выглядит готовым к работе через 3 секунды после перехода — это хорошо.

Во второй части этого поста мы рассмотрим самые простые и эффективные способы ускорить загрузку сайта. Разберемся, как в этом могут помочь сервисы по защите и доставке контента. Обсудим, почему комплексные решения, предоставляющие защиту + ускорение как сервис, лучше подходят для большинства проектов. Заходите к нам в блог еще, будет интересно.

Какое среднее время загрузки страницы в 2020 году

От автора: по прошествии еще одного года настало время подвести итоги того, как производительность сайта сравнивается со средним временем загрузки страницы в 2020 году. Мы рассмотрим средние значения, чтобы помочь вам понять, является ли ваш сайт более быстрым чем среднестатистический.

Как вы знаете, существует множество показателей, определяющих скорость страницы сайта, и мы не можем рассматривать только один из них, чтобы определить, насколько эффективен сайт. Анализируя данные Backlinko.com и рассматривая их статью о скорости страницы, написанную Брайаном Дином, мы постараемся ответить на следующие вопросы:

Какого размера должен быть сайт?

Каково должно быть среднее время загрузки страницы в 2020 году?

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Какое количество ресурсов я должен загружать?

Каково должно быть среднее время до первого байта (задержка сервера)?

Какое влияние оказывает возросшее использование мобильных устройств?

Мобильные устройства остаются главным приоритетом

В 2017 году использование мобильного интернета превзошло использование настольных компьютеров. Спустя 3 года ситуация по прежнему остается той же — 53% посещений веб-сайтов приходится на мобильные устройства. Прогнозы на следующие несколько лет предполагают увеличение доли мобильных устройств, поскольку они становятся все более мощными и распространенными.

К сожалению, данные от Backlinko рисуют мрачную картину, когда речь заходит о просмотрах мобильного интернета. Они обнаружили, что в среднем загрузка веб-страницы на мобильных устройствах занимает на 87% больше времени, чем на настольных компьютерах. Кроме того, средне время до первого байта (TTFB) на настольных компьютерах составляет 1,28 секунды и 2,5 секунды на мобильном устройстве. Наконец, они обнаружили, что среднее время до полной загрузки веб-страницы составляет 10 секунд на настольных компьютерах и 27 секунд на смартфонах.

Очевидно, что ключевая фраза здесь «полная загрузка». Много времени уходит на обработку скриптов под капотом, программного обеспечения для отслеживания, рекламы и т. д. Это вещи, которые загружаются в фоновом режиме, даже если вы можете взаимодействовать со страницей задолго до этого. Так в чем же проблема, если пользователь этого не замечает? Это все еще разряжает батарею устройства посетителя и расходует мегабайты трафика. В целом, это огромная утечка ресурсов.

Каково будет среднее время загрузки страницы в 2020 году?

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

В исследовании средний показатель индекса скорости составляет 4,7 секунды на настольных компьютерах и 11,4 секунды на смартфонах. Рекомендации Google — индекс скорости должен быть менее 3 секунд. Сколько на вашем сайте?

Каков средний размер веб-страницы?

Важность этого показателя нельзя переоценить. Из более чем 5 миллионов проанализированных веб-сайтов общий размер страницы оказался фактором номер 1 в скорости загрузки.

Согласно HTTPArcive и их отчету о размере страниц, на момент написания статьи средний размер веб-сайта составляет 1,966 МБ для настольных компьютеров и 1,777 МБ для мобильных устройств. Рекомендация Google — менее 0,5 Мб.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

Каково среднее количество ресурсов?

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

Текущее среднее количество запросов для настольных компьютеров — 75, в то время как для мобильных устройств выполняется в среднем 70 запросов (согласно отчету о размерах страниц). На самом деле эти цифры снизились примерно на 8% по сравнению с прошлым годом, поэтому в этой области произошли значительные улучшения. Тем не менее, рекомендация Google заключается в том, чтобы количество запросов не превышало 50, поэтому работа еще не завершена.

Какова средняя задержка сервера?

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

В ходе анализа средняя скорость TTFB составила 1,28 секунды на настольных компьютерах и 2,59 секунды на мобильных устройствах. Рекомендация Google заключается в достижении времени менее 1,3 секунды. Это на самом деле выполняется в среднем для настольных компьютеров, но для мобильных устройств все еще есть необходимость в оптимизации.

Как вы тестируете свой сайт на соответствие лучшим практикам?

Теперь, когда мы знаем, каков должен быть среднестатистический сайт, пришло время протестировать свой собственный. Если у вас показатели меньше средних — отлично! Тем не менее, мы действительно хотим стремиться к тому, чтобы соответствовать критериям, которые Google устанавливает в качестве рекомендаций. Это беспроигрышный вариант, поскольку он радует ваших пользователей и гарантирует, что Google положительно оценит вас. В конце концов, вы определенно не хотите быть внизу списка и получить их знак стыда!

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

WebPageTest: отраслевой стандарт для измерения производительности сайта — результаты собираются в реальных браузерах, работающих под управлением распространенных операционных систем.

Google PageSpeed Insights: дает практические советы о том, как оптимизировать скорость веб-страницы.

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

MachMetrics: профессиональный мониторинг скорости сайта — расписание тестов для URL-адресов из различных регионов и устройств и суммирование результатов.

SpeedCurve: мониторинг производительности интерфейса

Убедитесь, что вы лучше, чем отраслевой стандарт по времени загрузки страниц в 2020 году

Как видно из первого графика, каждая секунда имеет огромное значение для показателя отказов. Если вы знаете, что у вас показатели лучше среднестатистического сайта, это огромное преимущество. Даже лучше, если вы соответствуете стандартами Google.

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

Источник: //www.machmetrics.com

Редакция: Команда webformyself.

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения

Узнать подробнее

VUE JS. Быстрый старт

Создание веб-приложения на VUE JS

Смотреть

Время загрузки страницы сайта — какое считать оптимальным и как его достичь

Performance Marketing основывается на четко и однозначно измеряемых параметрах Мы находим оптимальные решения в любой отрасли! Работаем над правильными KPI

Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подпишись на рассылку и получи книгу в подарок!


Время загрузки страницы — это время за которое производится полная прорисовка всех элементов сайта (изображения, текст и т.д.).


Больше видео на нашем канале — изучайте интернет-маркетинг с SEMANTICA

Основные понятия

Скорость загрузки сайта разделяется на два типа: клиентская загрузка и серверная. Они одинаково важны для скорости загрузки страницы, но у каждой из них свои особенности. Серверная загрузка отвечает на все запросы и этапы связанные со скоростью работы сервера (DNS запрос, установление защищенного соединения, запрос HTML страницы и ожидание и т.д.) Клиентская отвечает за все этапы загрузки страницы, зависящие от сайта и его изначального наполнения.

Среднее время загрузки страницы сайта варьируется от улучшенного времени загрузки (1-1,5 секунды) до оптимального в 2 секунды. Замедление скорости загрузки страницы даже на 200 милисекунд приводит к потере тридцати шести процентов переходов за шесть недель. Если же время загрузки замедлится еще вдвое (400 мс) то процент переходов упадет на семьдесят шесть процентов.

Медленными считаются сайты на загрузку которых тратится от 3 секунд и более.

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

Измерение скорости работы сайта

Один из самых животрепещущих вопросов, связанных с измерением скорости сайта – это что измерять? Ниже представлены основные важные пункты важный для того, чтобы проверить время загрузки страницы сайта:

  • Загрузка основных элементов страницы.
  • Полная загрузка сайта.
  • TTFB – time to first bite. Это время, за которое страницы выдает первые результаты загрузка.
  • Начало рендеринга (измерения покажет время от конца «белого экрана» до прорисовки элементов страницы).

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

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

  • Использовать панель разработчика в браузере.
  • Запустить аудит сайта (через вкладку Audits. Используя плагин, мы получаем скорость работы сайта на мобильных устройствах).
  • Использовать веб-сервис (например WebPagetest. Сервис загрузит сайт в браузере и даст отчет по этапам и метрикам).
  • Воспользоваться сервисом Google PageSpeed Insights (не дает детального отчета, но поможет быстро сформировать основные моменты из-за которых сайт «тормозит»).

Эти способы связаны с измерением клиентской скорости. Когда измеряется серверная скорость, чаще всего это делает веб-мастер и для измерения скорости он проверяет:

  • Ресурсы хостинга,
  • Сервисы базы данных,
  • Влияние CMS и программного кода,
  • Кэширование.

Оптимизация скорости работы сайта

Оптимизация скорости загрузки страницы это одна из самых важных глав для успешности вашего сайта.

Google и Яндекс, например, оценивает скорость загрузки сайта как фактор по которому распределяется место выдачи. Чем выше скорость загрузки – тем выше по списку будет стоять ваш сайт. Это происходит по одной простой причине – если первыми по списку будут стоять сайты с низкой скоростью, то со временем пользователь откажется от использования поисковика, который выдает такие результаты.

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

Клиентская

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

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

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

https://developers.google.com/speed/pagespeed/insights/?hl=ru

Также довольно точным является Pingdom Tools. Советов и рекомендаций он не даст, но зато предоставит подробную сводную таблицу с процентным соотношением, которая покажет какой из элементов вашего сайта замедляет интернет.

https://tools.pingdom.com/

  1. Провести анализ основного контента сайта. Сжимание размера картинок и оптимизируя дизайн можно сильно ускорить время загрузки сайта.
  2. Сократить количество рекламы.
    Да, безусловно, количество рекламы напрямую влияет на вашу прибыль. Но не стоит забывать, что ее излишнее количество, увеличивая оптимальное время загрузки сайта уведет от вас потенциального пользователя, а значит повлияет на целевую аудиторию. Реклама влияет как на скорость загрузки, так и на поведенческий фактор. Избыток рекламных баннеров отпугнет потенциального посетителя.
  3. Проанализировать ошибки в коде (валидация).
  4. Воспользоваться хорошим хостингом.

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

Серверная

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

  1. Сбрасывание кэша.
    Самый простой и популярный способ ускорения работы сервера. Этот способ связан с тем, что не все элементы страницы легко кэшируются, и если вопрос замедления можно решить этим способом, то он наиболее эффективен.
  2. Улучшение сервиса базы данных.
    Один из мощных способов, с помощью которого, можно получить действительно сильное ускорение.
  3. Оптимизация «движка» сайта.
    В частности, оценить все дополнительные модули, плагины, которые работают не только с серверной стороны, но и со стороны создателей страницы и сайта.
  4. Вынос статического контента.
    Перенос статического контента в память и снятие этой задачи с сервера.

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

4 отчета Яндекс.Метрики, о которых все знают, но которыми не все пользуются

За технической частью сайта и его корректной работой нужен постоянный контроль. Это как с автомобилем. Не будет своевременного ТО, может и подвести.

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

Отчет «Мониторинг – Время загрузки страниц»

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

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

Отчет «Мониторинг – Время загрузки страниц» позволяет по каждой странице сайта увидеть такие важные параметры, как время до отрисовки (сколько времени пользователь видел пустой экран), время ответа сервера, время загрузки страницы.

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

Время до загрузки DOM – это время от начала перехода на страницу до полной загрузки страницы со всеми ее компонентами: изображениями, CSS, скриптами и многим другим. Часть таких компонентов пользователь видит, некоторые из них являются служебными, и обычный юзер «пощупать» их не может. Наиболее оптимальная скорость загрузки сайта составляет 1–2 секунды. Увеличение этого времени прямо пропорционально проценту отказа, иными словами, вероятности ухода пользователя с сайта до его полной загрузки. Пороговым значением для высокого процента отказов является время в 15 секунд. Все, что грузится дольше – малоэффективный программный продукт.

Значимую роль, как базовая составляющая отчета, играет и время, потраченное на отработку запросов к DNS в процессе загрузки страницы. Данный показатель отмечен в отчете как «DNS». Кстати, значения с нулевым временем не учитываются по умолчанию.

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

Отчет «Мониторинг – Результаты проверки»

Продолжает начатую выше историю отчет «Время загрузки страниц».

Если сайт не загружается дольше 10 секунд и эта ситуация повторяется из раза в раз, приравнивая «сейчас» к вечности, проблема может быть в низкой эффективности работы веб-сервера, который принимает запросы пользователей при клике на страницы вашего сайта и выдает им информацию в виде отрисованных страниц в браузере. Ждать загрузки вечно никто не будет, а вам, возможно, стоит задуматься о смене сервера.

В рассматриваемом отчете наиболее частый код ответа сервера «No response received after 10 s». Это означает, что от веб-сервера не получено ответа в течение 10 секунд. Одной из причин этого может быть перегруз сервера и, как следствие, его неспособность быстро обработать запрос. «Internal Server Error» и вовсе может говорить о сбое в работе программного обеспечения сайта. Появление подобных кодов ответа в отчете еще раз сигнализирует о низкой скорости загрузки анализируемого ресурса.

Отчет «Технологии – Браузеры»

Кто-то любит «Яндекс», кто-то пользуется исключительно «Google Chrome». На вкус и цвет, как известно, все карандаши разные. Многие владельцы сайтов любят мерить аудиторию сайта по себе. «Я вот, например, пользуюсь/не пользуюсь Яндексом/Хромом/Мозиллой и т.д.», – слышим мы почти от каждого клиента.

Выводы стоит делать не по своей субъективной оценке, а на основе информации из отчетов. Чаще всего, субъективное мнение далеко от реальности.

Именно поэтому категорией отчетов «Технологии – Браузеры» не стоит пренебрегать. Ведь в разных браузерах (и их версиях) сайт может выглядеть и загружаться совершенно по-разному.

Часто некорректное отображение сайта влияет на число обращений и показатели вовлеченности:

Как видите, в некоторых браузерах показатели вовлеченности заметно проигрывают. Почему? Откройте, протестируйте, посмотрите Вебвизор, что именно не так. В нашей практике был случай: в нескольких браузерах сайт клиента не вмещал на экране кнопку «Оставить заявку» в каталоге. Пользователи уходили с сайта, так и не находя возможности сделать заказ из каталога. А наш клиент ежедневно терял долю возможных обращений. Диагностировать ошибку, допущенную разработчиками сайта, помог именно отчет по браузерам.

Отчет «Технологии – Устройства»

Около 60% пользователей ищут нужную информацию в интернете через мобильные гаджеты – смартфон или планшет. Оперативно узнать, с каких именно устройств посетители заходят на страницы сайта, позволяет отчет «Технологии – Устройства». Благодаря ему можно вовремя диагностировать и устранить проблему некорректного отображения или функционирования сайта с мобильных устройств. Например, если показатель отказов с мобильных и планшетов выше, чем с десктопа – с мобильной версией вашего сайта явно что-то не так, стоит протестировать, что заставляет пользователей уходить со страницы? Ведь чем эффективнее сайт будет работать с каждого типа устройств, тем выше будет отдача.

***

Все рассмотренные выше отчеты не только можно, но и нужно комбинировать, фильтровать признаки для рассмотрения более узких разрезов пользовательского поведения. Скорость загрузки сайта с мобильных устройств, работа сайта в разных браузерах и на разных устройствах – это, конечно, уже момент «дошлифовки». Для начала необходимо проверить и периодически контролировать показатели базовых отчетов.

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

10 советов как сократить время загрузки страницы

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

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

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

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

Хотя это новшество не особо имеет вес по сравнению с другими функциями рейтинга Google, однако надо учитывать при планировании оптимизации вашего сайта в seo целях.

Ниже мы приводим некоторые советы для ускорения загрузки вашего сайта в несколько раз.

1. Проверить текущую скорость загрузки сайта

Первое, что вам нужно сделать — проанализировать текущую скорость страницы. Это позволит вам отслеживать степень загрузки и обеспечить любые изменения положительно влияющие на время загрузки страницы.

Есть множество бесплатных инструментов для проверки скорости загрузки страницы вашего сайта. Вот некоторые из них:

Pingdom предлагает простой инструмент для тестовой проверки скорости всего вашего сайта, он имитирует скорость загрузки страницы в веб-браузере. На главной странице в предлагаемое окошко вводите адрес своего сайта и нажимаете на кнопку «Test now». Через несколько секунд ресурс выдает вам информацию по загрузке всех страниц вашего сайта. Результаты разделены по цветам: зеленая — наилучшая загрузка, желтая — обратите внимание, а красный свет — очень медленная загрузка.

Page Speed — бесплатный инструмент от Google и является дополнением к Firefox с открытым кодом. Служит для оценки производительности веб-страниц, а также можно получить предложения как исправить возникшие проблемы по загрузке.

Как улучшить скорость загрузки страницы

Web Page Test еще один замечательный инструмент, который покажет вам скорость и производительность вашего сайта в различных браузерах. Правда для России он покажет вам в Iexplore8, а для других стран в IE7-9, Chrome. Тестировать можно как простые текстовые страницы, так и захват видео.

2. Оптимизация изображений

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

  • GIF —  идеально подходит для изображений с несколькими цветами, как логотипы.
  • JPEG —  отлично подходит для изображений с множеством цветов и деталей, таких как фотографии.
  • PNG — оптимален для прозрачного фона изображений.

3. Как уменьшать изображения

Старайтесь не использовать более крупное изображение, чем нужно, просто потому, что вы можете установить ширину (width) и высоту (height) в атрибутах элементов HTML.

Если вам нужно изображение 100x100px, а у вас есть размер изображения 700x700px, используйте графический редактор для уменьшения изображения, как Photoshop или любые другие веб-редакторы изображений, чтобы изменить размер изображения до нужного. Это уменьшает размер файла изображения, тем самым помогая сократить время загрузки страницы.

4. Сжатие и оптимизация Вашего контента

Задача сжатия вашего контента на сайте может иметь огромное влияние на скорость загрузки. При использовании HTTP-компрессия, все данные веб-страниц будут отправлены в один файл меньшего размера, а не на запрос, который полон различных файлов. Более подробную информацию см. в этой статье Википедии о Сжатие HTTP .

Вы также можете оптимизировать и сжать JavaScript и CSS-файлы, комбинируя их и уменьшая исходный код.

5. Разместите стили в шапке страницы

Переместите ссылки стилей до тега вашего HTML документа, и вы почувствуете разницу загрузки страницы, так как это позволяет отображаться стилям постепенно на вашей странице, кроме того, это является стандартом W3C.

6. Разместите ссылки на сценарии внизу страницы

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

Чтобы избежать такой ситуации, место ссылки на сценарии надо ставить как можно ниже HTML-документа, желательно прямо перед закрытием тега.

7. Место JavaScript и CSS во внешних файлах

Если Ваши JavaScript и CSS находятся прямо в вашем HTML-документе, то они будут загружаться каждый раз, когда будет открываться страница, на которой они расположены. Также это увеличивает размер самой страницы.

Всегда размещайте CSS стили и скрипты JavaScript во внешних файлах, результатом этого будет более быстрая загрузка страниц вашего сайта.

8. Минимизация HTTP-запросов

При посещении новой веб-страницы, затрачивается время на загрузку компонентов этой странице (например, изображения, таблицы стилей и скрипты). Если свести к минимуму число запросов веб-страницы, то тогда она будет грузиться быстрее. Чтобы уменьшить HTTP-запросы на картинки, используйте CSS спрайты для объединения нескольких изображений.

Если у вас несколько стилей и JavaScript библиотек, рассмотрите вопрос об объединении, чтобы сократить количество запросов HTTP.

9.Кэш веб-страниц

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

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

Для WordPress, используйте плагин WP Super Cache и W3 Total Cache(также прочитайте эту запись WordPress Кодекс об оптимизации / кэширование WordPress ).

Ядро Drupal имеет встроенную систему кэширования.

10. Сократите 301 редирект

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

Если возможно, старайтесь не использовать 301 редирект.

Скорость загрузки страницы

Почему это важно

Открывая любую страницу в сети интернет, будь это почта «gmail.com», поисковая система «yandex.ru» или социальная сеть «vk.com», – ваш браузер тратит время (как правило, это секунды) на загрузку всех компонентов сайта: изображения, текст и остальное содержимое страницы. Время, затраченное на загрузку всех элементов страницы, называется «Скорость загрузки страницы».

Что говорит официальная справка Google:

Google стремится предоставлять пользователям наиболее релевантные результаты. Быстро работающие сайты повышают удовлетворенность пользователей и улучшают общее качество работы Интернета (особенно для пользователей, использующих медленное соединение). Мы надеемся, что по мере улучшения веб-мастерами своих сайтов повысится общая скорость работы Интернета.

Что говорит официальная справка Яндекс:

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

 

Влияние скорости загрузки на поведение пользователей:

 

Рис. 1 Влияние скорости загрузки на поведение пользователей

Инструменты

Для проверки скорости загрузки страниц существует множество сервисов и программ.

Для проверки скорости загрузки страницы в разных регионах рекомендуем сервис Host Traceker. 

Рис. 2 Проверка по регионам

Плагин проверки «Сеть»

Плагин для FireFox «FireBug» содержит в себе плагин «Сеть», который также показывает подробную загрузку страницы в вашем регионе.

При помощи данного плагина вы сможете узнать, какие элементы (скрипты, картинки, flash элементы) увеличивают скорость загрузки ваших страниц. С помощью его можно определить для каждой страницы время отдачи html кода страницы и полное время загрузки страницы. Время отдачи html кода страницы должно быть до 200-300 мс. Полное время загрузки страницы не должно превышать 2-3 сек.

Рис. 3 Проверка через плагин «Сеть»

Скачать плагин можно здесь.

Последствия низкой скорости загрузки

Скорость загрузки страницы сайта – один из факторов, который учитывают поисковые системы для ранжирования сайта.

Для просмотра эффективности загрузки страниц вашего сайта необходимо зайти в панель веб мастеров Google, открыть вкладку «Лаборатория» и выбрать раздел «Эффективность сайта».

Плохая скорость загрузки страницы:

Рис. 4 Пример низкой скорости загрузки страницы

Рис. 5 Пример высокой скорости загрузки страницы

Изучив данные аналитики,  можно заметить, что слишком долгая загрузка страниц является причиной выхода пользователя из сайта:

Рис. 6 Показатели отказов посетителей сайта

Решение задачи

У компании Google существует плагин «Page Speed», который может указать вам на ваши критические ошибки, увеличивающие скорость загрузки страницы.

Рассмотрим основные ошибки, увеличивающие скорость загрузки страницы.

Лишние элементы кода:

Java скрипты – необходимо скрипты опустить в конец страницы для более быстрого отображения основной информации на странице

Рис. 7 Java скрипты

Сжатие Java скриптов

Рис. 8 Сжатие java скриптов

Изображения:

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

Размер изображений – в случае, если это не фото товара (которые можно увеличить и просмотреть подробно), необходимо использовать изображения того же размера, который отображается на сайте. То есть, нет смысла использовать картинку с разрешением 600×480, если на странице она отображается размером 128×128.

Рис. 9 Размер изображения

Атрибуты размеров картинки – необходимо указывать атрибут размера картинок для того, чтобы поисковый робот смог с первой индексации, проиндексировать все картинки страницы.

Рис. 10 Атрибуты размеров картинки 

Остальные элементы страницы:

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

Рис. 11 Сжатие Gzip 

Чистый HTML код страницы:

Необходимо исключить неактивные теги, такие, как комментарии, и другие, не используемые поисковым роботом

Рис. 12 HTML

Выводы

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

Процесс загрузки страницы | Документация New Relic

В этом документе объясняется:

  • Как загружается веб-страница
  • Как мониторинг браузера измеряет время загрузки страницы, также известное как мониторинг реальных пользователей (RUM)

Процесс загрузки страницы

Вот основные шаги в загрузка большинства веб-страниц. Цифры 1-6 на схеме соответствуют пронумерованным шагам ниже.

Временная шкала загрузки страницы: Шаги, связанные с загрузкой веб-страницы.Диаграммы мониторинга браузера отображают следующие сегменты этого процесса: Сеть , Веб-приложение , Обработка DOM и Отображение страницы .

  1. Загрузка страницы начинается, когда пользователь выбирает гиперссылку, отправляет форму или вводит URL-адрес в браузере. Это также называется начальным запросом или началом навигации . Действие пользователя отправляет запрос по сети на сервер веб-приложений.
  2. Запрос поступает в приложение для обработки. (Запрос может занять некоторое время, прежде чем начнется обработка запроса. Это может быть результатом постановки запроса в очередь или другими факторами.)
  3. Приложение завершает обработку и отправляет ответ в формате HTML обратно по сети на сервер пользователя. браузер. Это иногда называют начало ответа или первый байт .
  4. (время до первого байта) Браузер пользователя начинает получать ответ HTML и начинает обрабатывать объектную модель документа или DOM .
  5. DOM завершает загрузку; эта точка известна как DOM ready . Используя DOM, браузер пользователя начинает отображать страницу.
  6. Страница завершает рендеринг в браузере пользователя, и срабатывает событие загрузки окна . (Для страниц, использующих асинхронную загрузку, некоторые элементы могут продолжать загружаться после того, как произойдет событие загрузки окна.)

Диаграммы времени загрузки страниц в мониторинге браузера

Мониторинг браузера захватывает основные сегменты времени загрузки страницы в браузере Сводная страница и просмотров страницы страниц.Если у вас включен мониторинг SPA, у вас будет доступ как к этой диаграмме, так и к диаграммам, относящимся к SPA. На диаграммах показаны:

  • Сеть
  • Время веб-приложения
  • Обработка DOM
  • Отрисовка страницы
  • Другие сегменты, если применимо, например очередь запросов

Цвета диаграммы соответствуют цветам на диаграмме времени загрузки страницы.

one.newrelic.com > Браузер > (выберите приложение) > Сводка : Диаграмма времени загрузки отображается на странице Сводка и Просмотров страниц.

Способ, которым браузер собирает это время, зависит от способности браузера использовать API спецификации времени навигации. Вы можете добавить настраиваемые события времени загрузки страницы с помощью API агента браузера.

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

Веб-приложение

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

Сеть

Сетевой уровень включает время, затраченное на переадресацию, а также на запрос и получение HTML. Это не включает время на сервере или для статических активов.

Измерение сетевого времени начинается с первого щелчка по ссылке. Сетевое время включает DNS и может включать более одного поиска, если на вашем сайте есть перенаправления, TCP (включая брандмауэр, если вы не настроили мониторинг времени очереди запросов) и время соединения SSL.

  • Если вы настроили мониторинг времени очереди запросов, то сетевое время не включает время очереди запросов, которое идет после заголовка X-Request.

  • Если вы не настроили мониторинг времени очереди запросов, то сетевое время действительно включает все время очереди запросов.

    API спецификации синхронизации навигации предоставляет подробную разбивку сетевого времени. (Для старых браузеров таймер запускается «перед событием выгрузки».)

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

    Для получения дополнительных сведений о том, как это внутреннее время разбивается с точки зрения браузера, используйте страницу Session traces . Трассировка сеанса сообщает обо всех доступных событиях, связанных с сетью, поэтому вы можете видеть в каждом конкретном случае, как браузер тратит время на поиск DNS и другие сетевые события.

    Important

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

Обработка DOM

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

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

Отрисовка страницы

Фаза отрисовки страницы — это время между завершением DOM и событием загрузки окна. Этот этап измеряет обработку содержимого страницы на стороне браузера и часто включает время загрузки скриптов и статических ресурсов.

Очередь запросов

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

Запросы сервера приложений и транзакции браузера

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

Выбросы

Независимо от того, насколько хорошо работает ваше приложение, будут некоторые медленные браузеры, платформы и сети, из-за которых ваше общее совокупное время отклика будет выглядеть медленнее.Чтобы свести к минимуму перекос, вызванный выбросами, время загрузки страницы фиксирует и масштабирует время отклика конечного пользователя, которое превышает значение параметра Apdex T в браузере более чем в 4,5 раза, до 4,5-кратного значения Apdex T или до 13,5 секунд, в зависимости от того, что больше. (Выбросы гистограммы обрезаются на уровне 95%.)

Например, если пороговое значение Apdex T для конечного пользователя вашего приложения составляет 8 секунд, это время отклика будет ограничено 36 секундами. Это сводит к минимуму влияние этого времени отклика на ваше приложение в целом, но по-прежнему обеспечивает учет «разочарованных» оценок Apdex.

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

Как сократить время загрузки содержимого DOM?

Ниже приведены несколько советов по сокращению времени загрузки веб-страницы.

  1. Проверьте текущую скорость веб-сайта.
  2. Оптимизируйте изображения.
  3. Не уменьшать изображения.
  4. Сжатие и оптимизация содержимого .
  5. Поместите ссылки на таблицы стилей вверху.
  6. Поместите ссылки на сценарии внизу.
  7. Поместите JavaScript и CSS во внешние файлы.

Нажмите, чтобы увидеть полный ответ.

Итак, что такое время загрузки содержимого DOM?

domContentLoaded — это момент, когда DOM готов и нет таблиц стилей, блокирующих выполнение JavaScript 1 . Это событие обычно отмечает, когда и DOM , и CSSOM готовы.Это означает, что теперь можно построить дерево рендеринга.

Кроме того, как сократить время загрузки фотографий? Теперь давайте рассмотрим некоторые важные решения для повышения скорости, которые должен учитывать каждый веб-мастер.

  1. Оптимизация изображений. Изображения являются одними из самых распространенных пожирателей пропускной способности в Интернете.
  2. Кэширование браузера. Зачем заставлять посетителей загружать одни и те же вещи каждый раз, когда они загружают страницу?
  3. Сжатие.
  4. Оптимизируйте свой CSS.
  5. Держите свои сценарии в тайне.

Можно также спросить, как я могу сократить время загрузки?

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

  1. Оптимизация кеша улучшает время загрузки страницы.
  2. Сокращение синтаксического анализа JavaScript для достижения идеального времени загрузки страницы.
  3. Откажитесь от перенаправлений и улучшите скорость веб-сайта.
  4. Сократите JavaScript и таблицы стилей, чтобы ускорить работу вашего сайта.

Почему мой сайт так долго загружается?

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

Время загрузки страницы

и время отклика — в чем разница?

Быстрый и надежный мониторинг веб-сайтов

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

Время загрузки

Время загрузки страницы — другой, но не менее важный показатель. Время загрузки — это более простое понятие, относящееся к времени, которое требуется для загрузки и отображения всей отдельной веб-страницы. Сюда входят все элементы страницы, такие как HTML, скрипты, CSS, изображения и сторонние ресурсы.

Вот типичный процесс запроса-ответа, увеличивающий время загрузки:

  • Пользователь вводит URL-адрес, и браузер отправляет запрос на сервер
  • Веб-сервер обрабатывает запрос и отправляет ответ обратно в браузер
  • Браузер начинает получать содержимое страницы
  • Вся страница загружается и становится доступной для пользователь для просмотра

Время загрузки — это время, прошедшее между отправкой пользователем URL-адреса и тем, что вся страница становится доступной в браузере для просмотра пользователем.Следовательно, вы обнаружите, что время загрузки часто намного превышает время отклика веб-сайта.

С помощью Pingdom вы можете отслеживать время загрузки страницы двумя способами:

  • Мониторинг скорости загрузки веб-страницы. Подробное тестирование сообщает о размере и времени загрузки каждого элемента на вашем веб-сайте, от HTML и CSS до шрифтов, изображений и конечного времени загрузки. Кроме того, он содержит предложения по увеличению скорости загрузки.
  • Мониторинг реальных пользователей — Pingdom отслеживает реальных пользователей на вашем сайте и сообщает о фактическом времени загрузки ваших посетителей.Вы можете использовать эти данные, чтобы лучше понять, как время загрузки вашего сайта зависит от таких факторов, как местоположение, устройство или браузер. Вы также можете отслеживать время загрузки за период до 400 дней, что поможет вам увидеть, влияют ли какие-либо стратегии оптимизации, которые вы внедрили, на скорость сайта.

Время загрузки страницы и время отклика — какое из них следует отслеживать?

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

В рекомендациях Google по скорости загрузки страниц для мобильных устройств указано следующее:

  • Среднее время до первого байта — рекомендуемая практика: менее 1,3 секунды
  • Среднее время отображения контента пользователям — рекомендуемая практика: менее 3 секунд , ваши посетители слишком долго ждут, чтобы получить доступ к вашему контенту. Недовольные пользователи будут стоить вам потенциальных клиентов, продаж и конверсий.

    Google также сообщил следующее:

    • Страницы, загрузка которых занимает 1–3 секунды, увеличат вероятность отказов на 32%.
    • Страницы, загрузка которых занимает 1–5 секунд, увеличат показатель отказов на 90%.

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

    Медленное время отклика

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

    • Проблемный сервер — Если время отклика постоянно велико, это может указывать на то, что ваш сервер перегружен.Обратитесь к своему веб-хостингу — ваши данные о времени отклика могут помочь им решить проблему, — но вам, возможно, придется подумать о переходе на пакет VPS или выделенного сервера.
    • Пропускная способность — Медленное время отклика также может способствовать проблемам с пропускной способностью. Свяжитесь с вашим хостинг-провайдером и обсудите проблему — возможно, пришло время обновить планы хостинга. Инвестиции в высококачественную сеть доставки контента (CDN) также могут быть хорошим вариантом.
    • Время простоя — Часто существует прямая зависимость между высоким временем отклика и временем простоя.Если ваше время отклика велико, следите за временем безотказной работы, чтобы убедиться, что ваш сайт не страдает от постоянных сбоев.

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

    Медленная загрузка

    Многие факторы могут вызывать высокую скорость загрузки.Pingdom предоставляет подробные отчеты о времени загрузки вашей страницы, позволяя вам детализировать и определять компоненты, вызывающие проблемы.

    • Оценки производительности — Оценки производительности Pingdom основаны на времени загрузки страницы и дают вам общее представление о том, как работает ваш сайт и что нужно улучшить.
    • Размер элемента — Pingdom отслеживает каждый элемент страницы (включая HTML, JavaScript, CSS, изображения и т. д.) и сообщает размеры отдельных файлов. Это поможет вам определить любые раздутые компоненты, которые необходимо оптимизировать.В зависимости от проблемы вам может потребоваться сжать изображения, удалить ненужные пользовательские шрифты, сжать ваши файлы или реализовать другие стратегии оптимизации.
    • Время загрузки элементов — Pingdom также сообщает время загрузки отдельных элементов страницы и порядок их загрузки. Pingdom делает скриншоты процесса загрузки с интервалом в 50 миллисекунд и представляет их в виде диафильма, чтобы вы могли анализировать, что происходит во время загрузки вашего сайта, и выявлять узкие места, влияющие на скорость загрузки веб-страницы.В зависимости от результатов вам может потребоваться изменить порядок загрузки скриптов и стилей на вашем сайте.

    Заключительные мысли о времени загрузки страницы и времени отклика

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

    У вас есть вопросы по улучшению времени загрузки страницы и времени отклика? Если это так, пожалуйста, спросите в комментариях ниже.

    Как проверить время загрузки веб-сайта

    В этой статье объясняется, насколько важно регулярно отслеживать время загрузки веб-сайта. Также будет обсуждаться, как пользователи могут проверять время загрузки веб-сайта на различных реальных устройствах и в различных браузерах с помощью одного бесплатного инструмента.

    Время загрузки страницы играет решающую роль в определении рейтинга сайта. Это уже не секрет, потому что Google считает скорость веб-сайта решающим фактором, прежде чем ранжировать его. Об этом было публично объявлено еще в 2010 году. В результате веб-сайт, который загружается быстрее, обязательно будет иметь хороший рейтинг и получит значительный рост органического трафика.

    Оптимизация скорости веб-сайта для мобильных браузеров не менее важна для бизнеса, поскольку мобильный веб-трафик составляет 52% от общего веб-трафика.

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

    Пользователи получают доступ к веб-сайтам через тысячи различных устройств и браузеров. Однако тестирование скорости веб-сайта на различных реальных устройствах и в разных браузерах может оказаться сложной задачей без подходящих инструментов.Кроме того, вычисление соответствующих показателей, таких как время до первого байта (TTFB), время отклика, время загрузки страницы, обработка DOM для каждого браузера, может быть трудоемкой задачей, особенно если ее необходимо выполнять вручную.

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

    Ключевые показатели для проверки времени загрузки веб-сайта
    • TTFB: Время до первого байта (TTFB) представляет собой время, необходимое веб-браузеру или мобильному браузеру для получения первого байта ответа от сервера после запроса определенного URL
    • Время загрузки страницы: Представляет время, необходимое для полного отображения содержимого определенной страницы
    • Время ответа: Представляет время, необходимое для полного получения первого ответа от сервера. Представляет время, необходимое для синтаксического анализа HTML в DOM и извлечения или выполнения скриптов.
    • LCP: LCP или Largest Contentful Paint — это метрика, которая передает время, необходимое для рендеринга самого большого текстового блока или изображения в области просмотра.Время оценивается относительно начала загрузки страницы.
    • FID: FID или задержка первого ввода отслеживает время от первого взаимодействия пользователя со страницей (например, нажатия ссылки или кнопки) до момента, когда браузер фактически начинает обрабатывать обработчики событий для реагирования на это взаимодействие. .

    Чтобы проверить время загрузки веб-сайта на нескольких устройствах и в разных браузерах, группам контроля качества необходим надежный инструмент. Он должен мгновенно генерировать подробный отчет, который предоставляет полезную информацию о ключевых показателях, таких как TTFB, время отклика, время загрузки страницы и т. д.

    Лаборатория скорости BrowserStack — один из таких инструментов для проверки скорости веб-сайта. Это позволяет командам проверять время загрузки веб-сайта на реальных настольных и мобильных устройствах, а также в браузерах (Chrome, Safari, Firefox и т. д.).

    Совет: Недостаточно проверить, быстро ли загружается веб-сайт в одном браузере или версиях одного браузера. Тестировщики должны убедиться, что он загружается в нескольких браузерах — старых и новых версиях каждого. Анализируйте веб-сайты на предмет уровней скорости при выполнении тестов совместимости браузеров.

    Используйте облако реальных устройств BrowserStack, чтобы проверить скорость вашего веб-сайта в 3000+ реальных браузерах и устройствах . Просто зарегистрируйтесь бесплатно, выберите нужную комбинацию браузер-устройство-ОС и начните тестирование скорости сайта.

    Запуск кросс-браузерных тестов в реальных браузерах

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

    Шаги для проверки времени загрузки веб-сайта
    1. Посетите SpeedLab
    2. Введите URL-адрес веб-сайта
    3. Нажмите кнопку «Пуск»

    Инструмент немедленно запустит тесты в наиболее часто используемых браузерах и устройствах. операционные системы. Созданный отчет показывает результаты тестов, оцененные из 100 для мобильных и настольных устройств. Он также отображает самые быстрые и самые медленные комбинации устройств и браузеров для рассматриваемого веб-сайта.

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

    Рядом со списком устройств и браузеров находится кнопка Live Test , которая позволяет пользователям вручную проверять скорость веб-сайта на определенной комбинации устройства и браузера. Все эти тесты выполняются на реальных устройствах, размещенных в облаке реальных устройств BrowserStack.

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

    Проверка времени загрузки веб-сайта

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

    Основы скорости страницы

    При разработке сайта важно знать основы скорости страницы, чтобы лучше понимать, что нужно оптимизировать. Браузеры извлекают и отображают контент довольно надежным образом; понимание того, как отображаются веб-страницы, поможет вам надежно предсказать, как ваш выбор дизайна повлияет на скорость страницы вашего сайта. Мы постараемся оптимизировать для:

    • Количество ресурсов (таких как изображения, шрифты, HTML и CSS), загруженных на страницу
    • Размер файла этих ресурсов
    • Восприятие производительности вашего сайта вашими пользователями

    В дополнение к тому, что пользователи видят, когда их браузер отображает контент, есть дополнительные улучшения, которые вы можете внести в серверную часть, включая оптимизацию любой работы, которую должен выполнить сервер, чтобы вернуть первый байт клиенту.Время загрузки страницы зависит не только от того, что происходит во внешнем интерфейсе вашего сайта, например, от запросов к базе данных или компиляции шаблонов в HTML. Однако, как говорит Стив Содерс, «от 80 до 90% времени отклика конечного пользователя тратится на внешний интерфейс». Поскольку именно здесь находится подавляющее большинство пользовательского опыта, мы сосредоточимся на внешних аспектах времени загрузки страницы.

    Как браузеры отображают содержимое

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

    Сначала браузер отправляет запрос на получение содержимого. В первый раз, когда браузер делает запрос к новому домену, ему нужно найти сервер, на котором находится этот контент. Это называется поиском DNS . Поиск DNS определяет, где в Интернете находится ваш веб-хост, чтобы запрос контента мог пройти весь путь до вашего сервера. Браузер будет помнить это местоположение в течение установленного периода времени (определяемого настройками DNS для вашего сервера), поэтому ему не нужно тратить драгоценное время на поиск для каждого запроса.

    Как только ваш сервер установит соединение с браузером пользователя и получит свой первый запрос, он расшифрует запрос и найдет контент, который ищет браузер, когда он пытается отобразить страницу. Затем ваш сервер отправит обратно этот контент, будь то изображение, CSS, HTML или другой тип ресурса, и браузер начнет загружать его и отображать страницу для пользователя. Рисунок 2-1 иллюстрирует этот цикл.

    Рисунок 2-1. Цикл времени загрузки страницы между браузером вашего пользователя и контентом на вашем сервере.

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

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

    запросов

    Оптимизация размера и количества запросов, необходимых для создания вашей веб-страницы, окажет огромное влияние на время загрузки страницы вашего сайта.Чтобы проиллюстрировать, как запросы влияют на общую скорость страницы, давайте рассмотрим пример каскадной диаграммы с использованием WebPagetest. (Мы рассмотрим, как использовать WebPagetest, в главе 6.) Каскадная диаграмма, такая как на рис. 2.2, показывает, сколько времени требуется для запроса содержимого страницы, такого как CSS, изображения или HTML, и сколько время, необходимое для загрузки этого контента перед его отображением в браузере.

    Рисунок 2-2. Каждая горизонтальная линия на каскадной диаграмме представляет собой отдельный запрос актива.

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

    Естественно, чем больше фрагмент запрашиваемого контента, тем дольше он загружается, обрабатывается браузером и отображается на странице.Кроме того, чем больше независимых фрагментов контента требуется для отображения страницы, тем больше времени потребуется для полной загрузки страницы. Вот почему мы стремимся оптимизировать как размер, так и количество файлов изображений, CSS и JavaScript, которые необходимы для загрузки вашего сайта.

    Например, когда мы работаем с изображениями, мы можем организовать отдельные запросы изображений в один спрайт (то есть набор изображений), чтобы сократить количество запросов, которые должен сделать браузер (мы рассмотрим этот метод в «Спрайты»).Мы также можем запускать каждое изображение с помощью инструментов сжатия, которые уменьшают размер файла изображения без ущерба для его качества (подробнее читайте в разделе «Дополнительное сжатие»). Мы также сосредоточимся на сокращении общего количества файлов CSS и JavaScript и их загрузке в наилучшем порядке для воспринимаемой производительности, как описано в разделе «Загрузка CSS и JavaScript». Оптимизация размера и количества запросов, необходимых вашему браузеру для загрузки вашей страницы, поможет вам оптимизировать скорость вашего сайта.

    Соединения

    Количество запросов , которое требуется для загрузки вашей страницы, отличается от количества подключений , которые ваш браузер делает для получения этого контента.В WebPagetest представление Connection (рисунок 2-3) показывает каждое соединение с сервером и запросы, полученные через него.

    Рисунок 2-3. Представление «Подключение» в WebPagetest показывает каждое подключение к серверу и полученные запросы.

    Для каждого подключения вы можете увидеть поиск DNS для домена (темно-зеленый), начальное подключение к серверу (оранжевый) и, возможно, согласование SSL перед тем, как браузер начнет извлекать контент (ярко-розовый) для ресурсов, обслуживаемых через HTTPS.Но браузеры умны и пытаются оптимизировать загрузку контента, как только у них открыто это соединение с вашим сервером.

    Что такое согласование SSL?

    SSL-согласование происходит, когда браузер делает безопасный запрос контента, также известный как зашифрованное соединение HTTPS . Браузер пользователя и сервер согласовывают зашифрованные ключи и сертификаты, чтобы установить безопасное соединение друг с другом. Поскольку это согласование SSL требует обмена между браузером и вашим сервером, оно увеличивает время загрузки страницы.

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

    Вы также заметите, что браузер (в данном случае Chrome) установил несколько открытых соединений одновременно, распараллелив количество контента, который он может получить.Количество одновременных постоянных подключений, которые может установить каждый браузер, различается. Современные браузеры допускают до шести одновременных открытых соединений (Chrome, Firefox, Opera 12) или восьми (Internet Explorer 10).

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

    Используйте каскадные диаграммы, чтобы оценить, насколько хорошо загружается ваша страница, в сочетании с измерением общего веса страницы и воспринимаемой производительности вашей страницы. Узнайте больше о водопадах WebPagetest и о том, как найти загрузку контента с ошибками, в главе 6.

    Вес страницы

    Размер файла HTML, изображений и другого содержимого, необходимого для загрузки вашей страницы, влияет на общее время загрузки страницы. Один из способов измерить размер файла каждого типа содержимого — использовать подключаемый модуль браузера YSlow.Мы рассмотрим, как использовать его в «YSlow».

    После того, как вы запустите YSlow на своей странице, перейдите на вкладку «Компоненты» (рис. 2-4), чтобы увидеть список типов контента для этой страницы и их размер.

    Рисунок 2-4. На вкладке «Компоненты» в YSlow вы можете увидеть список типов контента, используемых на веб-странице, и их размер.

    В этом примере мы видим, что включение gzip уменьшает размер наших файлов HTML («doc» в этой таблице), файлов JavaScript и CSS. Если вам интересно, как работает gzip, мы расскажем об этом в разделе «Минификация и gzip.Мы также можем видеть, что хотя для загрузки страницы требуется всего шесть изображений, их общий размер составляет 722,6 КБ! Это очень большие изображения. Строка «cssimage» отделяет любые изображения, вызываемые и применяемые с помощью CSS, от изображений, встроенных непосредственно в HTML-код сайта.

    Взгляните на собственный вес страницы и сравните его с графиками «среднее количество байтов на страницу» на https://httparchive.org/interesting.php. Вы много используете CSS или JavaScript? Какова разбивка типов контента на вашей странице — значительно ли ваши изображения перевешивают другие типы контента, как в предыдущем примере, или есть еще один выброс?

    Что такое HTTP-архив?

    HTTP-архив — это постоянное хранилище информации о веб-производительности, такой как размер страниц, неудачные запросы и используемые технологии.Он собирает информацию WebPagetest для URL-адресов, включенных в Alexa Top 250 000 сайтов.

    Жестких правил относительно веса страницы не существует; тем не менее, важно отслеживать вес вашей страницы с течением времени, чтобы убедиться, что нет больших и неожиданных изменений по мере развития вашего сайта и добавления большего количества контента или итераций дизайна. Мы еще поговорим об измерении и повторении веса страницы вашего сайта и времени загрузки в разделе «Изменения с течением времени».

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

    Воспринимаемая производительность

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

    Критический путь рендеринга

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

    Чтобы понять, как работает критический путь рендеринга, вам нужно понять, как браузеры создают визуальный рендеринг веб-страниц, читая HTML, CSS и JavaScript для страницы. Браузеры начинают с создания объектной модели документа или DOM. Браузер получит HTML обратно с веб-сервера и начнет его синтаксический анализ: необработанные байты станут символами, строки символов станут токенами, такими как , токены станут объектами со свойствами и правилами, и, наконец, эти объекты будут связаны вместе в структура данных.Этот последний шаг — создание дерева DOM, на которое браузер пользователя опирается при дальнейшей обработке страницы.

    Когда браузер читает HTML, он натыкается на таблицу стилей. Браузер приостановит все и пойдет запросить этот файл с вашего сервера. Когда он получит файл обратно, браузер повторит аналогичный процесс: необработанные байты станут символами, строки символов станут токенами, токены станут объектами, объекты будут связаны в древовидную структуру, и, наконец, у нас будет объектная модель CSS . или CSSOM.

    Затем браузер пользователя объединит DOM и CSSOM для создания дерева рендеринга , которое будет использоваться для вычисления размера и положения каждого видимого элемента. Дерево рендеринга содержит только то, что необходимо для рендеринга страницы (поэтому все, что имеет отображение : none , не будет включено в дерево рендеринга). Наконец, браузер отобразит на экране окончательное дерево рендеринга.

    Весь этот процесс фиксирует критический путь рендеринга, который браузеры используют для отображения контента пользователю.Один из способов узнать, сколько времени требуется пользователю, чтобы увидеть загрузку вашего сайта, — это метрика «Начать рендеринг» в WebPagetest, которая сообщает вам, сколько секунд потребовалось браузеру, чтобы начать рендеринг контента.

    С помощью WebPagetest мы можем посмотреть на изображение страницы в виде диафильма (рис. 2-5) и увидеть, что отображается с течением времени по мере ее загрузки.

    Рисунок 2-5. С просмотром диафильма WebPagetest вы можете видеть, что видно на экране пользователя, когда страница загружается с течением времени.

    Когда мы смотрим на Yahoo! домашняя страница в 0.С 5-секундными интервалами мы видим, что страница пуста примерно до 2-х секунд загрузки. Чем раньше вы начнете получать видимый контент на странице, тем быстрее страница будет восприниматься вашим пользователем.

    Примечание
    Результаты

    WebPagetest зависят от местоположения, браузера, скорости соединения и других факторов. Хотя легко посмотреть на загрузку Yahoo! домашней страницы с интервалом в 0,5 секунды, вы, вероятно, захотите просмотреть интервалы в 0,1 секунды времени загрузки вашего собственного сайта, которые вы можете выбрать в представлении диафильма WebPagetest.

    Существует несколько способов оптимизации критического пути рендеринга. Поскольку по умолчанию CSS рассматривается как ресурс, блокирующий рендеринг, используйте типы мультимедиа и медиа-запросы, чтобы указать, какие части вашего CSS могут не блокировать рендеринг:

    .
       
       
      <ссылка href="big-screens.css" rel="таблица стилей"
       медиа="(минимальная ширина: 61.5em)"> 
     
    1. Эта таблица стилей будет применяться только во время печати страницы.Это не будет блокировать рендеринг при первой загрузке страницы.

    2. Эта таблица стилей будет применяться, только если ширина браузера равна или превышает 61,5 em. Он не будет блокировать рендеринг, когда ширина браузера меньше 61,5 em, но он будет блокировать рендеринг, если браузер соответствует этому условию min-width .

    Еще один способ оптимизировать ваш критический путь рендеринга — обеспечить максимально эффективную загрузку JavaScript.JavaScript блокирует построение DOM, если только оно не объявлено как асинхронное; Узнайте больше о том, как сделать так, чтобы ваш JavaScript хорошо сочетался с остальной загрузкой страницы, в разделе «Загрузка CSS и JavaScript».

    Хотите получить больше информации о восприятии влияния критического пути на производительность вашего сайта? WebPagetest также предоставит вам показатель под названием «Индекс скорости» для вашей страницы. Согласно документации WebPagetest, индекс скорости — это среднее время, в течение которого отображаются видимые части страницы. Он выражается в миллисекундах и зависит от размера выбранного окна просмотра.

    Метрика индекса скорости отлично подходит для наблюдения, когда вы пытаетесь измерить воспринимаемую производительность своей страницы, поскольку она покажет вам, насколько быстро контент «в верхней части страницы» заполняется для ваших пользователей. Полезно сосредоточиться на том, как быстро ваши пользователи начинают видеть и иметь возможность взаимодействовать с контентом, а не на том, сколько времени требуется браузеру, чтобы полностью завершить загрузку контента вашей страницы (включая любой асинхронный контент, который извлекается и выполняется после документа). визуально полный).Вы можете узнать больше об измерении индекса скорости WebPagetest и о том, сколько времени требуется для полной загрузки страницы, в главе 6.

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

    • Асинхронно загружать содержимое
    • Отдавать приоритет запросам контента «вверху»
    • Следуйте рекомендациям по загрузке CSS и JavaScript (подробнее в разделе «Загрузка CSS и JavaScript»)
    • Кэшировать активы для возвращающихся пользователей (подробнее в разделе «Кэширование активов»)
    • Убедитесь, что любые основные действия для страницы доступны пользователю как можно быстрее

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

    Джанк

    Вы когда-нибудь замечали заикание или пропуски кадров при прокрутке веб-страницы? Это называется jank и возникает, когда рендеринг в браузере замедляется ниже 60 кадров в секунду. Jank создаст плохой пользовательский опыт и негативно повлияет на восприятие вашими пользователями производительности вашего сайта.

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

    Иногда эти перерисовки сильно влияют на отрисовку вашего браузера, замедляя ее ниже порога в 60 кадров в секунду. Например, некоторые анимации (такие как положение, масштаб, вращение и непрозрачность) могут обрабатываться современными браузерами со скоростью 60 кадров в секунду; другие анимации могут создавать помехи для вашего пользователя.Перерисовка — дорогостоящая операция для браузеров, из-за которой ваша страница будет работать медленно.

    Если вы заметили, что на вашем сайте проявляются признаки нежелательной почты, существуют некоторые инструменты браузера, которые помогут вам устранить основную причину. В Chrome DevTools есть представление временной шкалы (рис. 2-6), которое показывает частоту кадров при взаимодействии со страницей.

    Рисунок 2-6. Представление временной шкалы Chrome DevTools показывает частоту кадров с течением времени, когда вы взаимодействуете с веб-страницей.

    После того, как вы нажмете «запись» и начнете взаимодействовать со своей страницей, Chrome DevTools будет записывать количество кадров в секунду, а также действия браузера, такие как пересчет стилей, запуск событий или рисование.Как только вы обнаружите область, в которой частота кадров упала ниже порогового значения 60 кадров в секунду, вы можете начать нацеливаться на эту область, чтобы уменьшить проблемы с перерисовкой. Начните с того, что скройте элементы в этой области страницы, чтобы увидеть, какие элементы могут вызывать рывки, а затем поэкспериментируйте со скрытыми цветами, тенями и анимацией, чтобы увидеть, что может быть основной причиной медлительности. Подробнее о том, как использовать Chrome DevTools, читайте в Chrome DevTools.

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

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

    Другие факторы, влияющие на скорость страницы

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

    География

    Географическое положение пользователя может сильно повлиять на время, необходимое для загрузки вашего сайта.Если вы запустите несколько тестов в разных географических точках с помощью инструмента тестирования, такого как WebPagetest, вы заметите спектр времени загрузки. Это связано с тем, что браузеры запрашивают и получают данные через физические соединения, и существует ограничение на скорость, с которой контент может перемещаться на большие расстояния; браузеру вашего пользователя потребуется больше времени, чтобы связаться с вашим сервером, если он находится дальше. Если пользователь находится в Австралии, а ваш контент находится на сервере в Соединенных Штатах, этому пользователю потребуется гораздо больше времени, чтобы получить доступ к вашему контенту, чем тому, кто живет в Соединенных Штатах.

    Вот почему сети доставки контента (CDN) используются сайтами с глобальной пользовательской базой. CDN настраивают серверы с копиями данных по всему миру, чтобы пользователи могли связаться с ближайшим к ним сервером, экономя время. Для австралийской пользовательской базы в этом примере вы можете рассмотреть возможность предоставления своего контента из CDN с местоположением в Азиатско-Тихоокеанском регионе, чтобы пользователи могли получать доступ к вашему контенту с сервера, расположенного ближе к месту их проживания.

    Сеть

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

    Точно так же сеть пользователя может иметь огромное влияние на то, сколько времени требуется для выполнения каждого запроса контента.В медленной сети браузеру вашего пользователя потребуется гораздо больше времени, чтобы найти и затем установить начальное соединение с вашим сервером, а затем еще больше времени для загрузки вашего контента. Это будет увеличиваться по мере увеличения количества запросов, которые браузер вашего пользователя должен сделать для отображения вашей страницы. Мобильные сети — хороший пример влияния сетевой задержки; Узнайте больше об этих проблемах в разделе «Мобильные сети».

    Браузер

    Браузер вашего пользователя также может влиять на воспринимаемую производительность вашего сайта, так как каждый браузер обрабатывает запросы и отображает контент немного по-разному.Браузеры, которые не поддерживают прогрессивные файлы JPEG (которые мы рассмотрим в разделе «JPEG»), будут ждать, пока файл прогрессивного формата JPEG не будет полностью загружен, прежде чем показывать его на странице, что кажется пользователям намного медленнее, чем отображение базового формата JPEG. Браузеры, поддерживающие меньше параллельных подключений, будут запрашивать и отображать контент медленнее, чем более новые браузеры, поддерживающие значительно больше подключений за раз.

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

    В следующей главе мы рассмотрим самую большую часть веса страницы большинства сайтов: изображения. Важно помнить о форматировании и сжатии изображений, особенно теперь, когда вы понимаете, как вес страницы и запросы влияют на общее время загрузки страницы вашего сайта. Чем больше вы сможете оптимизировать размер каждого изображения и то, как оно отображается браузером вашего пользователя, тем лучше будет пользовательский опыт вашего сайта.

    API синхронизации навигации — веб-API

    API синхронизации навигации предоставляет данные, которые можно использовать для измерения производительности веб-сайта.В отличие от библиотек на основе JavaScript, которые исторически использовались для сбора аналогичной информации, API синхронизации навигации может быть гораздо более точным и надежным.

    Примечание: В настоящее время в этой статье описывается уровень синхронизации навигации 1. Существует спецификация для уровня 2, но здесь он еще не рассматривается.

    Вы можете использовать Navigation Timing API для сбора данных о производительности на стороне клиента, которые затем можно передать на сервер с помощью XMLHttpRequest или других методов.

    Этот API позволяет измерять данные, которые раньше было трудно получить, например, количество времени, необходимое для выгрузки предыдущей страницы, время, необходимое для поиска домена, общее время, затраченное на выполнение обработчика load окна, и так далее.

    Производительность

    Свойство window.performance возвращает объект Performance . Хотя этот интерфейс определяется API времени высокого разрешения, API синхронизации навигации добавляет два свойства: синхронизация и навигация типов, указанных ниже.

    Перформанснавигатионтайминг

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

    Время выполнения Устаревший

    Используется в качестве типа для значения синхронизации , объекты этого типа содержат информацию о времени, которая может дать представление о производительности веб-страницы.

    Навигация по производительности Устаревший

    Тип, используемый для возврата значения навигации , который содержит информацию, объясняющую контекст операции загрузки, описанной этим экземпляром Производительность .

    API синхронизации навигации можно использовать для сбора данных о производительности на стороне клиента для отправки на сервер через XHR, а также для измерения данных, которые было очень трудно измерить другими способами, такими как время выгрузки предыдущей страницы, просмотр домена время работы, окно.onload общее время и т. д.

    Рассчитать общее время загрузки страницы

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

      const perfData = window.performance.timing;
    const pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;
      

    Вычитает время начала навигации ( navigationStart ) из времени возврата обработчика события load ( loadEventEnd ).Это дает вам воспринимаемое время загрузки страницы.

    Рассчитать время ответа на запрос

    Вы можете рассчитать время, прошедшее между началом запроса и завершением получения ответа, используя следующий код:

      const connectTime = perfData.responseEnd - perfData.requestStart;
      

    Здесь время инициации запроса ( requestStart ). с момента окончания получения ответа ( responseEnd ).

    Расчет времени рендеринга страницы

    В качестве еще одного примера интересных данных, которые вы можете получить с помощью Navigation Timing API, которые вы не можете легко получить другим способом, вы можете получить количество времени, которое потребовалось для рендеринга страницы:

      const renderTime = perfData.domComplete - perfData.domLoading;
      

    Получается, начиная со времени завершения загрузки DOM и его зависимостей ( domComplete ) и вычитая из него время начала разбора DOM ( domLoading ).

    Window.performance.timing

    Таблицы BCD загружаются только в браузере

    Документ: событие DOMContentLoaded — веб-API

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

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

    Синхронный JavaScript приостанавливает синтаксический анализ DOM. Если вы хотите, чтобы DOM анализировался как можно быстрее после того, как пользователь запросил страницу, вы можете сделать свой JavaScript асинхронным и оптимизировать загрузку таблиц стилей. При обычной загрузке таблицы стилей замедляют синтаксический анализ DOM, поскольку они загружаются параллельно, «воруя» трафик из основного HTML-документа.

    Следующий код переносит функциональность события DOMContentLoaded обратно в IE6+ с откатом к окну .загрузить , который работает везде.

     
    
    function DOMContentLoaded() { "использовать строго";
    
        var ael = 'addEventListener', rel = 'removeEventListener', aev = 'attachEvent', dev = 'detachEvent';
        вар уже запущен = ложь,
            функции = аргументы;
    
        функция microtime() {возврат + новая дата() }
    
        
    
        var jscript_version = Number( new Function("/*@cc_on return @_jscript_version; @*\/")() );
    
        
        
    
        если (document.readyState === 'complete') {ready(null); возврат; }
    
        
        если (jscript_version < 9) { doIEScrollCheck(); возврат; }
    
        
    
        если (документ[ael]) {
            document[ael]("DOMContentLoaded", готово, ложь);
    
            
            окно [ael] («загрузить», готово, ложь);
        } еще
        if (aev в окне) { window[aev]('onload', ready);
            
            
        } еще {
            
            добавитьНагрузить(готово);
        }
    
        
        
        
    
        функция addOnload(fn) {
    
            переменная предыдущая = окно.в процессе;
    
            
            
            
    
            если ( typeof addOnload.queue !== 'объект') {
                addOnload.queue = [];
                if (typeof prev === 'функция') {
                    addOnload.queue.push(предыдущая);
                }
            }
    
            if (typeof fn === 'функция') { addOnload.queue.push(fn) }
    
            window.onload = функция () {
                for (var i = 0; i < addOnload.queue.length; i++) { addOnload.queue[i]() }
            };
        }
    
        
    
        функция dequeueOnload(fn, все) {
    
            
            
    
            если (тип addOnload.очередь === 'объект') {
                for (var i = addOnload.queue.length-1; i >= 0; i--) {
                    если (fn === addOnload.queue[i]) {
                        addOnload.queue.splice(i,1); если (! все) {перерыв}
                    }
                }
            }
        }
    
        
    
        функция готова(ев) {
            if (alreadyRun) {return} ужеRun = true;
    
            
            
    
            var readyTime = микровремя();
    
            отсоединить();
    
            
            for (var i=0; i < funcs.length; i++) {
    
                var func = funcs[i];
    
                если (тип функции === 'функция') {
    
                    
                    функциявызов(документ, {
                      'readyTime': (ev === null ? null : readyTime),
                      'funcExecuteTime': микровремя(),
                      'текущая функция': функция
                    });
                }
            }
        }
    
        
    
        функция отсоединения () {
            если (документ[отн.]) {
                документ[rel]("DOMContentLoaded", готово); окно[rel]("загрузить", готово);
            } еще
            if (dev в окне) { window[dev]("onload", ready); }
            еще {
                удалить из очереди при загрузке (готово);
            }
        }
    
        
    
        функция doIEScrollCheck() {
            если (окно.кадрЭлемент) {
                
                попробуйте { window.attachEvent («загрузить», готово); } поймать (д) { }
                возврат;
            }
            
            пытаться {
                
                document.documentElement.doScroll('слева');
            } поймать(ошибка) {
                setTimeout (функция () {
                    (document.readyState === 'complete')? ready() : doIEScrollCheck();
                }, 50);
                возврат;
            }
            готов();
        }
    }
    
    
      

    Основное использование

      документ.addEventListener('DOMContentLoaded', (событие) => {
        console.log('DOM полностью загружен и проанализирован');
    });
      

    Задержка DOMContentLoaded