Поделиться ссылкой на страницу в Google+Опубликовать ссылку в FacebookОпубликовать ссылку в TwitterОпубликовать ссылку во Вконтакте

Очень подробно о быстрой скорости загрузки страниц WEB-сайта

«Подумаешь! Да кого волнует скорость загрузки страниц сайта! В эпоху сверхскоростного интернета — любые страницы загрузятся моментально!» Примерно такие высказывания мне регулярно приходится слышать от тех, кто не очень хорошо разбирается в механизме работы WEB-сайтов.

Для начала разберёмся, какое значение имеет скорость загрузки страниц.

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

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

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

После того как посетитель отправляет серверу, где размещён ваш сайт, запрос определённой страницы (например, перейдя по ссылке на эту страницу) — сервер начинает формировать запрошенную страницу. Здесь следует пояснить, что сайты делятся на статические и динамические. У статических сайтов все страницы (или большинство страниц) сформированы заранее (свёрстаны, заполнены данными, украшены и т. д.), остаётся только показать их посетителю. У динамических сайтов со страницами всё обстоит совершенно иначе: большей части страниц в готовом, полностью сформированном виде физически не существует на сервере — они собираются программными методами из множества различных «кусков» программного кода, данных, изображений — причём не заранее, а после каждого из запросов посетителей.

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

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

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

Зачем столько сложностей, удивитесь вы?

А как же иначе? «Сайты-конструктора» созданы макисмально универсальными — они подходят для создания блогов, интернет-магазинов, новостных порталов, и потому в них на всякий случай предусмотрены все возможные действия, какие могут пригодиться при работе с каждым из посетителей. Другими словами, медленная скорость загрузки страниц у «сайтов-конструкторов» — это плата за универсальность.

В каком смысле — интернет-магазин на Битриксе?!

Хуже всего, что до тех пор, пока сервер не сформирует страницу и не отправит браузеру посетителя — тому не поможет никакая самая головокружительная скорость интернет-подключения. Толку-то от скорости подключения, если какое-то время попросту нечего загружать?

Но вот наконец сервер сформировал запрошенную страницу и отправил её браузеру посетителя. Не исключено, что браузеру она будет передана действительно быстро, но это вовсе не значит, что после передачи посетитель сразу же её увидит. Ведь в исходном виде страница представляет собой HTML-код, непонятный большинству пользователей, и чтобы отобразить её в удобном для просмотра виде, браузеру необходимо прочитать полученный от сервера код и трансформировать его в привычный посетителю вид (этот процесс принято называть «рендером»). Кроме того, в коде большинства страниц указаны ссылки на всевозможные элементы, необходимые для формирования внешнего вида страницы — скрипты, изображения, — и эти элементы после получения от сервера HTML-кода страницы браузеру также необходимо загрузить и отобразить во внешнем виде (или, как принято говорить, интерфейсе) страницы.

Чтобы увидеть код страницы, в большинстве браузеров достаточно нажать комбинацию клавиш Ctrl и U.

Всё это время посетитель будет ждать появления страницы на экране. Сколько времени должна занимать совокупность перечисленных процессов, пока у него не лопнуло терпение? Практика показывает: не более нескольких секунд. Тогда как в большинстве случаев у «сайтов-конструкторов» этот процесс занимает 10-15 секунд, а в особо запущенных случаях (обширный ассортимент товаров, обилие накопленной за длительный период времени статистики о поведении пользователей) — более 30 секунд. Неудивительно, что у построенных на основе конструкторов web-сайтов поведенческий фактор чаще всего крайне некачественный даже при наличии интересного или полезного контента (а соответственно в итоге и незавидные позиции в поисковой выдаче).

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

За 15 лет у автора сайта выработался своего рода норматив, который необходимо соблюдать: максимум 3 секунды на загрузку самых «тяжёлых» страниц при средней скорости интернет-подключения и максимум 0,7 секунды для «лёгких» страниц.




© SiteQuality.ru — web-разработчик М. Ю. Уткин. 29.03.2018.