Измеряйте Core Web Vitals с помощью PSI API и CrUX API

Измеряйте Core Web Vitals с помощью PSI API и CrUX API

О практической работе

subjectПоследнее обновление: мая 9, 2022
account_circleАвторы: Rick Viscomi

1. Прежде чем вы начнете

В этой лабораторной работе вы узнаете, как измерить основные веб-жизненные показатели веб-страницы с помощью API PageSpeed ​​Insights (PSI) и API Chrome UX Report (CrUX).

Оба API возвращают идентичные данные Core Web Vitals, но каждый API предлагает свои преимущества. В дополнение к полевым данным CrUX API PSI также предоставляет данные от Lighthouse — автоматизированного инструмента Google с открытым исходным кодом, который проверяет веб-страницы и дает рекомендации по их улучшению. API CrUX не предоставляет данные Lighthouse, поэтому выполняется быстрее.

Google рекомендует измерять Core Web Vitals на мобильных и настольных устройствах. Core Web Vitals включает эти три показателя, которые применяются ко всем веб-страницам и дают вам критическое представление о пользовательском опыте:

  • Самая большая содержательная краска (LCP). Измеряет производительность загрузки и должно происходить в течение 2,5 секунд после начала загрузки страницы.
  • Задержка первого ввода (FID). Измеряет интерактивность и должно происходить в течение 100 миллисекунд.
  • Совокупный сдвиг макета (CLS). Измеряет визуальную стабильность и должен быть в пределах 0,1.

Предпосылки

Что ты будешь делать

  • Измеряйте Core Web Vitals веб-страницы с помощью PSI API.
  • Измеряйте Core Web Vitals веб-страницы с помощью CrUX API.

Что вам понадобится

  • Аккаунт Google
  • Доступ к командной строке
  • Текстовый редактор на ваш выбор
  • Веб-браузер на ваш выбор
  • URL-адрес по вашему выбору (в этой лаборатории кода используется https://developers.google.com .)

2. Измеряйте Core Web Vitals с помощью PSI API

  1. Если вам нужны данные о производительности для настольной версии URL-адреса, запустите эту команду curl , чтобы запросить данные из API PageSpeed ​​Insights и сохранить их в файле response.txt :
curl -o response.txt "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=YOUR_URL&strategy=desktop"

Замените заполнитель YOUR_URL своим URL-адресом.

  1. Если вам нужны данные о производительности для мобильной версии URL-адреса, задайте для параметра запроса strategy значение для mobile в конце строки API в команде, представленной на предыдущем шаге:
curl -o response.txt "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=YOUR_URL&strategy=mobile"

Замените заполнитель YOUR_URL своим URL-адресом.

  1. В текстовом редакторе откройте файл response.txt и найдите свойство loadingExperience :

ответ.txt

   "loadingExperience": {
   
"id": "https://developers.google.com/",
   
"metrics": {
     
"LARGEST_CONTENTFUL_PAINT_MS": {
       
"percentile": 1714,
       
"distributions": [
         
{
           
"min": 0,
           
"max": 1000,
           
"proportion": 0.49701860391159164
         
},
         
{
           
"min": 1000,
           
"max": 3000,
           
"proportion": 0.40071951025600261
         
},
         
{
           
"min": 3000,
           
"proportion": 0.10226188583240581
         
}
       
],
       
"category": "AVERAGE"
     
},
 
},

Свойство loadingExperience сообщает эту информацию для каждого из Core Web Vitals на основе URL-адреса и типа устройства, указанных в запросе API:

  • Свойство percentile указывает 75-й процентиль для каждой метрики.
  • Свойство distributions указывает процент просмотров страниц, которые были хорошими , нуждаются в улучшении или плохими для каждой метрики.
  • Свойство category классифицирует производительность каждой метрики как медленную, среднюю или быструю.

Если содержимое свойства loadingExperience пусто, для URL-адреса недостаточно доступных данных о производительности. Эта проблема обычно возникает при тестировании веб-страниц с низким трафиком.

  1. Найдите свойство originLoadingExperience :

ответ.txt

  "originLoadingExperience": {
   
"id": "https://developers.google.com",
   
"metrics": {
     
"LARGEST_CONTENTFUL_PAINT_MS": {
       
"percentile": 1649,
       
"distributions": [
         
{
           
"min": 0,
           
"max": 1000,
           
"proportion": 0.488838781075378
         
},
         
{
           
"min": 1000,
           
"max": 3000,
           
"proportion": 0.42709617576692827
         
},
         
{
           
"min": 3000,
           
"proportion": 0.084065043157693739
         
}
       
],
       
"category": "AVERAGE"
     
},
 
},

Свойство originLoadingExperience сообщает об объединенных возможностях для всего источника, а не только для URL-адреса. Он предоставляет ту же информацию для каждого из Core Web Vitals, что и в предыдущем шаге.

3. Измеряйте Core Web Vitals с помощью CrUX API

Получить API-ключ

  1. В Google Cloud Console найдите Chrome UX , а затем выберите Chrome UX Report API в раскрывающемся меню.
  2. На странице Chrome UX Report API нажмите « Включить », а затем подождите, пока кнопка « Включить » не изменится на кнопку « Управление », и выберите « Управление» .
  3. В меню навигации нажмите « Учетные данные », затем выберите « Создать учетные данные» > «Ключ API» и скопируйте ключ API.

Сделать запрос

  1. Из командной строки запросите данные о производительности для вашего URL-адреса из CrUX API и сохраните их в файле response.txt :
curl -o response.txt 'https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=YOUR_API_KEY' 'Content-Type: application/json' --data '{"url":"YOUR_URL"}'

Замените заполнитель YOUR_API_KEY своим ключом API, а затем замените заполнитель YOUR_URL своим URL-адресом.

  1. В текстовом редакторе откройте файл response.txt :

ответ.txt

{
 
"record": {
   
"key": {
     
"url": "https://developers.google.com/"
   
},
   
"metrics": {
     
"cumulative_layout_shift": {
       
"histogram": [
         
{
           
"start": "0.00",
           
"end": "0.10",
           
"density": 0.47784335300590036
         
},
         
{
           
"start": "0.10",
           
"end": "0.25",
           
"density": 0.32379713914174157
         
},
         
{
           
"start": "0.25",
           
"density": 0.19835950785235579
         
}
       
],
       
"percentiles": {
         
"p75": "0.23"
       
}
     
},
   
}
 
},
}

Ответ CrUX API предоставляет следующую информацию для каждого из основных веб-показателей:

  • Свойство histogram указывает процент пользователей, которые работали медленно, в среднем или быстро для данной метрики.
  • Свойство percentiles указывает наблюдение 75-го процентиля для данной метрики.

Если вы видите сообщение об ошибке, в котором говорится, что данные не найдены, для данного URL-адреса недостаточно данных о производительности. Эта проблема обычно возникает при тестировании веб-страниц с низким трафиком.

4. Поздравления

Поздравляем! Вы измерили Core Web Vitals веб-страницы с помощью PSI API и CrUX API.

Узнать больше