Google page speed api: Как получить ключ API для сервисов Google (PageSpeed Insights, Mobile-Friendly Test и Safe Browsing)

Содержание

Как получить ключ API для сервисов Google (PageSpeed Insights, Mobile-Friendly Test и Safe Browsing)

Чтобы получать данные из сервисов Google PageSpeed Insights, Mobile-Friendly Test и Safe Browsing в Netpeak Checker, необходимо получить публичный API-ключ. Этот ключ бесплатный и используется для всех этих сервисов. 

В данной инструкции мы расскажем, как его получить и активировать доступ к нужным сервисам в Netpeak Checker.

  1. Создайте проект
  2. Включите API
  3. Создайте ключ API
  4. Скопируйте ключ API
  5. Вставьте ключ в Netpeak Checker
  6. Лимиты на использование API

1. Создайте проект

В первую очередь нужно создать проект в консоли разработчика Google. Если у вас уже есть проект, то переходите к пункту 2. Если нет, то в консоли разработчика выберите опцию «Учётные данные» в левой навигационной панели. 

Затем на экране «Создать проект» укажите название «Netpeak Checker» и сохраните, нажав синюю кнопку «Создать».

2. Включите API

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

  • PageSpeed Insights. 
  • Safe Browsing API.
  • URL Testing Tools (это название API-сервиса для Mobile-Friendly тест).

Выберите сервис в результатах поиска, после чего нажмите на синюю кнопку «Включить», чтобы активировать доступ к нему по API.

Рекомендуем включить сразу три сервиса, даже если вам они не нужны сразу. Это позволит сэкономить время в будущем на подключение API.

После нажатия на кнопку «Включить» откроется страница с настройками сервиса.

3. Создайте ключ API

Чтобы создать ключ, на странице с настройками сервиса перейдите в раздел «Учётные данные», и нажмите на синий раскрывающийся список «Create Credentials». В нём выберите пункт «Ключ API».

4. Скопируйте ключ API

В появившемся всплывающем окне будет указан API-ключ. Скопируйте его и закройте всплывающее окно.

Напомним, что этот ключ подходит для всех сервисов Google, потому вам не нужно создавать другие ключи. Достаточно просто включить для всех нужных сервисов доступ так, как указано в пункте 2 этой инструкции.

В панели управления API вы можете увидеть, какие сервисы включены для проекта.

5. Вставьте ключ в Netpeak Checker

В настройках Netpeak Checker перейдите в раздел «API сервисов Google», вставьте ключ в поле «Ключ API» и нажмите кнопку «OK».

Всё готово — вы успешно подключили сервисы Google к Netpeak Checker! Теперь вы можете получать данные из Google PageSpeed Insights, Google Mobile Friendly Test и Google Safe Browsing.

6. Лимиты на использование API

Работая с Google-сервисами в Netpeak Checker, помните про ограничения на использование API. Они указаны в разделе «Квоты» в настройках каждого сервиса.

На момент написания данной инструкции лимиты такие:

1) PageSpeed Insight:

  • 25 000 запросов в день;
  • 1 000 запросов за 100 секунд;
  • 60 запросов на пользователя за 100 секунд.

2) Mobile-Friendly Test: 

  • 1 запрос в 100 секунд.

Обратите внимание: проверка Mobile-Friendly Test для большого количества страниц может занять много времени.

3) Safe Browsing:

  • 10 000 запросов в день;
  • 3 000 запросов за 100 секунд на пользователя.

Пакетная проверка скорости загрузки страниц сайта через Google API

Если вы заботитесь о скорости загрузки страниц своих сайтов, то вы, наверное, не раз пользовались инструментом Google для проверки скорости загрузки страниц – PageSpeed Insights, ну или как минимум, имеете представление о его работе.

Google PageSpeed Insights позволяет проверять скорость загрузки тех или иных элементов страниц, а также показывает общий бал скорости загрузки интересующих URL для десктопной и мобильной версии браузера.

Инструмент от поискового гиганта Google всем хорош, однако, имеет один существенный минус – он не позволяет создавать групповые проверки URL, что создает неудобства при проверке множества страниц вашего сайта: согласитесь, что вручную проверять скорость загрузки для 100 и более URL по одной странице муторно и может занять немало времени.

Поэтому, нами был создан бесплатный инструмент BulkPageSpeed, позволяющий создавать групповые проверки скорости загрузки страниц через специальный API в инструменте Google PageSpeed Insights. Анализ URL происходит всего в пару кликов, после чего доступна выгрузка отчета, включающего основные характеристики проверок в удобном виде в Excel.

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

Основные анализируемые параметры:

  • FCP (First Contentful Paint) – время отображения первого контента.
  • SI (Speed Index) – показатель того, как быстро отображается контент на странице.
  • LCP (Largest Contentful Paint) – время отображения наибольшего по размеру элемента страницы.
  • TTI (Time to Interactive) – время, в течение которого страница становится полностью готова к взаимодействию с пользователем.
  • TBT (Total Blocking Time) – время от первой отрисовки контента до его готовности к взаимодействию с пользователем.
  • CLS (Cumulative Layout Shift) – накопительный сдвиг макета. Служит для измерения визуальной стабильности страницы.

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

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

Программа BulkPageSpeed бесплатна, занимает всего 4 Мб в архиве и не требует установки.

Все что необходимо для начала работы – скачать дистрибутив и сгенерировать ключ API для работы программы по инструкции, представленной ниже.

Google Pagespeed Insights — Плагин для WordPress

Google Pagespeed Insights is a tool that empowers you to make decisions that increase the performance of your website. Recommendations from Google Pagespeed are based upon current industry best practices for desktop and mobile web performance.

Through the addition of advanced data visualization, tagging, filtering, and snapshot technology, Google Pagespeed Insights for WordPress provides a comprehensive solution for any webmaster looking to increase their site performance, their search engine ranking, and their visitors browsing experience.

Detailed Page Reporting

Sort your page reports by their Page Speed Score to prioritize the largest areas of opportunity on your site. Page reports utilize easy to read visualizations that allow you to quickly focus in on the most important data to improve your sites performance.

Report Summaries

Report Summaries are a powerful and exclusive feature of Google Pagespeed Insights for WordPress. Summaries display your average Page Score, largest areas for improvement across ALL reports, as well as best and lowest performing pages. Report summaries can be filtered to narrow results by: Pages, Posts, Categories, Custom URLs, and Custom Post Types.

Using Report Summaries allows you to ‘zoom out’ from the page-level and better understand the big picture of your sites performance.

Desktop and Mobile Page Reports

Best practices for site performance differ greatly between Desktop and Mobile device usage. Configure Google Pagespeed Insights for WordPress to generate Desktop reports, Mobile reports, or both!

Toggle back and forth between report types to see specific suggestions for improving the performance and experience on each platform.

Report Snapshots

The Report Snapshot tool builds on the power of Report Summaries, to provide historical “Point In Time” data about your website.

Take a snapshot of any Report Summary screen to store that data for future retrieval. Add comments to your snapshots to provide additional meaning, such as “Before Installing W3 Total Cache.” Additionally, filter a Report Summary before taking a Snapshot to save a summary of the filtered data.

Snapshot Comparison Tool

The Snapshot Comparison Tool is an amazing utility that lets you visualize side-by-side results from any two similar Report Snapshots.

Take a Report Snapshot before installing new plugins, or before implementing performance recommendations. Take another snapshot when you are finished and compare your results to measure the effect of your changes.

