к.э.н. Лавлинский Н. Е., технический директор ООО «Метод Лаб»
Хорошо рассуждать об ускорении сайтов, когда есть квалифицированная команда разработчиков и бюджет на развитие проекта, а также технически грамотный руководитель. А можно ли с нулевыми или минимальными затратами ускорить сайт? Ответ: да, можно. Но не всегда и не любой сайт.
Мы уже более 5 лет профессионально занимаемся ускорением сайтов и на основе своего опыта можем рекомендовать решения для наиболее частных проблем со скоростью. В этой статье мы рассмотрим те шаги, которые может сделать любой руководитель проекта для ускорения подопечного сайта. Возможно, местами не будем грузить техническими подробностями (всего в одной статье всё равно не описать), чтобы не потерять общую картину.
Качественный хостинг нужен любому проекту. Это необходимое, но не достаточное условие. В нашем случае хостинг определяет серверную производительность (ресурсы, доступные нам: CPU, RAM, сеть, диск) и возможность настройки (тюнинга) сервера.
Рекомендации здесь следующие: строго «нет» виртуальному хостингу, не важно, сколько он стоит – 300 или 3000 рублей в месяц. Если вы сейчас на виртуальном хостинге, нужно будет сначала перенести сайт на нормальную площадку.
Минимальный уровень хостинга: VPS (виртуальный выделенный). При росте проекта можно апгрейдить тарифный план или переезжать на выделенный сервер (арендованный или собственный). Более подробно про выбор хостинга можете узнать из нашей статьи: выбор хостинга.
При наличии полноценного VPS или выделенного хостинга мы можем использовать все рекомендации по ускорению и не зависеть от мнения технической поддержки хостера.
Минимальный набор требований по настройке хостинга следующий:
Более подробные инструкции по настройке различных компонент (Nginx, MySQL, HTTP/2 и других) можно посмотреть в наших обучающих видео (мастер-классах)
Если с серверной частью более-менее разобрались, то основные проблемы со скоростью будут в клиентской части.
Если посмотреть на проблему системно, то клиентская оптимизации заключается в сокращении критического пути рендеринга сайта и минимизации общего трафика.
Критический путь рендеринга – набор ресурсов, требующихся для отображения страницы браузером. Состав его следующий (в порядке важности):
Из этого определения уже понятно, что делать с критическим путём: максимально выбрасывать все ненужные компоненты, оставшиеся отдавать максимально быстро с лучшим сжатием. Чтобы реально сократить критический путь рендеринга страницы, нужно разобраться с её функциональностью и «методом тыка» убирать подозрительные элементы с последующим тестированием на предмет «что-то отвалилось». Если добиваться максимального результата, можно потратить довольно большой объём трудозатрат, но результат окупит все усилия.
Теперь перейдём к вопросу сокращения объёма трафика. Сейчас мы говорим об оптимизации размера ресурсов за счёт различных вариантов сжатия. Ранее мы указывали, что любой текстовый контент должен передаваться сжатым методом Gzip, для максимальной оптимизации можно использовать Zopfli. На подходе новый стандарт сжатия: Brotli (еще более эффективный).
Для графического контента есть широкий набор стандартов сжатия и форматов. Общие правила примерно такие.
Эти меры позволят решить большинство проблем с клиентской производительностью вашего сайта. За кадром остаются сложные случаи с глубокой оптимизацией JS-кода, решением проблем плавности прокрутки и так далее. Такие случаи довольно индивидуальны и требуют профессионального подхода.
Итак, по содержанию шагов по оптимизации вы можете легко ответить на вопрос: «Можно ли самостоятельно ускорить сайт?» Если всё понятно, вам интересно заниматься оптимизацией, вы готовы погрузиться в эту область – отлично, можно начинать уже сейчас! Будет ли такой процесс «бесплатным», зависит от вашего отношения к собственным усилиям и времени.
Однако, если вы понимаете, что потребуется слишком много времени и усилий (а еще ошибок по пути) и ускорение своими силами станет золотым – заказывайте профессиональное ускорение у нас, мы всегда готовы помочь.