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

    PromoPult
    47,96
    Автоматизированная рекламная платформа
    Поделиться публикацией

    Комментарии 6

      0
      ещё вот такое API существует URL Testing Tools API (если интеерсно): developers.google.com/webmaster-tools/search-console-api
        0

        Спасибо, интересно, посмотрим.

        +1
        Не всё что делает корпорация добра суть хорошо. Измерять «скорость загрузки сайта» при помощи PageSpeed — это тоже самое что измерять давление у человека барометром :)

        Обратите внимание на webpagetest.org и gtmetrix.com — и сравните полезность и функционал с сабжем.

        Вывод: проделанная вами работа по автоматизации просто бесполезна ибо ненужна :)
          0
          Обратите внимание на webpagetest.org и gtmetrix.com — и сравните полезность и функционал с сабжем.

          Тут важно понимать контекст. webpagetest.org и gtmetrix.com — это инструменты для разработчиков, перед которыми стоит конкретная задача — ускорить загрузку сайта. PSI — это инструмент оптимизатора/маркетолога [заметьте, в каких разделах Хабра опубликована статья], который отвечает за продвижение сайта в поиске и хочет узнать, как Google оценивает его скорость. На практике это выглядит так: оптимизатор анализирует сайт с помощью PSI и ставит задачу разработчику — "вот тут бы надо подкрутить". Разработчик уже пользуется более функциональными инструментами.


          Вывод: проделанная вами работа по автоматизации просто бесполезна ибо ненужна :)

          Это субъективно. В статье описан способ работы с конкретным инструментом — PSI. И только вам решать, полезен он вам или нет. В нашей практике PSI не раз помогал быстро найти "узкие места" на сайте.

            0
            С технической точки зрения Вы абсолютно правы. Но результаты поиска ранжируют не webpagetest.org и gtmetrix.com, а корпорация добра в соответствии с собственным алгоритмом. И тут выбор из двух: либо Вы делаете технически правильно и вылетаете с первой страницы, либо неправильно по алгоритмам google и висите в результатах поиска на первой странице.
            Для бизнеса выбор очевидный и безальтернативный.
            0
            И тут выбор из двух: либо Вы делаете технически правильно и вылетаете с первой страницы, либо неправильно по алгоритмам google и висите в результатах поиска на первой странице.


            Я не нахожу слов, даже неприличных чтобы это как-то комментировать.

            HINT: если всё сделать технически грамотно то автоматически и в PageSpeed у вас всё в «зелененьком будет».

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

            Самое читаемое