Method: pagespeedapi.runpagespeed

對指定網址的網頁執行 PageSpeed 分析,並傳回 PageSpeed 分數、可加快網頁載入速度的建議清單,以及其他資訊。

HTTP 要求

GET https://pagespeedonline.googleapis.com/pagespeedonline/v5/runPagespeed

這個網址使用 gRPC 轉碼語法。

查詢參數

參數
category

enum (Category)

要執行的 Lighthouse 類別;如果沒有指定,系統只會執行「成效」類別

locale

string

用於將格式化結果本地化的語言代碼

strategy

enum (Strategy)

要使用的分析策略 (電腦或行動裝置),預設是電腦

url

string

必要欄位。要擷取及分析的網址

utm_campaign

string

用於數據分析的廣告活動名稱。

utm_source

string

數據分析廣告活動來源。

captchaToken

string

填寫人機驗證 (Captcha) 憑證時傳遞的訊息。

要求主體

要求主體必須為空白。

回應主體

如果成功,回應主體即會包含具有以下結構的資料:

PageSpeed API 回應物件。

JSON 表示法
{
  "kind": string,
  "captchaResult": string,
  "id": string,
  "loadingExperience": {
    object (PagespeedApiLoadingExperienceV5)
  },
  "originLoadingExperience": {
    object (PagespeedApiLoadingExperienceV5)
  },
  "analysisUTCTimestamp": string,
  "lighthouseResult": {
    object (LighthouseResultV5)
  },
  "version": {
    object (PagespeedVersion)
  }
}
欄位
kind

string

結果種類。

captchaResult

string

人機驗證 (Captcha) 結果

id

string

文件的標準和最終到達網址,此網址會重新導向到後續網頁重新導向 (如果有的話)。

loadingExperience

object (PagespeedApiLoadingExperienceV5)

使用者網頁載入體驗的指標。

originLoadingExperience

object (PagespeedApiLoadingExperienceV5)

來源的匯總網頁載入體驗指標

analysisUTCTimestamp

string

這項分析的世界標準時間時間戳記。

lighthouseResult

object (LighthouseResultV5)

稽核網址的 Lighthouse 回應,以物件表示。

version

object (PagespeedVersion)

用來產生這些結果的 PageSpeed 版本。

授權範圍

需要下列 OAuth 範圍:

  • openid

詳情請參閱 OAuth 2.0 總覽

類別

要分析的列舉類別。

列舉
CATEGORY_UNSPECIFIED 預設 UNDEFINED 類別。
ACCESSIBILITY 無障礙設計 (a11y),所有使用者都能存取的網站效能類別。
BEST_PRACTICES 最佳做法:與網站符合網頁最佳做法的相關類別。
PERFORMANCE 與網站效能相關的效能類別。
PWA 漸進式網頁應用程式 (PWA),與網站以 PWA 形式執行相關的類別。
SEO 搜尋引擎最佳化 (SEO) 類別。

策略

要用於分析的裝置跑步策略。

列舉
STRATEGY_UNSPECIFIED 未定義。
DESKTOP 擷取並分析電腦版瀏覽器的網址。
MOBILE 擷取並分析行動裝置的網址。

PagespeedApiLoadingExperienceV5

含有 CrUX 資料細目的 CrUX 載入體驗物件。

JSON 表示法
{
  "id": string,
  "metrics": {
    string: {
      object (UserPageLoadMetricV5)
    },
    ...
  },
  "overall_category": string,
  "initial_url": string,
  "origin_fallback": boolean
}
欄位
id

string

指標所在的網址、模式或來源。

metrics

map (key: string, value: object (UserPageLoadMetricV5))

<metrics, data> 的地圖。

這個物件中包含 "key": value 組合的清單,例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }.

overall_category

string

ID 的使用者可理解速度「類別」。

initial_url

string

要求的網址,可能與解析的「id」不同。

origin_fallback

boolean

如果結果是網頁的來源備用廣告,則為「true」,否則傳回「false」。

LighthouseResultV5

Lighthouse 結果物件。

