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

Analytics 的廣告活動名稱。

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 成效、與網站成效相關的類別。
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))

<指標、資料>的地圖。

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

overall_category

string

人類可讀的速度「類別」傳遞物件

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 的燈塔版本。

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)

頂層錯誤訊息,指出燈塔結果的嚴重問題,可能必須捨棄。

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

可展開 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 子版本號碼。