Автор: Лавлинский Николай Евгеньевич, технический директор ООО «Метод Лаб»







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



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



Определим цель и задачи

Для начала нужно определиться, что такое быстрый сайт. Апологеты скорости из команды Google предлагают методику RAIL. Если коротко, то сайт должен загружаться за 1 секунду целиком (иметь достаточную функциональность для взаимодействия и видимый контент первого экрана). Это идеал, к которому нужно стремиться. В суровой реальности желательно добиться начала рендеринга страницы в рамках первой секунды при условиях подключения 3G, основная часть страницы должна загружаться в следующие несколько секунд. Также на этом этапе нужно понять, требуется ли обеспечивать этот уровень скорости на мобильных устройствах. Для этого достаточно посмотреть аналитику посещений сайта и получить долю мобильных пользователей или принять принципиальное решение о том, что мобильные пользователи важны.



Рынок ускорения сайтов

Первым шагом при осознании проблем со скоростью сайта (например, после проверки Google Pagespeed Insights ) будет поиск решения.





Здесь мы встречаем первый выбор: решать проблемы самостоятельно или с привлечением подрядчика.



Рассмотрим вариант ускорения сайта своими силами.



Решаем проблему самостоятельно

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



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



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



Выбираем подрядчика по ускорению сайтов

Итак, вы решили привлечь профессионалов.



Первое, с чем вам придётся столкнуться – разные подходы к ускорению сайтов. Принципиально таких подходов существует два: автоматизированное ускорение с CDN и ручная работа по оптимизации.



Остановимся на каждом из подходов и рассмотрим их достоинства и недостатки.



Автоматизированные сервисы (CDN)

К этой группе мы отнесём внешние службы, которые проксируют (пропускают через себя) весь трафик сайта и попутно применяют некоторые оптимизации. Примеры таких сервисов: Akamai, Cloudflare, Айри.рф.



На картинке ниже представлена упрощенная схема работы сети Cloudflare.





В основе таких сервисов стоит технология CDN – content delivery network, то есть сеть распространения контента. Суть этой технологии следующая. Доменная зона сайта редактируется таким образом, что на запрос www.example.com DNS-сервера дают IP-адрес из сети CDN и запрос идёт на сервер этой сети, а не на сервер хостинга сайта. При этом сеть направляет запрос на самый близкий к клиенту сервер, чтобы минимизировать задержки в сети. Благодаря тому, что узлы CDN расположены во многих точках, получаем экономию на установлении соединения. Кроме того, статические файлы, которые редко изменяются, сохраняются в кеше сервера CDN и в следующий раз будут отдаваться быстро и без запроса к исходному серверу. Кеширование также позволяет экономить пропускную полосу канала сервера хостинга сайта.



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



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



Ускорение в специализированных сетях достигается за счет оптимизации ресурсов на стороне CDN: сжатие картинок, компрессия текстовых файлов, объединение нескольких файлов в один, минификация. Сам же сайт при этом остаётся таким же медленным, но доставка статики становится оптимизированной. Глубокие оптимизации на уровне вёрстки сайта: например выкинуть неиспользуемый CSS-код, убрать ненужные JS-библиотеки.



Посмотрим на достоинства и недостатки данного решения, подразумевая CDN с расширенным функционалом по ускорению (другие малополезны для нашей задачи).



Достоинства:




Быстрое подключение сервиса (1 час — сутки).



Возможность ускорения сайтов без доступа к коду.



Автоматизированная оптимизация контента (статики).



Сокращение задержек сети (при наличии узла CDN поблизости).


Недостатки:




Дополнительная точка отказа (если будут проблемы с CDN сайт перестанет работать).



Невозможность оптимизации серверной части (генерации HTML-страницы).



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



Отсутствие возможности глубокой оптимизации сайта (CSS, JS, вёрстка).



Увеличенные задержки запросов при промахе кеша.



Риск блокировки IP из сети CDN и недоступности сайта из России (многие адреса Cloudflare заблокированы в РФ).


Ускорение сайта силами специалистов

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



Накопленный опыт в области ускорения сайтов позволяет сделать несколько выводов:



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



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



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



Итак, ручное ускорение сайтов должно включать в себя несколько шагов:




Аудит скорости сайта.



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



Оптимизация основных шаблонов сайта (оптимизация CSS, JS-библиотек, подключаемых шрифтов).



Оптимизация контента (изображения и другое содержимое).



Консультации разработчиков, внедрение инструментов оптимизации в процесс публикации.



Тестирование сайта на наличие ошибок, тестировании скорости загрузки.



Отчет об ускорении, фиксация результатов.



Поддержка и исправление возможных проблем.


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



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



Подытожим плюсы и минусы ручного ускорения сайтов.



Достоинства:




Возможности глубокой оптимизации сайта (CSS, JS, вёрстка).



Ускорение серверной части сайта.



Однократные затраты на услугу.



Комплексное решение проблем со скоростью для локальной аудитории.


Недостатки:




Требуется время на оптимизацию сайта (2-10 рабочих дней).



Не решается проблема географически распределённой аудитории (требуется подключение CDN).



Возможно появление неоптимизированного контента (при отсутствии процесса оптимизации в системе публикации).


Выводы

Итак, мы рассмотрели все основные методы решения задачи ускорения сайта.



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



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




Обсудить  

Читайте также


Комментарии Кто голосовал Похожие новости

Комментарии