Блог компании PromoPult
Интернет-маркетинг
Поисковая оптимизация
16 октября

Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]

Регулярно мониторите скорость загрузки десятков или сотен URL? Хотите проанализировать скорость загрузки сайтов в отрасли или постранично на своем сайте? Вводить каждый раз URL в PageSpeed Insights и переносить данные в «эксельку» — это долго.


Мы нашли простое решение — оно позволяет получать метрики из PageSpeed Insights по расписанию, причем на полном автомате. На настройку у вас уйдет 5-10 минут, но вы сэкономите часы.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]

Когда мы готовили исследование скорости загрузки сайтов в eCommerce, то серьезно озадачились автоматизацией получения данных из PageSpeed Insights. Открывать каждый URL в сервисе, запускать анализ, переносить метрики — все это съедает массу времени.


В статье James_McNulty для MOZ мы нашли решение. В этой статье представлен шаблон Google Sheets, который с помощью PageSpeed Insights API V5 снимает данные для десктопов по пяти метрикам. Мы модифицировали шаблон — теперь с его помощью можно снимать данные по восьми метрикам (не только для десктопа, но и мобайла).


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Зачем мониторить скорость загрузки страниц


Данные о скорости загрузки страниц полезны оптимизаторам и разработчикам в ряде случаев:


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

Как пользоваться шаблоном


Для начала создайте копию шаблона Automated PageSpeed Insights API Tool.


В файле три вкладки (названия вкладок не меняйте!):


  • Settings — здесь указывается API ключ и расписание сбора данных.
  • Results — это лист, на котором собираются данные по заданным URL (данные листа обновляются после каждого запуска скрипта).
  • Log — на этот лист переносятся собранные данные (в том числе за прошлые периоды).

Предварительная подготовка шаблона


Для корректной работы нужно:


  • получить API ключ,
  • включить PageSpeed API.

Для получения API ключа перейдите в раздел «Учетные данные» сервиса Google APIs и нажмите кнопку «Создать учетные данные».


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


В выпадающем списке выберите «Ключ API».


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Скопируйте созданный ключ.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Вставьте его в шаблон на листе «Settings».


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Но для работы шаблона ключа недостаточно — нужно еще включить PageSpeed API. Для этого перейдите на страницу PageSpeed API и нажмите кнопку «Включить».


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Важно! Если не включить PageSpeed API, скрипт в шаблоне работать не будет, и в таблице вы увидите ошибки.


Контекст на профессиональном уровне и без агентства — в системе PromoPult. Автоматический подбор слов, автоматическая генерация объявлений, «умное» управление ставками. Готовые отраслевые решения. Статистика в реальном времени.


Получение данных из PageSpeed Insights


Перейдите на вкладку «Results» и введите список URL. Откройте меню «PageSpeed Menu» и нажмите «Manual Push Report». Сразу после этого скрипт начнет выполняться, и через некоторое время вы получите данные.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


В шаблоне собираются такие метрики:


  • время загрузки для взаимодействия (TTI);
  • время загрузки первого контента (FCP);
  • время загрузки достаточной части контента (FMP);
  • время загрузки первого байта (скорость ответа сервера);
  • индекс скорости загрузки (Speed Index);
  • время окончания работы ЦП;
  • первая задержка ввода;
  • оценка производительности.

Об успешном завершении сбора данных говорит статус «complete» в строке с URL.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Как изменить тип устройства


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


Если вам нужны данные по десктопам, перейдите в раздел Google Sheets «Инструменты» / «Редактор скриптов», найдите функцию runCheck и измените в переменной serviceUrl (строка 587) значение параметра “strategy” с “mobile” на “desktop”. Сохраните изменения.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Теперь шаблон будет собирать данные для тех же URL, но уже для десктопов.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Если вам нужно регулярно мониторить и мобильную, и десктопную версию, удобнее будет создать две копии шаблона — в одной ничего не менять, а во второй задать “strategy=desktop”.


Настройка расписания получения данных из PageSpeed Insights


На вкладке «Settings» укажите, в какой день и в какое время запускать сбор данных (меняете только данные в первой строке). Например, мы указали четверг, 8 утра (время установлено по местному времени, определенному в учетной записи Google).


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


После установки дня недели и времени в шаблоне дополнительно назначается время сбора данных в 9, 10 и 11 утра. Это нужно для обхода ограничений, установленных PageSpeed ​​API.


Ограничения при сборе данных через API


Шаблон Google Sheets использует скрипт Google Apps для сбора данных из PageSpeed Insights. Каждый раз, когда запускается отчет, Google Apps Scripts устанавливает 6-минутный лимит времени исполнения (для обычных пользователей).


Этого времени будет достаточно, чтобы проанализировать не менее 30 URL. По истечении этого времени (если вы задали больше URL), вы получите сообщение:


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Для продолжения сбора данных достаточно просто заново запустить скрипт. Вот почему в расписании указаны часы, в которые отчет запускается повторно. Таким образом, вы соберете данные не менее чем по 120 URL.


Но тут мы сталкиваемся с еще одним препятствием — теперь уже со стороны Google Sheets. Скрипт в шаблоне срабатывает по заданному расписанию благодаря триггерам.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Проблема в том, что использование триггеров более четырех раз подряд вызывает ошибку — «Service using too much computer time for one day». Это означает, что скрипт Google Apps превысил общее допустимое время выполнения в течение одного дня.


Решение — запустить скрипт вручную.


Если у вас более 120 URL для проверки, просто запустите скрипт через «PageSpeed Menu» («Manual Push Report»). В этом случае ограничений на количество срабатывания триггеров не будет, и вы сможете проверить столько URL, сколько вам нужно.


Настройка расписания выгрузки данных


На вкладке «Settings» в поле «Log Results every» задайте день недели и время выгрузки. Учитывайте при этом расписание сбора данных. Например, если вы задали сбор данных на четверг в 8 утра, то выгружать их лучше не ранее 12 дня — чтобы они наверняка были собраны.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


После того как вы настроили расписание сбор и выгрузки данных, обязательно перейдите в «PageSpeed Menu» и нажмите «Set Report & Log Schedule». Это действие активирует расписание.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


Если вы захотите отменить выгрузку по расписанию, кликните «Reset Schedule».


После того как подойдет указанное в расписании время, скрипт перенесет данные из листа «Results» на лист «Log». При этом данные на листе «Results» исчезнут (кроме URL), а на листе «Log» будут накапливаться каждый раз после выгрузки. Таким образом, у вас будет история изменения скорости загрузки.


Автоматизируем получение данных о скорости загрузки сайта из Google PageSpeed Insights [шаблон]


PageSpeed ​​Insights API V5 позволяет выгружать все данные, представленные в аудитах Lighthouse. То есть при необходимости вы можете дополнить скрипт и получать больше данных с помощью шаблона.


+4
1,7k 21
Комментарии 6