Add/Import Custom URLs

Easily add additional URLs for inclusion in Pagespeed Reports. Even add URLs for non-WordPress sites, even if they are not hosted on your server. URLs can be added manually, or upload a properly formatted XML sitemap to add multiple pages at once.

Custom URLs can be tagged and filtered in Report Summaries. Take Report Snapshots of your Custom URLs just like you would with any other report type.

Scheduled Report Checks

Configure Google Pagespeed Insights for WordPress to automatically recheck your site on a Daily, Weekly, Bi-Monthly, or Monthly basis.

With each scan, any new pages or posts will be discovered, and existing reports will be updated to reflect any changes to your site, as well as any changes in the Pagespeed recommendations.

Additional Languages
  • (v1.x translation) Russian Translation provided by: Ivanka from coupofy.com
  • (v1.x translation) Spanish Translation provided by: Ogi Djuraskovic from firstsiteguide.com
  • (v1.x translation) Serbian Translation provided by: Ogi Djuraskovic from firstsiteguide.com

Решение проблем

Please find the below list of potential issues that you may encounter, and the recommended next steps.

I entered my API Key and saved the Options, but no Reports are showing up in the Report List.
  • Google Pagespeed needs to be able to load each page to create its report. Make sure that your pages are publicly accessible over the internet.
  • Ensure that your API key is entered correctly, and that you have enabled the «PageSpeed Insights API» from the Google API Console.
  • In the Options page, under «Advanced Configuration» there is a checkbox called «Log API Exceptions». Any API exception that is not caught and handled automatically will be stored for up to 7 days. This log information can be very helpful when diagnosing issues.
Page report checks never finish all of the way, I have to press «Start Reporting» again and again to get it to finish checking all of my pages.
  • If the reports seem to always run for a certain length of time before stopping unexpectedly, you may be exceeding your servers Max Execution time. Try increasing the value in Options->Advanced Configuration «Maximum Execution Time».
  • Some web hosting providers do not allow the Maximum Execution Time to be overridden or increased. In that case you can try setting the Maximum Script Run Time. This will make the script run for the set period of time, then stop and spawn a new script, to get around timeout issues. Start with a low value, and test. Increase the value one step at a time until you find the largest value that allows your scans to finish successfully.
An error was reported while trying to check one of my pages, and it has been added to the Ignored Pages section.
  • Navigate to the Ignored Pages tab, find the page, and click «reactivate» to try it again.
  • If the page fails again, ensure that the page is publicly accessible from the internet. Non-public pages cannot be checked.
  • In some rare cases, pages are not able to be scanned by the Pagespeed API. Try checking your page manually here: https://developers.google.com/speed/pagespeed/insights/. If the page fails to be checked, report the issue to Google so that they can diagnose further.
I received a Javascript or PHP error.
  • If the error appeared while Google Pagespeed was checking pages, you may have loaded the page while it was storing data. Refresh the page in a couple seconds to see if the issue has gone away.
  • If issues persist please report the problem with as much information as you can gather, including: What page you were on, the exact text of the error, or a screenshot of the error.
  • In the Options page, under «Advanced Configuration» there is a checkbox called «Log API Exceptions». Any API exception that is not caught and handled automatically will be logged for up to 7 days. This log information can be very helpful when diagnosing issues
My Page Scores seem really low. When I click «Recheck Results» when viewing Report Details, the score jumps up dramatically.
  • Your server may have been responding slowly when the first report was generated. A slow server response time can have a large impact on your Page Speed Score. If these problems happen frequently you may want to talk with your hosting provider about the problem, or look into alternative hosting providers.
I want to clear out all of the current page reports and start over.
  1. Navigate to the «Options» tab
  2. Expand the «Advanced Configuration» section.
  3. Find the «Delete Data» Dropdown
  4. Select «Delete Reports Only» to remove all Page Reports
  5. Or Select «Delete EVERYTHING» to remove all Page Reports, Custom URLs, Snapshots, and Ignored Pages

Начало работы с API PageSpeed ​​Insights | Разработчики Google

Выполните следующую команду. Добавьте & key = yourAPIKey , если вы
используя ключ API.

curl https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://developers.google.com
 

Ответ представляет собой объект JSON. См. Ответ, чтобы узнать больше.
о каждом из свойств в объекте ответа.