JSON 表示法
{
  "fetchTime": string,
  "requestedUrl": string,
  "finalUrl": string,
  "lighthouseVersion": string,
  "i18n": {
    object (I18n)
  },
  "userAgent": string,
  "audits": {
    string: {
      object (LighthouseAuditResultV5)
    },
    ...
  },
  "categoryGroups": {
    string: {
      object (CategoryGroupV5)
    },
    ...
  },
  "stackPacks": [
    {
      object (StackPack)
    }
  ],
  "environment": {
    object (Environment)
  },
  "runWarnings": array,
  "runtimeError": {
    object (RuntimeError)
  },
  "categories": {
    object (Categories)
  },
  "timing": {
    object (Timing)
  },
  "configSettings": {
    object (ConfigSettings)
  }
}
欄位
fetchTime

string

擷取這項執行作業的時間。

requestedUrl

string

原始要求的網址。

finalUrl

string

經過稽核的最終解析網址。

lighthouseVersion

string

用來產生此 LHR 的 Lighthouse 版本。

i18n

object (I18n)

轉譯 LHR 所需的國際化字串。

userAgent

string

用於執行此 LHR 的使用者代理程式。

audits

map (key: string, value: object (LighthouseAuditResultV5))

LHR 中的稽核地圖。

這個物件中包含 "key": value 組合的清單,例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }.

categoryGroups

map (key: string, value: object (CategoryGroupV5))

LHR 中的類別群組對應圖。

這個物件中包含 "key": value 組合的清單,例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }.

stackPacks[]

object (StackPack)

Stack Pack 建議字串。

environment

object (Environment)

製作這個 LHR 時使用的環境設定。

runWarnings

array (ListValue format)

LHR 中所有執行警告的清單。一律輸出至至少 []

runtimeError

object (RuntimeError)

這個頂層錯誤訊息 (如有) 表示非常嚴重的問題,可能需要捨棄此 Lighthouse 結果。

categories

object (Categories)

LHR 中的類別地圖。

timing

object (Timing)

此 LHR 的時間資訊。

configSettings

object (ConfigSettings)

這個 LHR 的配置設定。

國際化

包含 LHR - 1 版 i18n 資料的訊息。

JSON 表示法
{
  "rendererFormattedStrings": {
    object (RendererFormattedStrings)
  }
}
欄位
rendererFormattedStrings

object (RendererFormattedStrings)

設定為 configSettings 中語言代碼的國際化字串。

RendererFormattedStrings

訊息中包含轉譯器中使用的格式化字串。

JSON 表示法
{
  "varianceDisclaimer": string,
  "opportunityResourceColumnLabel": string,
  "opportunitySavingsColumnLabel": string,
  "errorMissingAuditInfo": string,
  "errorLabel": string,
  "warningHeader": string,
  "auditGroupExpandTooltip": string,
  "passedAuditsGroupTitle": string,
  "notApplicableAuditsGroupTitle": string,
  "manualAuditsGroupTitle": string,
  "toplevelWarningsMessage": string,
  "scorescaleLabel": string,
  "crcLongestDurationLabel": string,
  "crcInitialNavigation": string,
  "lsPerformanceCategoryDescription": string,
  "labDataTitle": string
}
欄位
varianceDisclaimer

string

免責事項會顯示在成效指標值下方。

opportunityResourceColumnLabel

string

稽核中預估載入網頁可以節省機會的標題。

opportunitySavingsColumnLabel

string

商機稽核「預估網頁載入節省」的標題。

errorMissingAuditInfo

string

錯誤稽核旁邊顯示的錯誤字串。

errorLabel

string

含有錯誤的稽核或指標旁邊會顯示的標籤。

warningHeader

string

顯示在警告項目符號清單上方的標籤。

auditGroupExpandTooltip

string

可展開箭號圖示的工具提示文字。

passedAuditsGroupTitle

string

顯示在已通過稽核清單上方的標題。

notApplicableAuditsGroupTitle

string

上方顯示的是不適用網頁的稽核清單標題。

manualAuditsGroupTitle

string

上方顯示的標題上方會列出執行作業期間未經電腦的稽核項目。

toplevelWarningsMessage

string

在可能使整份報告失效的重要警告上方顯示標籤。

scorescaleLabel

string

說明分數標準度量的標籤 (0-49、50-89、90-100)。

crcLongestDurationLabel

string

重要要求鏈結摘要中顯示的值標籤。

crcInitialNavigation

string

重要要求鏈中的初始要求標籤。

lsPerformanceCategoryDescription

string

成效下方的免責事項說明聯播網可能有所不同。

labDataTitle

string

研究室資料效能類別的標題。

StackPack

包含 Stack Pack 資訊的訊息。

