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) 時所傳送的人機驗證 (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)

對稽核網址做為物件的回應。

version

object (PagespeedVersion)

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

授權範圍

需要下列 OAuth 範圍:

  • openid

詳情請參閱 OAuth 2.0 總覽

類別

應分析的列舉類別。

列舉
CATEGORY_UNSPECIFIED 預設 UNDEFINED 類別。
ACCESSIBILITY 無障礙程度 (a11y),也就是網站可供所有使用者存取的類別。
BEST_PRACTICES 最佳做法、與網站符合網站最佳做法的類別。
PERFORMANCE 成效是與網站成效相關的類別。
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

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

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 之 i18n 資料的訊息 - 第 1 版。

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

可展開 V 形圖示上的工具提示文字。

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)
  },
  },
  "performance": {
    object (LighthouseCategoryV5)
  }
}
欄位
accessibility

object (LighthouseCategoryV5)

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

best-practices

object (LighthouseCategoryV5)

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

seo

object (LighthouseCategoryV5)

搜尋引擎最佳化 (SEO) 類別,其中包含所有相關的稽核項目。

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 次要版本號碼。