{
 "captchaResult": "CAPTCHA_NOT_NEEDED",
 "kind": "pagespeedonline # result",
 "id": "https: // разработчики.google.com/ ",
 "loadingExperience": {
  "id": "https://developers.google.com/",
  "метрики": {
   "FIRST_CONTENTFUL_PAINT_MS": {
    «процентиль»: 3482,
    "распределения": [
     {
      «мин»: 0,
      «макс»: 1000,
      «пропорция»: 0,37151728768042963
     },
     {
      «мин»: 1000,
      «макс»: 2500,
      «пропорция»: 0,42441535191
     },
     {
      «мин»: 2500,
      "пропорция": 0.2040673604117713
     }
    ],
    «категория»: «МЕДЛЕННО»
   },
   "FIRST_INPUT_DELAY_MS": {
    «процентиль»: 36,
    "распределения": [
     {
      «мин»: 0,
      «макс»: 50,
      «пропорция»: 0.960628961482204
     },
     {
      «мин»: 50,
      «макс»: 250,
      «пропорция»: 0,02888834714773281
     },
     {
      «мин»: 250,
      «пропорция»: 0,010482691370063388
     }
    ],
    «категория»: «БЫСТРО»
   }
  },
  "общая_категория": "МЕДЛЕННО",
  "initial_url": "https://developers.google.com/"
 },
 "originLoadingExperience": {
  "id": "https://developers.google.com",
  "метрики": {
   "FIRST_CONTENTFUL_PAINT_MS": {
    «процентиль»: 2761,
    "распределения": [
     {
      «мин»: 0,
      «макс»: 1000,
      «пропорция»: 0.4236433226493666
     },
     {
      «мин»: 1000,
      «макс»: 2500,
      «пропорция»: 0.45045120795679117
     },
     {
      «мин»: 2500,
      «пропорция»: 0,125

93938423 } ], «категория»: «МЕДЛЕННО» }, "FIRST_INPUT_DELAY_MS": { «процентиль»: 45, "распределения": [ { «мин»: 0, «макс»: 50, «пропорция»: 0,9537371485251699 }, { «мин»: 50, «макс»: 250, «пропорция»: 0,03044972719889055 }, { «мин»: 250, «пропорция»: 0.01581312427593959 } ], «категория»: «БЫСТРО» } }, "общая_категория": "МЕДЛЕННО", "initial_url": "https://developers.google.com/" }, "lighthouseResult": { "requiredUrl": "https://developers.google.com/", "finalUrl": "https://developers.google.com/", "lighthouseVersion": "3.2.0", "userAgent": "Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, например, Gecko) HeadlessChrome / 72.0.3584.0 Safari / 537.36", "fetchTime": "2018-11-01T03: 03: 58.394Z", "среда": { "networkUserAgent": "Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3559.0 Safari / 537.36 ", "hostUserAgent": "Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, например, Gecko) HeadlessChrome / 72.0.3584.0 Safari / 537.36", BenchmarkIndex: 590,0 }, "runWarnings": [], "configSettings": { "emulatedFormFactor": "рабочий стол", "locale": "en-US", "onlyCategories": [ "представление" ] }, "audits": { "предполагаемая-входная-задержка": { "id": "расчетная-задержка ввода", "title": "Расчетная задержка ввода", "description": "Приведенная выше оценка является оценкой того, сколько времени требуется вашему приложению, чтобы ответить на ввод пользователя, в миллисекундах в течение самого загруженного окна загрузки страницы в 5 секунд.Если ваша задержка превышает 50 мс, пользователи могут воспринимать ваше приложение как тормозящее. [Подробнее…] (https://developers.google.com/web/tools/lighthouse/audits/estimated-input-latency). ", «оценка»: 1,0, "scoreDisplayMode": "числовой", "displayValue": "30 мс" }, "uses-rel-preconnect": { "id": "uses-rel-preconnect", "title": "Предварительно подключиться к требуемому источнику", "description": "Рассмотрите возможность добавления подсказок ресурсов preconnect или dns-prefetch, чтобы установить ранние подключения к важным сторонним источникам.[Подробнее…] (https://developers.google.com/web/fundamentals/performance/resource-prioritization#preconnect). ", «оценка»: 1,0, "scoreDisplayMode": "числовой", "Детали": { "заголовки": [], "тип": "возможность", "Предметы": [], "totalSavingsMs": 0,0 } }, ... }, "категории": { "представление": { "id": "производительность", "title": "Спектакль", «оценка»: 0,96, "auditRefs": [ { "id": "first-contentful-paint", «вес»: 3,0, "группа": "показатели" }, { "id": "первая значимая краска", «вес»: 1.0, "группа": "показатели" }, ... ] } }, "categoryGroups": { "a11y-element-names": { "title": "Элементы имеют понятные имена", "description": "Это возможности для улучшения семантики элементов управления в вашем приложении. Это может улучшить работу пользователей вспомогательных технологий, таких как программа чтения с экрана". }, "a11y-language": { "title": "На странице указан допустимый язык", "description": "Это возможности улучшить интерпретацию вашего контента пользователями в разных регионах." }, ... }, "i18n": { "rendererFormattedStrings": { "varianceDisclaimer": "Значения являются приблизительными и могут отличаться.", "possibleResourceColumnLabel": "Возможность", "possibleSavingsColumnLabel": "Предполагаемая экономия", "errorMissingAuditInfo": "Сообщить об ошибке: нет информации аудита", "errorLabel": "Ошибка!", "warningHeader": "Предупреждения:", "auditGroupExpandTooltip": "Показать аудиты", "passAuditsGroupTitle": "Аудиты пройдены", "notApplicableAuditsGroupTitle": "Неприменимо", "manualAuditsGroupTitle": "Дополнительные элементы для проверки вручную", "toplevelWarningsMessage": "Возникли проблемы, влияющие на этот запуск Lighthouse:", "scorescaleLabel": "Шкала оценок:", "crcLongestDurationLabel": "Максимальная задержка критического пути:", "crcInitialNavigation": "Начальная навигация", «lsPerformanceCategoryDescription»: «[Lighthouse] (https: // developers.google.com/web/tools/lighthouse/) анализ текущей страницы в эмулируемой мобильной сети. Значения являются приблизительными и могут отличаться. ", "labDataTitle": "Лабораторные данные" } } }, "analysisUTCTimestamp": "2018-11-01T03: 03: 58.394Z" }

Повышение скорости загрузки страниц с помощью Google PageSpeed ​​Insights в приложениях Rails

«Если вы не можете измерить это, вы не можете это улучшить». — Питер Друкер

Представьте себе это. Вы загружаете сайт на свой телефон. Вы ждете, пока пройдет одна секунда… две секунды … три секунды …

В этот момент — трехсекундная отметка — каждый второй пользователь потерял интерес к вашему сайту и ушел. Эти данные показывают, почему скорость страницы так важна: это, несомненно, один из самых важных показателей при создании веб-сайта. Рассмотрим следующее:

При чем здесь Rails? Rails широко используется в веб-разработке. Фактически, почти каждый пятый из 10 000 крупнейших сайтов (измеряемых по трафику) построен на Rails. Rails известен как фреймворк, который быстро учится, легко строить из-за его соглашения о парадигме конфигурации и который приятно использовать.Но, как и в случае с любым языком, есть шаги, которые мы можем предпринять для повышения производительности сети при работе с кодовой базой Rails.

В этой статье мы собираемся изучить, как интегрировать Google PageSpeed ​​Insights API в наше приложение Rails. Наша интеграция будет основана на предположении, что мы размещаем приложение на Heroku, при условии, что вы знаете, как использовать Rails CLI и ActiveRecord.

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

Google PageSpeed ​​Insights API

Google PageSpeed ​​Insights (PSI) сообщает об эффективности, доступности и SEO сайта, а также предоставляет элементы действий для внесения улучшений. В этой статье мы сосредоточимся на отчетах об эффективности.

PSI можно использовать одним из нескольких способов: через веб-приложение, инструменты разработчика Chrome, расширения браузера или API. Чтобы окунуться в круг предложений PSI, вы можете перейти на https://web.dev/measure/ и ввести URL-адрес для анализа производительности страницы.Отчет будет выглядеть примерно так:

Если вы используете Chrome, вы также можете получить к нему доступ из инструментов разработчика через вкладку Lighthouse или вкладку Audits, если вы используете более старую версию Chrome.

Это довольно просто, но я хочу выделить одну вещь, это раздел «Возможности» как для веб-приложения, так и для инструментов разработки. Здесь перечислены потенциальные улучшения, отсортированные по наибольшему влиянию. При расширении возможности будет открыта ссылка на статью Google PSI, в которой объясняется этот показатель и способы его улучшения.

Последний метод доступа к Google PSI, который мы обсудим сегодня, — это API Google PageSpeed ​​Insights. API получает те же данные, что и веб-приложение и инструменты разработчика Chrome, которые мы обсуждали в предыдущих параграфах, но он позволяет нам программно создавать отчеты и сохранять метрики для анализа. В оставшейся части статьи мы будем интегрировать API с нашим приложением Rails.

Я знаю, о чем вы думаете: «Зачем нам тратить время разработки на интеграцию API, если веб-приложение и инструменты разработки возвращают ту же информацию и могут использоваться немедленно?» Что ж, API дает ряд преимуществ.Мы можем инициировать вызов API через задание cron, чтобы получать ежедневные метрики для сохранения в нашей базе данных и создания отчетов. В качестве альтернативы мы можем активировать API при развертывании и включить его в наш рабочий процесс CI / CD. В любом случае использование API программным способом позволяет нам отслеживать производительность нашего приложения и немедленно замечать ошибочное поведение.

Как реализовать API Google PageSpeed ​​Insights

В этом примере мы будем ежедневно звонить в Google PSI и сохранять его в нашей базе данных для отчетов.

Мы разделим это на пять этапов:

  1. Создайте модель PageSpeed ​​Insight
  2. (необязательно) Получите ключ API Google PageSpeed ​​Insight
  3. Создайте класс Rails, который будет действовать как наш клиент PSI
  4. Создайте задачу rake который вызовет наш клиент PSI
  5. Реализуйте задание cron для сбора метрик PSI с помощью Heroku Scheduler

Сначала давайте создадим нашу модель через командную строку:

Теперь давайте получим ключ API из API Google.В зависимости от того, как вы планируете использовать Google PSI, этот шаг может быть необязательным. Если вы просто тестируете это, ключ API не требуется. Если вы планируете использовать это в производственной среде с большим объемом использования, вероятно, потребуется ключ API.

Когда у вас есть ключ API, пора выполнить вызов API и сохранить данные в нашей новой модели. Он должен выглядеть примерно так:

Затем нам нужно будет указать, какие URL-адреса мы хотим протестировать, и подготовить задания для планирования.Давайте сделаем это в задаче с граблями:

В нашем примере мы будем использовать Heroku и бесплатное дополнение Heroku Scheduler, чтобы запускать эту задачу ежедневно. Если у вас есть какие-либо вопросы о настройке Heroku Scheduler, их документация достаточно обширна.

После добавления задачи в Heroku Scheduler, задача rake будет выполняться ежедневно в указанное время:

В качестве альтернативы вы можете использовать выбранный гем планировщика cron, чтобы запустить следующую задачу rake:

Последняя и, возможно, самая важным шагом является использование данных.После выполнения запланированного задания в нашей базе данных появятся данные Google PSI, готовые для анализа. График ниже является одним из примеров того, как вы можете отобразить эти данные. Я бы порекомендовал подключить это к вашему выбору инструмента анализа данных, чтобы эти показатели всегда были в центре внимания, и настраивать оповещения, если баллы упадут ниже определенного порога.

Если вы увлечены отслеживанием и повышением производительности своего сайта, есть компании, которые построены вокруг продуктов для мониторинга производительности приложений. Два лидера отрасли, New Relic и Datadog, имеют бесплатные уровни с ограниченным числом пользователей или пробные версии для тестирования своего программного обеспечения.Google PSI даст вам лучшее представление о том, как их алгоритм ранжирования оценивает вашу производительность, но их список функций не соответствует ни одной платной услуге.

Завершение всего

В этом блоге мы обсудили важность скорости страницы и то, как использовать Google PageSpeed ​​Insights API с вашим приложением Rails. Если вы хотите узнать больше, перейдите по ссылкам ниже:

Об авторе: Тейлор Вонг (Taylor Wong) — инженер по развитию в HomeLight.

Импорт данных API Google PageSpeed ​​Insights в Google Таблицы [2021]

В этом руководстве мы расскажем, как загружать данные Google PageSpeed ​​Insights непосредственно в Google Таблицы с помощью надстройки API Connector для Таблиц.PageSpeed ​​Insights — это инструмент Google для измерения и анализа эффективности веб-страниц. Вы могли видеть данные из этого API при запуске аудита Lighthouse вашего сайта, который извлекает данные PageSpeed ​​Insights и представляет их в консоли вашего браузера следующим образом:

С помощью этого API вы можете видеть эти данные в Таблицах вместо (или в в дополнение к) просмотру отчета Lighthouse в вашем браузере.

СОДЕРЖАНИЕ

ПРЕЖДЕ ЧЕМ НАЧАТЬ

Щелкните здесь, чтобы установить надстройку API Connector из Google Marketplace.

ЧАСТЬ 1. ПОДКЛЮЧЕНИЕ К API GOOGLE PAGESPEED INSIGHTS

Если вы раньше не подключали API Connector к Google PageSpeed ​​Insights API, вам сначала нужно инициировать соединение следующим образом:

  1. Откройте Google Таблицы и нажмите Надстройки> Коннектор API> Управление подключениями.
  2. В списке доступных подключений найдите «Google PageSpeed» и нажмите «Подключиться».
  3. Вы будете перенаправлены на google.com и попросите войти в систему.
  4. После этого вы вернетесь в свою таблицу Google и сможете проверить, активно ли ваше соединение с Google PageSpeed ​​Insights, на экране «Подключения».

ЧАСТЬ 2. СОЗДАНИЕ ЗАПРОСА API GOOGLE PAGESPEED INSIGHTS

Сначала мы проследим документацию Google PageSpeed ​​Insights API, чтобы получить сводку всех оценок аудита, предоставленных Lighthouse.

  • Корень API : https://www.googleapis.com
  • Конечная точка : / pagespeedonline / v5 / runPagespeed
  • Строки запроса 😕 Url = https: //mixedanalytics.com&fields=lighthouseResult/ / * / score & strategy = mobile & category = performance & category = pwa & category = лучшие практики & category = accessibility & category = seo

Обратите внимание на различные строки запроса, которые вы можете изменить: в ‘url’ вы можете подставить свой собственный URL, в ‘strategy’ вы можете выбрать мобильный или рабочий стол, а в разделе «Поля» вы можете выбрать поля, которые хотите вернуть.

Собирая все вместе, мы получаем полный URL запроса API:

  https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://mixedanalytics.com&fields=lighthouseResult/categories/*/score&strategy = mobile & category = performance & category = pwa & category = best-Practices & category = accessibility & category = seo  

ЧАСТЬ 3: ВЫВОДИТЕ ДАННЫЕ API GOOGLE PAGESPEED INSIGHTS В ЛИСТЫ

Теперь мы можем ввести наши значения в API Connector и начать импорт данных Google PageSpeed ​​Insights в Google Таблицы.

  1. В API Connector нажмите Create, выберите GET в раскрывающемся меню и вставьте URL-адрес запроса, который мы создали выше.
  2. В заголовках введите Key = Accept, Value = application / json.
  3. Выберите «Google PageSpeed» из раскрывающегося списка аутентификации.
  4. Создайте новую вкладку и нажмите «Установить текущую», чтобы использовать эту вкладку в качестве места назначения данных.
  5. Назовите свой запрос и нажмите «Выполнить». Через мгновение вы увидите, как ваши итоговые баллы появятся на вашей таблице.Обратите внимание, что они могут не совсем соответствовать тому, что вы видите в своем аудите Lighthouse, потому что оценки различаются между запусками.

ЧАСТЬ 4: ДОПОЛНИТЕЛЬНЫЕ ПРИМЕРЫ PAGESPEED API ЗАПРОСОВ

Сведения о времени загрузки

  https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://mixedanalytics.com , loadingExperience & strategy = mobile  

Конструктор выражений

Документация Google PageSpeed ​​Insights также содержит удобный конструктор выражений, который можно использовать для создания и тестирования запросов.Затем вы можете взять полученный фрагмент cURL и скопировать / вставить его в коннектор API (Надстройки> Коннектор API> Импорт / экспорт> Импортировать cURL). Просто не забудьте удалить заголовок авторизации, поскольку мы обрабатываем авторизацию через диспетчер соединений OAuth3.

Google PageSpeed ​​и мобильный API

API PageSpeed ​​используется как для запросов PageSpeed ​​(для компьютеров и мобильных устройств), так и для запросов, удобных для мобильных устройств.

Чтобы получить доступ к Google PageSpeed ​​API, вам необходимо авторизовать профилировщик URL, создав публичный ключ API доступа.Вы можете получить бесплатный ключ API Google PageSpeed ​​из консоли разработчика Google.

Примечание: Если у вас уже есть ключ API, настроенный для безопасного просмотра Google, вы можете использовать тот же ключ API для PageSpeed. Вам просто нужно включить API (шаг 2 ниже), а затем использовать существующий ключ API как для PageSpeed, так и для безопасного просмотра (шаг 5).

ОБНОВЛЕНИЕ

: для правильной работы Mobile Friendly, пожалуйста, включите Google Search Console API.

1. Создайте проект

Для начала нужно создать проект.Нажмите на опцию «Учетные данные» в левой навигационной панели, затем на экране «Создать проект» назовите свой проект «Профилировщик URL» и щелкните, чтобы создать его.

2. Включить API

Теперь перейдите к экрану «Библиотека» с помощью левой панели навигации.

Перед созданием ключа необходимо убедиться, что вы авторизовали PageSpeed ​​Insights API. Выполните поиск по запросу «скорость страницы» в поле поиска.

Это тот, который нам нужен, поэтому просто нажмите на него.

Затем просто нажмите синюю кнопку «Включить».

3. Создайте ключ API

Теперь вам нужно создать ключ. Перейдите в раздел «Учетные данные», и вы столкнетесь с наложением «Создать учетные данные».

Щелкните синий раскрывающийся список и выберите первый вариант «Ключ API».

4. Скопируйте ключ API

Это создаст ваш ключ API, который будет отображаться в поле наложения.

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

5. Вставить в профилировщик URL

Вставьте ключ в поле Google PageSpeed ​​в настройках своей учетной записи профилировщика URL.

Все готово! Теперь вы можете получить данные Google PageSpeed ​​Insights для любого списка URL-адресов (по умолчанию ограничено 25 000 запросов в день) и / или выполнить удобную для мобильных устройств проверку списка URL-адресов.

Просто отметьте любую комбинацию кнопок: Mobile Friendly, Mobile PageSpeed, Desktop PageSpeed ​​- все они работают с помощью PageSpeed ​​API.

Начало работы с Google Page Speed ​​API

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

Чтобы понять, влияет ли время загрузки на удержание и конверсию вашей аудитории, отлично подойдет инструмент Google Page Speed ​​Insights.

Что такого хорошего в API Page Speed ​​Insights?

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

Вот где появляется API. API Google Page Speed ​​Insights дает нам возможность анализировать производительность многих страниц и регистрировать результаты без необходимости явно запрашивать URL-адреса по одному и интерпретировать результаты вручную.

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

Это руководство предполагает некоторое знакомство со сценариями. Здесь мы используем Python для взаимодействия с API и анализа результатов.

Цели

Из этого поста вы узнаете, как:

  1. Создание запроса API Google Page Speed ​​Insights
  2. Сделать запросы API для таблицы URL-адресов
  3. Извлечь основную информацию из ответа API
  4. Запустите данный пример сценария в Python

Подготовка к работе

Есть несколько шагов, которые вам необходимо выполнить, прежде чем запрашивать Page Speed ​​Insights API с помощью Python.

  • Настройка API: Для многих API Google требуются ключи API, пароли и другие меры аутентификации. Однако для начала работы с Google Page Speeds API ничего этого не требуется!
  • Установка Python 3: Если вы никогда раньше не использовали python, мы рекомендуем начать с дистрибутива Anaconda (версия Python 3.x), который устанавливает python вместе с популярными библиотеками анализа данных, такими как Pandas.

Выполнение запросов

Основы запроса

API может быть запрошен в этой конечной точке с помощью запросов GET:

  ПОЛУЧИТЬ https: // www.googleapis.com/pagespeedonline/v5/runPagespeed  

Затем мы добавляем дополнительные параметры, чтобы указать URL-адрес, для которого мы хотим найти скорость страницы и тип устройства, которое будет использоваться, как показано ниже:

  https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={url}&strategy={device_type}  

При выполнении запросов следует заменить {url} URL-адресом страницы вашего веб-сайта в кодировке URL, а {device_type} — мобильным или настольным, чтобы указать тип устройства.

Пакеты Python

Чтобы делать запросы, принимать их, а затем записывать результаты в таблицы, мы будем использовать несколько библиотек Python:

  • urllib : для выполнения HTTP-запросов.
  • json : для анализа и чтения объектов ответа.
  • pandas : для сохранения результатов в формате CSV.

Построение запроса

Чтобы сделать запрос API с использованием Python, мы можем использовать urllib.request.urlopen метод:

  импорт urllib.request
импортировать urllib.parse

url = 'http://www.example.com'
escaped_url = urllib.parse.quote (URL)
device_type = 'мобильный'

# Создать URL запроса
content = urllib.request.urlopen (
    'https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url= {} & strategy = {}'
    .format (escape_url, тип_устройства)
) .read (). decode ('UTF-8')  

Этот запрос должен вернуть (на удивление большой) ответ JSON.Мы обсудим это более подробно в ближайшее время.

Выполнение нескольких запросов

Основным преимуществом этого API является то, что он позволяет нам определять скорость страницы для пакетов URL-адресов. Давайте посмотрим, как это можно сделать с помощью Python.

Один из вариантов — сохранить параметры запроса ( url и device_type ) в CSV, который мы можем загрузить в Pandas DataFrame для перебора. Обратите внимание, что каждый запрос или уникальная пара url + device_type имеет свою собственную строку.

Сохранять данные в CSV
  URL, тип_устройства
0, https://www.example.com, рабочий стол
1, https://www.example.com, мобильный
2, https://www.example.com/blog, рабочий стол
3, https://www.example.com/blog, моб.  
Загрузить CSV
  импортировать панд как pd
df = pd.read_csv  (url_file) 

Когда у нас есть набор данных со всеми URL-адресами для запроса, мы можем перебирать их и делать запросы API для каждой строки. Это показано ниже:

  время импорта

# Здесь будут храниться ответы
response_object = {}

# Итерация через df
для i в диапазоне (0, len (df)):

    # Обработка ошибок
    пытаться:
        print ('Запрашивающая строка #:', i)

        # Определяем параметры запроса
        url = df.iloc [i] ['URL']
        device_type = df.iloc [i] ['device_type']

        # Запрос решений
        content = urllib.request.urlopen (
            'https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url= {} & strategy = {}'
            .format (URL, тип_устройства)
        ) .read (). decode ('UTF-8').

        # Преобразует в формат json
        content_json = json.loads (содержимое)

        # Вставить возвращенный ответ json в response_object
        response_object [device_type] [url] = contents_json
        print ('Спать 20 секунд между ответами.')
        время сна (20)


 кроме исключения как e:
print ('Ошибка:', e)
        print ('Возвращается пустой ответ для url:', url)
объект_ответа [тип_устройства] [url] = {}  

Чтение ответа

Перед применением каких-либо фильтров или форматирования данных мы можем сначала сохранить полные ответы для будущего использования, например:

  импорт json
from datetime import datetime

f_name = 'данные / {} - response.json'.формат (datetime.now (). strftime ("% Y-% m-% d_% H:% M:% S"))

с open (f_name, 'w') в качестве файла Outfile:
    json.dump (объект_ответа, выходной файл, отступ = 4)  

Как упоминалось выше, каждый ответ возвращает объект JSON. У них есть много различных свойств, относящихся к данному URL-адресу, и они слишком велики, чтобы их можно было расшифровать без фильтрации и форматирования.

Для этого мы будем использовать библиотеку Pandas, которая упрощает извлечение нужных нам данных в формате таблицы и экспорт в CSV.

Это общая структура ответа. Данные о времени загрузки сведены к минимуму из-за его размера.

Общая структура реагирования

Помимо прочей информации, в ответ включены два основных источника данных о скорости страницы: лабораторные данные, хранящиеся в lighthouseResult, и полевые данные, хранящиеся в loadExperience. В этом посте мы сосредоточимся только на полевых данных, которые собираются на основе реальных пользователей в браузере Chrome.

В частности, мы собираемся извлечь следующие метрики:

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

    Время загрузки первой Contentful Paint в миллисекундах с пометкой «процентиль» и пропорцией медленного, среднего и быстрого.

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

Если мы назовем наш фрейм данных Pandas df_field_responses, вот как мы извлечем эти свойства:

  импортировать панд как pd

# Укажите device_type (мобильный или настольный)
device_type = 'мобильный'

# Создать фрейм данных для хранения ответов
df_field_responses = pd.DataFrame (
    columns = ['запрошенный_url',
             'final_url',
             'FCM_ms',
             'FCP_category',
             'FCP_fast',
             'FCP_avg',
             'FCP_slow'
    ]
)

для (url, i) в zip (
    объект_ответа [тип_устройства] .keys (),
    диапазон (0, len (df_field_responses))
):

    пытаться:
        print ('Попытка вставить ответ для url:', url)
        # Мы повторно используем это ниже при выборе данных из ответа
        fcp_loading = объект_ответа [тип_устройства] [URL-адрес]
            ['loadingExperience'] ['показатели'] ['FIRST_CONTENTFUL_PAINT_MS']

        # URL
        df_field_responses.loc [i, 'required_url'] =
            объект_ответа [тип_устройства] [URL] ['lighthouseResult'] ['requiredUrl']
        df_field_responses.loc [i, 'final_url'] =
            объект_ответа [тип_устройства] [URL] ['lighthouseResult'] ['finalUrl']

        # Опыт загрузки: первая Contentful Paint (мс)
        df_field_responses.loc [i, 'FCP_ms'] = fcp_loading ['процентиль']
        df_field_responses.loc [i, 'FCP_category'] = fcp_loading ['категория']

        # Пропорции: первая содержательная краска
        df_field_responses.loc [i, 'FCP_fast'] =
            fcp_loading ['распределения'] [0] ['пропорция']
        df_field_responses.loc [i, 'FCP_avg'] =
            fcp_loading ['распределения'] [1] ['пропорция']
        df_field_responses.loc [i, 'FCP_slow'] =
            fcp_loading ['распределения'] [2] ['пропорция']

        print ('Вставлено для строки {}: {}'. format (i, df_field_responses.loc [i]))

кроме исключения как e:
        print ('Ошибка:', e)
        print ('Заполнение строки ошибкой для строки: {}; url: {}'.формат (я, URL))
        # Заполните 'Ошибка' для строки, если поле не может быть найдено
df_field_responses.loc [i] = ['Ошибка' для i в диапазоне (0, len (df_field_responses.columns))]  

Затем, чтобы сохранить фрейм данных, df_field_responses, в CSV:

  df_field_responses.to_csv ('page_speeds_filtered_responses.csv', index = False)  

Запуск скриптов на GitHub

Репозиторий на GitHub содержит инструкции по запуску файлов, но вот краткая разбивка.

  1. Перед запуском примеров сценариев на GitHub вам нужно будет клонировать репозиторий, используя
    • git clone https://github.com/Ayima/page-speed-blog-post.git
  2. Затем создайте файл CSV с URL-адресами для запроса.
  3. Введите в конфигурационный файл имя файла URL.
  4. Команда для запуска скриптов:
  python main.py --config-file config.json  

Что следует иметь в виду:

API имеет ограничение на количество запросов, которые вы можете делать в день и в секунду.

Есть несколько способов подготовиться к этому, в том числе:

  • Обработка ошибок: Повторные запросы, возвращающие ошибку
  • Регулирование: в вашем скрипте для ограничения количества запросов, отправляемых в секунду, и повторного запроса в случае сбоя URL-адреса.
  • Получите ключ API, если необходимо (обычно, если вы делаете более одного запроса в секунду).

Надеюсь, после прочтения этого руководства вы сможете приступить к выполнению некоторых базовых запросов к API Google Page Speed ​​Insights.Не стесняйтесь обращаться к нам в Twitter @ayima, если у вас возникнут какие-либо вопросы или возникнут проблемы!

Как мы используем API скорости страницы в Ayima

Здесь, в Ayima, мы постоянно собираем и храним скорость страниц для клиентов. Это помогает нам следить за состоянием их веб-сайтов и выявлять негативные или позитивные тенденции. Контролируя скорость для различных страниц, мы можем визуализировать производительность по разделам сайта или типу страницы (например, страницы продуктов или страницы категорий для веб-сайтов электронной торговли).

Мы также отслеживаем другие интересные метрики, предоставляемые API, включая данные Google Lab, и представляем все на интерактивной панели инструментов. Для получения дополнительной информации свяжитесь с нами, мы будем рады поговорить с вами!

Исходный код: Здесь вы можете найти проект GitHub с примером сценария для запуска.

Как автоматизировать анализ скорости страницы [для нескольких URL-адресов с использованием Google Таблиц]

Взгляды автора полностью принадлежат ему (за исключением маловероятного случая гипноза) и могут не всегда отражать взгляды Moz.

Расчет показателей производительности скорости отдельной страницы может помочь вам понять, насколько эффективно работает ваш сайт в целом. Поскольку Google использует скорость сайта (часто измеряемую и называемую PageSpeed) в качестве одного из сигналов, используемых его алгоритмом для ранжирования страниц, важно иметь это представление вплоть до уровня страницы.

Однако одной из болевых точек при оптимизации производительности веб-сайта является отсутствие возможности легко проводить массовые оценки скорости загрузки страниц.Существует множество отличных инструментов, таких как PageSpeed ​​Insights или плагин Lighthouse для Chrome, которые могут помочь вам лучше понять производительность отдельной страницы, но эти инструменты не так легко настроить, чтобы помочь вам собрать информацию для нескольких URL-адресов и создать отдельные отчеты для сотен или даже тысячи страниц не совсем осуществимы или эффективны.

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

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

В ноябре 2018 года, через два месяца после того, как я опубликовал этот метод, Google выпустила версию 5 API PageSpeed ​​Insights. V5 теперь использует Lighthouse в качестве механизма анализа, а также включает полевые данные, предоставленные Chrome User Experience Report (CrUX). Короче говоря, эта версия API теперь легко предоставляет все данные, которые предоставляются в аудитах Chrome Lighthouse.

Итак, я вернулся к чертежной доске и рад сообщить, что теперь существует более простой автоматизированный метод массового создания отчетов Lighthouse с использованием Google Sheets и Pagespeed Insights API v5.

Представляем автоматизированный отчет PageSpeed ​​Insights:

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

Все, что вам понадобится, — это копия этой таблицы Google, бесплатный ключ Google API и список URL-адресов, по которым вы хотите получать данные. Но сначала давайте проведем краткий обзор.

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

Лист Google состоит из трех следующих вкладок:

Настройки

На этой вкладке вам потребуется предоставить уникальный ключ Google API, чтобы лист работал.

Получение ключа Google API

1. Посетите страницу учетных данных Google API.

2. Выберите параметр ключа API из раскрывающегося списка «Создать учетные данные» (как показано):

3. Теперь вы должны увидеть приглашение с уникальным ключом API:

    4.Затем просто скопируйте и вставьте этот ключ API в показанный ниже раздел на вкладке «Настройки» электронной таблицы Automated Pagespeed Insights.

    Теперь, когда у вас есть ключ API, вы готовы использовать инструмент.

    5. Наконец, убедитесь, что API PageSpeed ​​включен. Это позволяет скрипту Google Sheet взаимодействовать с PageSpeed ​​API.

    Настройка расписания отчета

    На вкладке «Настройки» вы можете запланировать, в какой день и время отчет должен запускаться каждую неделю.Как видно из приведенного ниже снимка экрана, мы настроили начало этого отчета каждую среду в 8:00. Будет установлено местное время, определенное вашей учетной записью Google.

    Как видите, этот параметр также назначает отчет для запуска в течение следующих трех часов в тот же день. Это обходной путь к ограничениям, установленным как скриптами Google Apps, так и API Google PageSpeed.

    Ограничения

    В нашей таблице Google используется скрипт Google Apps, который запускает все закулисные чудеса.Каждый раз при запуске отчета скрипты Google Apps устанавливают ограничение времени выполнения в шесть минут (тридцать минут для пользователей G Suite Business / Enterprise / Education и Early Access).

    Через шесть минут вы сможете извлечь PageSpeed ​​Insights примерно для 30 URL-адресов.

    Затем вы увидите следующее сообщение:

    Чтобы продолжить выполнение функции для остальных URL-адресов, нам просто нужно запланировать повторное выполнение отчета. Вот почему этот параметр будет запускать отчет еще три раза в последовательные часы, начиная с того места, где он остановился.

    Следующим препятствием является ограничение, установленное самими Google Таблицами.

    Если вы посчитаете, то увидите, что, поскольку мы можем автоматизировать отчет только четыре раза, теоретически мы сможем получить данные PageSpeed ​​Insights только для примерно 120 URL. Это не идеально, если вы работаете с сайтом, на котором больше нескольких сотен страниц !.

    Функция расписания на вкладке «Настройки» использует встроенную функцию триггеров Google Таблицы. Это указывает нашему сценарию Google Apps автоматически запускать отчет в определенный день и время.К сожалению, использование этой функции более четырех раз вызывает сообщение «Служба использует слишком много компьютерного времени в течение одного дня».

    Это означает, что наш скрипт Google Apps превысил общее допустимое время выполнения в течение одного дня. Чаще всего это происходит для скриптов, запускаемых по триггеру, у которых дневной лимит ниже, чем у скриптов, выполняемых вручную.

    Вручную?

    Готово! Если у вас есть более 120 URL-адресов, для которых вы хотите получить данные, вы можете просто использовать кнопку «Ручной push-отчет».Он делает именно то, что вы думаете.

    Ручной push-отчет

    После нажатия кнопки «Ручной push-отчет» (ссылка на которую находится в меню PageSpeed ​​в Google Sheet) будет запущен отчет. Он продолжится с того места, где остановился, и данные будут заполнены в полях рядом с вашими URL-адресами на вкладке «Результаты».

    Для ясности, вам даже не нужно планировать запуск отчета, чтобы использовать этот документ. После того, как у вас есть ключ API, все, что вам нужно сделать, это добавить свои URL-адреса на вкладку «Результаты» (начиная с ячейки B6) и нажать «Manual Push Report».

    Вы, конечно, увидите неизбежное сообщение «Превышено максимальное время выполнения» через шесть минут, но вы можете просто отклонить его и снова и снова нажимать «Отправить отчет вручную», пока не закончите. Он не полностью автоматизирован, но должен позволить вам относительно быстро собирать необходимые данные.

    Настройка расписания журнала

    Другой функцией на вкладке «Настройки» является функция «Результаты журнала».

    Это автоматически возьмет данные, которые были заполнены на вкладке «Результаты», и переместит их на лист журнала.После копирования результатов он автоматически очищает заполненные данные на вкладке «Результаты», чтобы при наступлении следующего запланированного времени выполнения отчета он мог соответственно собрать новые данные. В идеале вам следует установить день и время журнала после запуска запланированного отчета, чтобы у него было время для сбора и регистрации всех данных.

    Вы также можете вручную поместить данные в журнал, используя кнопку «Ручное нажатие журнала» в меню.

    Как подтвердить и настроить расписания отчетов и журналов

    После того, как вы будете довольны расписанием для отчета и журнала, обязательно установите его, используя «Установить отчет и расписание журнала» из меню PageSpeed ​​(как показано ):

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

    Затем настройте функции runLog и runTool с помощью триггеров Google Script.

    • runLog контролирует, когда данные будут отправлены на лист LOG.
    • runTool управляет запуском API для каждого URL-адреса.

    Просто щелкните значок карандаша рядом с каждой соответствующей функцией и настройте время по своему усмотрению.

    Вы также можете использовать кнопку «Reset Schedule» в меню PageSpeed ​​(рядом с Help), чтобы удалить все запланированные триггеры. Это может быть полезным ярлыком, если вы просто используете интерфейс на вкладке «Настройки».

    Вкладка результатов PageSpeed ​​

    На этой вкладке будут создаваться данные PageSpeed ​​Insights для каждого предоставленного вами URL. Все, что вам нужно сделать, это добавить список URL-адресов, начиная с ячейки B6. Вы можете либо дождаться прибытия запланированного времени отчета, либо использовать кнопку «Отправить отчет вручную».

    Теперь вы должны увидеть следующие данные, генерируемые для каждого соответствующего URL-адреса:

    • Время до взаимодействия
    • Первая содержательная отрисовка
    • Первая значимая отрисовка
    • Время до первого байта
    • Индекс скорости

    Вы также увидите столбец для последнего запуска отчета и статуса на этой вкладке.Это сообщит вам, когда были собраны данные и был ли запрос на вытягивание успешным. Успешный запрос API покажет статус «завершен» в столбце «Статус».

    Вкладка «Журнал»

    Регистрация данных — полезный способ вести исторический учет этих важных показателей скорости. На этой вкладке нечего изменять, однако вам нужно убедиться, что там много пустых строк. Когда запускается функция runLog (которая управляется расписанием журнала, которое вы назначаете на вкладке «Настройки» или с помощью кнопки «Журнал вручную» в меню), она перемещает все строки из вкладки «Результаты», которая содержит состояние «полный».Если на вкладке «Журнал» нет пустых строк, данные просто не копируются. Все, что вам нужно сделать, это добавить несколько тысяч строк в зависимости от того, как часто вы планируете регистрироваться и вести журнал.

    Как использовать данные журнала

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

    Визуализация результатов в Google Data Studio

    Вы также можете использовать этот журнал в качестве источника данных в Google Data Studio для визуализации результатов. Пока журнал остается подключенным в качестве источника, результаты должны автоматически публиковаться каждую неделю. Это позволит вам работать над оптимизацией производительности и легко оценивать результаты с помощью Data Studio, а также сообщать о проблемах производительности и прогрессе клиентам, которые могут не любить электронные таблицы так сильно, как вы.

    Совместите данные журнала с другими источниками данных

    Одной из замечательных функций Google Data Studio является возможность объединения данных.Это позволяет сравнивать и анализировать данные из нескольких источников, если у них есть общий ключ. Например, если вы хотите совместить результаты «Время до интерактивности» с данными Google Search Console для тех же URL-адресов, вы можете легко это сделать. Вы заметите, что столбец на вкладке «Журнал», содержащий URL-адреса, называется «Целевая страница». Это то же соглашение об именах, что и в Search Console, которое позволяет Data Studio соединять два источника.

    Есть несколько способов использования этих данных в Google Data Studio.

    Сравните эффективность своих конкурентов

    Вам не нужно ограничивать себя только собственными URL-адресами в этом инструменте; вы можете использовать любой набор URL-адресов. Это был бы отличный способ сравнить страницы вашего конкурента и даже посмотреть, есть ли какие-либо четкие индикаторы скорости, влияющие на позиции в результатах поиска.

    Повысьте удобство использования

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

    Увеличьте обычную видимость

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

    Заключительные мысли

    Этот инструмент — все ваше.

    Сделайте копию и используйте ее как есть или разорвите скрипт Google Apps, который заставляет эту вещь работать, и адаптируйте ее во что-то большее и лучшее (если вы это сделаете, дайте мне знать; я хочу услышать все об этом).

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

    Надеюсь, что на данный момент этот инструмент поможет вам собирать данные о производительности немного более эффективно в период с настоящего момента и до того момента, когда Google выпустит недавно анонсированный отчет о скорости для Search Console.

    Документы

    # Обзор

    PageSpeed ​​Plus — это инструмент для мониторинга результатов Google PageSpeed ​​Insights на веб-сайте и массового сканирования всего веб-сайта.

    Это не официальный продукт Google. Это внешний сервис, созданный на основе V5 API PageSpeed, поддерживаемого Lighthouse

    .

    PageSpeedPlus требуется ключ API PageSpeed ​​для выполнения запросов от вашего имени.

    Требования
    • Ключ API PageSpeed.Может быть создан здесь.
    • URL-адрес вашего файла sitemap.xml. Это должен быть действительный XML.

    # Настройка учетной записи

    Настроить учетную запись PageSpeed ​​Plus быстро и легко, выполнив несколько простых шагов.

    Создать учетную запись

    Перед началом работы с PageSpeed ​​Plus вам необходимо создать учетную запись. Щелкните здесь, чтобы открыть страницу регистрации. Для всех учетных записей предоставляется 30-дневная полностью бесплатная пробная версия. создать sup>

    Вход в систему

    Если у вас уже есть учетная запись, вы можете войти в бэкэнд PageSpeed ​​Plus, щелкнув Login на домашней странице или щелкнув здесь.

    Ссылка на Google с ключом API

    После создания вашей учетной записи ее необходимо связать с Google, чтобы мы могли запрашивать ваши страницы с помощью PageSpeed ​​API.

    Ключи

    API можно создавать и просматривать на панели инструментов Google API.

    Шагов:

    • Щелкните здесь, чтобы открыть документы PageSpeed ​​Insights.
    • Нажмите> Получить ключ
    • Перейдите на страницу настроек вашей учетной записи PageSpeed ​​Plus
    • Вставьте свой ключ API
    • Нажмите Обновить
    Безопасность ключа API

    По умолчанию ключи API создаются без каких-либо ограничений.Если вы хотите ограничить использование ключа API, это можно сделать в разделах учетных данных портала Google API.

  1. IP-адрес
  2. Выберите IP-адрес и введите IP-адрес для PageSpeedPlus. (Доступно по запросу, если вы создадите заявку в службу поддержки.)

    # Добавить сайт

    • Перейдите на панель управления и нажмите Добавить сайт
    • Дайте ему имя
    • Введите URL-адрес домашней страницы
    • Введите путь к карте сайта.xml файл
    • Нажмите Пуск

    Каждая страница, указанная в файле sitemap.xml, теперь будет измеряться с помощью API PageSpeed ​​Insights. Чем больше страниц на вашем сайте, тем дольше он существует, но мы можем обрабатывать несколько URL-адресов параллельно, чтобы ускорить процесс. Вы можете видеть прогресс и просматривать страницы по мере их завершения.

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

    # Полное сканирование сайта

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

    Автомат

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

    По запросу (только для тарифных планов Pro)

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

    # Отслеживаемые URL-адреса

    PageSpeedPlus может быстро сканировать ваши важные URL-адреса ежедневно и уведомлять вас, если они работают медленно.

    Добавить URL

    • Чтобы отслеживать URL-адрес, добавьте его в раздел отслеживаемых URL-адресов
    • Установите порог оповещения. Если страница находится ниже этого уровня на мобильном устройстве или компьютере, вы получите уведомление.
    • Установите, как часто вы хотите, чтобы URL-адрес проверялся
    Автомат

    Теперь URL-адреса будут сканироваться с указанной вами частотой, и вы получите электронное письмо, если они будут медленными.

    По запросу (только для тарифных планов Pro)

    Вы также можете запускать сканирование отслеживаемых URL-адресов по запросу, нажав кнопку «Сканировать отслеживаемые URL-адреса» на странице сведений о сайте.

    Уведомления Slack

    Вы также можете получать уведомления через Slack.

    • Сначала создайте слабый веб-перехватчик URL
    • Перейти на страницу настроек в личном кабинете
    • Введите URL-адрес веб-ловушки, о которой вы хотите, чтобы мы уведомили

    # Исключение из аналитики

    API PageSpeed ​​Insights выполняет javascript при тестировании URL-адресов, поэтому каждый раз, когда страница сканируется на вашем сайте, она будет рассматриваться как реальный посетитель и регистрировать попадание в вашу аналитику. Вы можете исключить этот трафик из своей аналитики, чтобы предотвратить искажение данных.

    Это можно сделать двумя способами:

    • Параметр URL
    • Параметр может быть добавлен к URL-адресам каждый раз, когда PageSpeedPlus делает запрос. В разделе «Полное сканирование сайта» введите требуемый параметр без символа? условное обозначение. Например: реферер = pagespeedplus

      Затем вы исключите трафик с этим параметром в Google Analytics.

    • IP-адрес
    • Вы можете игнорировать наш IP-адрес в Google Analytics. (Доступно по запросу, если вы создадите заявку в службу поддержки.)

        # Устранение неполадок

        Если ключ API PageSpeed ​​создан правильно, сканирование должно начать работать немедленно. Если сканирование не работает, выполните несколько шагов по устранению неполадок:

        Сканирование не работает

        Проверьте, работает ли ваш ключ API на странице настроек PageSpeed ​​Plus.

        Сканы застряли в очереди

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

        Результаты не возвращаются для некоторых страниц

        Если оценка близка к 0, PageSpeed ​​API ничего не вернет

        Сканирование останавливается на полпути

        Google устанавливает ограничение в 25 000 запросов API в день для каждого проекта. Для каждой сканированной страницы используются два кредита — один для мобильных устройств и один для компьютеров. Если у вас есть более 12 500 страниц для сканирования, вам нужно будет создать другой проект в панели управления Google PageSpeed ​​и сгенерировать второй ключ API, который будет использоваться для части ваших сайтов.Рассмотрим такую ​​установку с одним ключом в каждом проекте:

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

        # API

        PageSpeed ​​Plus предлагает API, чтобы вы могли интегрировать данные из своей учетной записи в другие инструменты и информационные панели.

        Наши официальные документы API с сопровождающими примерами кода для PHP, Node, Python, Java, Ruby и других размещены на Postman.

        Создать ключ

        Для доступа к данным сканирования вам необходимо создать ключ API на странице настроек.

        • Создайте ключ API PageSpeed ​​Plus в области настроек
        Создание запроса

        Этот api_key должен быть добавлен в качестве параметра во все запросы к API.

        Добавить комментарий

        Ваш адрес email не будет опубликован. Обязательные поля помечены *