Как бороться с медленной загрузкой сайта с Netpeak Spider

7
6
7
6
Как бороться с медленной загрузкой сайта с Netpeak Spider
Кейсы

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

В этом посте мы узнаем, в чём отличие скорости загрузки сайта от скорости ответа сервера, разберёмся с причинами медленной загрузки сайта, а также рассмотрим способы, с помощью которых можно эти причины устранить ;)

1. Что такое скорость загрузки сайта?

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

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

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

1.1. Скорость загрузки сайта vs. время ответа сервера

Часто понятие «скорость загрузки сайта» путают со «временем ответа сервера», и поэтому необходимо понимать чёткую разницу между этими двумя показателями.

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

Время ответа сервера в Netpeak Spider основано на рекомендациях поисковиков:

  • Быстро (< 500 мс)
  • Средне (500 мс < 1 с)
  • Медленно (1 с < 2 с)
  • Очень медленно (> 2 с)

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

Иными словами, время ответа сервера — это время, за которое сервер даст ответ браузеру, а скорость загрузки сайта — скорость, с которой браузер полностью загрузит страницу вашего сайта.

1.2. Скорость загрузки как фактор ранжирования

Google определил скорость загрузки сайта как фактор ранжирования ещё в 2010 году. Однако, стоит помнить, что при ранжировании поисковик учитывает множество других факторов, и скорость загрузки не является ключевым.

На Moz.org было опубликовано исследование, результаты которого указывают на то, что скорость загрузки сайта никак не влияет на ранжирование сайта. А вот время ответа сервера — очень даже.

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

2. Как проверить скорость загрузки сайта и время ответа сервера с Netpeak Spider

  1. Запускаем сканирование сайта.
  2. Cканирование в Netpeak Spider
  3. Когда сканирование закончится, на вкладке «Дашборд» вы найдёте панель «Время ответа сервера» с обзором результатов краулинга.
  4. Время ответа сервера в Netpeak Spider
  5. Кликните на красный цвет на диаграмме, чтобы узнать, какие URL загружаются медленно, и увидеть подробную информацию по этим страницам.
  6. В колонке «Время ответа сервера» отображается соответствующее значение для каждого URL на вашем сайте.
  7. Показатель времени ответа сервера
  8. В колонке «Время загрузки контента» отображается время загрузки каждого URL вашего сайта.
  9. Показатель скорости загрузки страницы

3. Как ускорить загрузку сайта

Как мы уже выяснили, на скорость загрузки сайта влияет множество параметров. Для удобства мы разделим процесс оптимизации на:

  • оптимизацию кода HTML / CSS / JavaScript,
  • оптимизацию скорости ответа сервера.

3.1. Оптимизация клиентского кода

Наверняка вы сталкивались с явлением, когда страница уже загрузилась, но мультимедийные элементы всё ещё недоступны для просмотра. Чем больше контента и разнообразных стилей на странице вашего сайта, тем дольше он будет загружаться. Чтобы оптимизировать клиентский код, предлагаю выполнить следующие простые рекомендации:

  • Используйте сжатие ресурсов вашего сайта. Так вы сможете уменьшить размер передаваемых данных до 90%. Сжимайте изображения через специальные сервисы, например Tinypng. Сервис поможет уменьшить размер изображения без существенной потери качества. Загружайте видео не на сайт, а на видеохостинги (Youtube, Vimeo и т.д.).
  • Воспользуйтесь кешированием браузера. Некоторые ресурсы могут кэшироваться для загрузки ранее загруженных ресурсов с локального диска, а не из сети.
  • Оптимизируйте CSS — объедините в один файл и используйте SDN.
  • Объедините все JavaScript в один файл. Аналогично объединению файлов CSS, данная оптимизация для JavaScript позволит уменьшить необходимое количество HTTP-запросов при загрузке страницы. Используйте Single Page Application.

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

3.2. Оптимизация времени ответа сервера

По рекомендации Google время ответа сервера должно быть меньше 200 мс.

  • Настройте nginx (в связке с Apache+mod_php, php-fpm или IIS для выполнения серверной логики). С помощью этой настройки вы сократите время обработки запросов к статическим файлам.
  • Настройте кэширование клиентского кода. Сделать это можно с помощью менеджеров кэша: APC, OpCache, xCache.
  • Проверьте задержки выполнения скриптов. После проведения предыдущих действий можно взглянуть на задержки непосредственно серверной логики. Наиболее оптимально будет использовать серверное кэширование страниц целиком. Если это невозможно, необходимо настраивать блочное кэширование отображаемых на страницах блоков данных (к примеру, через Memcached).
  • Также попробуйте удаление неиспользуемых данных из базы или настройку индексов (для оптимизации запросов).

Подводим итоги

  • Скорость загрузки страницы — это показатель времени, которое уходит на то, чтобы браузер загрузил весь контент на определённой странице сайта. Он влияет в первую очередь на поведенческий фактор.
  • Не нужно путать этот показатель со временем ответа сервера, которое показывает, сколько занимает процесс получения первого байта от сервера после запроса к нему. По результатам исследований время ответа сервера влияет на позиции вашего сайта в поисковой выдаче.
  • На скорость загрузки страницы влияет как оптимизация ответа сервера, так и оптимизация клиентского кода. Рекомендуется использовать кэширование браузера, сжимать изображения, а также использовать асинхронные скрипты.
  • С помощью Netpeak Spider можно проверить, какие именно URL вашего сайта нуждаются в оптимизации и загружаются дольше остальных.

Если у вас появились вопросы, или вы хотите поделиться своим методом уменьшения скорости загрузки сайта — напишите об этом в комментариях ;)

Читайте этот пост наанглийском языке