JSON 表示法
{
  "id": string,
  "title": string,
  "iconDataURL": string,
  "descriptions": {
    string: string,
    ...
  }
}
欄位
id

string

堆疊套件 ID。

title

string

堆疊套件標題。

iconDataURL

string

堆疊套件圖示資料 URI。

descriptions

map (key: string, value: string)

堆疊套件建議字串。

這個物件中包含 "key": value 組合的清單,例如:{ "name": "wrench", "mass": "1.3kg", "count": "3" }.

環境

包含 Lighthouse 執行作業環境設定的訊息。

JSON 表示法
{
  "networkUserAgent": string,
  "hostUserAgent": string,
  "benchmarkIndex": number
}
欄位
networkUserAgent

string

透過網路傳送的使用者代理程式字串。

hostUserAgent

string

所用 Chrome 版本的使用者代理程式字串。

benchmarkIndex

number

表示概略裝置類別的基準索引號碼。

RuntimeError

訊息包含執行階段錯誤設定。

JSON 表示法
{
  "code": string,
  "message": string
}
欄位
code

string

列舉的 Lighthouse 錯誤代碼。

message

string

簡單易懂的訊息說明錯誤代碼。

類別

Lighthouse 跑步中的類別。

JSON 表示法
{
  "accessibility": {
    object (LighthouseCategoryV5)
  },
  "best-practices": {
    object (LighthouseCategoryV5)
  },
  "seo": {
    object (LighthouseCategoryV5)
  },
  "pwa": {
    object (LighthouseCategoryV5)
  },
  "performance": {
    object (LighthouseCategoryV5)
  }
}
欄位
accessibility

object (LighthouseCategoryV5)

無障礙類別,包含所有與無障礙功能相關的稽核項目。

best-practices

object (LighthouseCategoryV5)

最佳做法類別,包含所有最佳做法相關稽核。

seo

object (LighthouseCategoryV5)

搜尋引擎最佳化 (SEO) 類別,包含所有與聲相關的稽核。

pwa

object (LighthouseCategoryV5)

漸進式網頁應用程式 (PWA) 類別,包含所有 UI 相關稽核。

performance

object (LighthouseCategoryV5)

效能類別,包含所有效能相關稽核。

LighthouseCategoryV5

Lighthouse 類別。

JSON 表示法
{
  "id": string,
  "title": string,
  "description": string,
  "manualDescription": string,
  "auditRefs": [
    {
      object (AuditRefs)
    }
  ],
  "score": value
}
欄位
id

string

類別的字串 ID。

title

string

容易理解的類別名稱。

description

string

更詳細的類別說明及其重要性。

manualDescription

string

類別中手動稽核的說明。

auditRefs[]

object (AuditRefs)

這個類別中所有稽核成員的參照陣列。

score

value (Value format)

該類別的總分,是所有稽核項目的加權平均值。(類別的分數,可以是空值)。

AuditRefs

按 ID 區分稽核的輕度參考資料,用於為特定類別稽核和體重稽核。

JSON 表示法
{
  "id": string,
  "weight": number,
  "group": string
}
欄位
id

string

稽核參考資料 ID,

weight

number

此稽核分數在整體類別分數上的權重。

group

string

稽核所屬的類別群組 (選用)。

時間

包含 Lighthouse 執行作業效能時間資料的訊息。

JSON 表示法
{
  "total": number
}
欄位
total

number

Lighthouse 執行的總時間長度。

ConfigSettings

包含 Lighthouse 執行作業配置設定的訊息。

JSON 表示法
{
  "onlyCategories": value,
  "emulatedFormFactor": string,
  "locale": string,
  "channel": string,
  "formFactor": string
}
欄位
onlyCategories

value (Value format)

應執行的稽核類別清單。

emulatedFormFactor
(deprecated)

string

模擬應使用的板型規格。這個欄位已淘汰,請改用 formFactor。

locale

string

語言代碼設定。

channel

string

Lighthouse 的執行方式,例如透過 Chrome 擴充功能或 npm 模組。

formFactor

string

Lighthouse 應如何解讀此執行情況,包括評分成效指標,並略過電腦版電腦專用的測試步驟。

PagespeedVersion

PageSpeed Version 物件。

JSON 表示法
{
  "major": string,
  "minor": string
}
欄位
major

string

產生這些結果時所用的 PageSpeed 主要版本號碼。

minor

string

用來產生這些結果的 PageSpeed 子版本編號。