Решение проблем скорости сайта: улучшение технических параметров сайта без лишних затрат

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

 

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

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

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

Для начала нужно определиться, что такое быстрый сайт. Апологеты скорости из команды 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 на ускорение нивелируется.

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

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

  1. Аудит скорости сайта.
  2. Определение задач, целевых показателей (требование мобильных пользователей, основные страницы входа, доля повторных посещений, география аудитории).
  3. Оптимизация основных шаблонов сайта (оптимизация CSS, JS-библиотек, подключаемых шрифтов).
  4. Оптимизация контента (изображения и другое содержимое).
  5. Консультации разработчиков, внедрение инструментов оптимизации в процесс публикации.
  6. Тестирование сайта на наличие ошибок, тестировании скорости загрузки.
  7. Отчет об ускорении, фиксация результатов.
  8. Поддержка и исправление возможных проблем.

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

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

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

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

  • Возможности глубокой оптимизации сайта (CSS, JS, вёрстка).
  • Ускорение серверной части сайта.
  • Однократные затраты на услугу.
  • Комплексное решение проблем со скоростью для локальной аудитории.

Недостатки:

  • Требуется время на оптимизацию сайта (2-10 рабочих дней).
  • Не решается проблема географически распределённой аудитории (требуется подключение CDN).
  • Возможно появление неоптимизированного контента (при отсутствии процесса оптимизации в системе публикации).

Выводы

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

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

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

preview История отечественного SEO

История отечественного SEO

Автор статьи: Максим Матиков – CEO агентства интернет-маркетинга «Matik» 15 лет в seo – серьезная дата, согласитесь...
preview Работают или нет SEO-ссылки?

Работают или нет SEO-ссылки?

Возникший в 2008 году в поисковом маркетинге карго-культ ссылочного продвижения не мог остаться незамеченным поисковыми системами, учитывая, сколько сил и средств в его...
preview Как рассчитать «внутренний» PageRank страниц сайта, и зачем это делать?

Как рассчитать «внутренний» PageRank страниц сайта, и зачем это делать?

Автор: Пол Шапиро (Paul Shapiro) – руководитель SEO-направления агентства Catalyst Digital (Бостон), приверженец инновационных стратегий продвижения, автор блога Search...
preview РИФ+КИБ 2016: Измерение влияния SEO-ссылок на ранжирование

РИФ+КИБ 2016: Измерение влияния SEO-ссылок на ранжирование

С 13 по 15 апреля 2016 года в Подмосковье проходила юбилейная XX конференция РИФ+КИБ 2016
preview Параметры URL страницы выдачи Яндекса

Параметры URL страницы выдачи Яндекса

Помимо использования операторов языка запроса, в поисковой системе Яндекс существует возможность регулировать результаты выдачи по базовому запросу (в URL страницы выдачи ему...
preview Как повысить скорость загрузки сайта, руководствуясь советами Google?

Как повысить скорость загрузки сайта, руководствуясь советами Google?

Автор: Феликс Таркомнику (Felix Tarcomnicu), интернет-предприниматель и онлайн-маркетолог со стажем. Работает в должности CMO в Monitor Backlinks (Лондон