www maker — создание и раскрутка сайтов

Быстрые сайты

Скорость загрузки сайта складывается из нескольких составляющих:

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

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

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

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

Движок сайта. Очевидно, что сайт на чистом html будет намного быстрее, чем сайт на сложном движке выполняющем рекурсивные запросы к базам данных. Движок необходимо выбирать под конкретные задачи, которые будет выполнять ваш сайт. Нет никакого смысла делать сайт-визитку на 1C-Битрикс. Часто требуется дополнительная настройка сервера под выбранный движок.

Контент. Значительный прирост к скорости загрузки страниц может дать оптимизация контента (обработка изображений, аудио- и видеоконтента, использование возможностей css в дизайне). Как альтернативу, для хранения тяжелого контента можно использовать сторонние сервисы (например, YouTube для видео). Не помешает на уровне сервера либо движка сайта настроить отдачу корректных http-заголовков: Expires, LastModified, Cache-Control.

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

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

Какой же должна быть скорость загрузки страницы? Статистика показывает (google labs), что лишь 20% сайтов всего интернета загружаются за 2 и менее секунды. Среднестатистический пользователь готов ждать загрузки страницы 4-5 секунд. Если загрузка занимает больше времени, то это приводит к потере части пользователей и с этим надо что-то делать.

Чем измерить скорость?

Существует множество онлайн сервисов для проверки скорости страниц, например, site-perf.com. А также дополнения для популярных браузеров developers.google.com/speed/tools. Для выявления факторов, уменьшающих скорость загрузки сайта можно воспользоваться pagespeed insights от google.

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

Почитать по теме

две неплохие книжки с большим кол-вом букв: