對位於指定網址的網頁執行 PageSpeed 分析,並傳回 PageSpeed 分數、可加快網頁載入速度的建議清單,以及其他資訊。 立即試用。
要求
HTTP 要求
GET https://www.googleapis.com/pagespeedonline/v4/runPagespeed
參數
參數名稱 | 值 | 說明 |
---|---|---|
必要的查詢參數 | ||
url |
string |
要擷取及分析的網址 |
選用的查詢參數 | ||
filter_third_party_resources |
boolean |
指出是否應在 PageSpeed 分析前篩除第三方資源。
(預設值:false )
|
locale |
string |
這個語言代碼是用於本地化格式化結果 |
rule |
string |
要執行的 PageSpeed 規則;如果沒有指定,所有規則都會執行 |
screenshot |
boolean |
說明是否應加入含有螢幕截圖的二進位資料
(預設值:false )
|
snapshots |
boolean |
指出是否應納入含有快照映像檔的二進位資料
(預設值:false )
|
strategy |
string |
要使用的分析策略 (電腦或行動裝置)
可接受的值為:
|
utm_campaign |
string |
Analytics 的廣告活動名稱。 |
utm_source |
string |
要進行分析的廣告活動來源。 |
要求主體
請勿使用這個方法提供請求主體。
回應
如果成功的話,這個方法會傳回回應內文,其結構如下:
{ "captchaResult": string, "kind": "pagespeedonline#result", "id": string, "responseCode": integer, "title": string, "ruleGroups": { (key): { "score": integer, "pass": boolean } }, "loadingExperience": { "id": string, "metrics": { (key): { "median": integer, "distributions": [ { "min": integer, "max": integer, "proportion": double } ], "category": string } }, "overall_category": string, "initial_url": string }, "pageStats": { "numberResources": integer, "numberHosts": integer, "totalRequestBytes": long, "numberStaticResources": integer, "htmlResponseBytes": long, "textResponseBytes": long, "overTheWireResponseBytes": long, "cssResponseBytes": long, "imageResponseBytes": long, "javascriptResponseBytes": long, "flashResponseBytes": long, "otherResponseBytes": long, "numberJsResources": integer, "numberCssResources": integer, "numberRobotedResources": integer, "numberTransientFetchFailureResources": integer, "numTotalRoundTrips": integer, "numRenderBlockingRoundTrips": integer, "robotedUrls": [ string ], "transientFetchFailureUrls": [ string ], "cms": string }, "formattedResults": { "locale": string, "ruleResults": { (key): { "localizedRuleName": string, "ruleImpact": double, "beta": boolean, "groups": [ string ], "summary": { "format": string, "args": [ { "type": string, "key": string, "value": string, "rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ], "secondary_rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ] } ] }, "urlBlocks": [ { "header": { "format": string, "args": [ { "type": string, "key": string, "value": string, "rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ], "secondary_rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ] } ] }, "urls": [ { "result": { "format": string, "args": [ { "type": string, "key": string, "value": string, "rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ], "secondary_rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ] } ] }, "details": [ { "format": string, "args": [ { "type": string, "key": string, "value": string, "rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ], "secondary_rects": [ { "left": integer, "top": integer, "width": integer, "height": integer } ] } ] } ] } ] } ] } } }, "version": { "major": integer, "minor": integer }, "invalidRules": [ string ], "screenshot": { "key": string, "mime_type": string, "data": bytes, "width": integer, "height": integer, "page_rect": { "left": integer, "top": integer, "width": integer, "height": integer } }, "snapshots": [ { "key": string, "mime_type": string, "data": bytes, "width": integer, "height": integer, "page_rect": { "left": integer, "top": integer, "width": integer, "height": integer } } ] }
屬性名稱 | 值 | 說明 | 附註 |
---|---|---|---|
captchaResult |
string |
人機驗證 (Captcha) 驗證結果
可接受的值為:
|
|
kind |
string |
結果種類。 | |
id |
string |
將網頁重新導向後 (如果有的話),文件使用的標準網址和最終到達網址。 | |
responseCode |
integer |
文件的回應代碼。200 表示網頁載入正常。4xx/5xx 表示發生錯誤。 | |
title |
string |
網頁標題,顯示在瀏覽器標題列中。 | |
ruleGroups |
object |
在這些結果中,每個規則群組的對應一個項目。 | |
ruleGroups.(key) |
object |
這個規則群組的名稱:「SPEED」、「USABILITY」或「SECURITY」。 | |
ruleGroups.(key).score |
integer |
這個規則群組的分數 (0 到 100) 代表網頁在該類別中的成效提升程度 (例如速度加快、可用性程度或安全性多少)。高分代表改善空間不足,分數較低則代表改善空間較大。 | |
ruleGroups.(key).pass |
boolean |
||
loadingExperience |
object |
使用者指標網頁載入體驗。 | |
loadingExperience.id |
string |
指標所在的網址、模式或來源。 | |
loadingExperience.metrics |
object |
||
loadingExperience.metrics.(key) |
object |
指標的類型。 | |
loadingExperience.metrics.(key).median |
integer |
||
loadingExperience.metrics.(key).distributions[] |
list |
||
loadingExperience.metrics.(key).distributions[].min |
integer |
||
loadingExperience.metrics.(key).distributions[].max |
integer |
||
loadingExperience.metrics.(key).distributions[].proportion |
double |
||
pageStats |
object |
網頁的摘要統計資料,例如 JavaScript 位元組數、HTML 位元組數量等。 | |
pageStats.numberResources |
integer |
網頁載入的 HTTP 資源數量。 | |
pageStats.numberHosts |
integer |
網頁參照的不重複主機數。 | |
pageStats.totalRequestBytes |
long |
網頁傳送的所有要求位元組總大小。 | |
pageStats.numberStaticResources |
integer |
網頁上的靜態資源 (可快取) 資源數量。 | |
pageStats.htmlResponseBytes |
long |
主要 HTML 文件和頁面上所有 iframe 的未壓縮回應位元組數。 | |
pageStats.textResponseBytes |
long |
網頁中其他統計資料未涵蓋的文字資源 (非 HTML、非指令碼、非 CSS 資源) 的未壓縮回應位元組數。 | |
pageStats.overTheWireResponseBytes |
long |
無線傳輸位元組數:使用預設的 gzip 壓縮策略做為估計值。 | |
pageStats.cssResponseBytes |
long |
網頁上 CSS 資源的未壓縮回應位元組數。 | |
pageStats.imageResponseBytes |
long |
網頁上圖片資源的回應位元組數。 | |
pageStats.javascriptResponseBytes |
long |
網頁上 JS 資源未壓縮的回應位元組數。 | |
pageStats.flashResponseBytes |
long |
網頁上 Flash 資源的回應位元組數。 | |
pageStats.otherResponseBytes |
long |
網頁上其他資源的回應位元組數。 | |
pageStats.numberJsResources |
integer |
網頁參照的 JavaScript 資源數量。 | |
pageStats.numberCssResources |
integer |
網頁參照的 CSS 資源數量。 | |
pageStats.numberRobotedResources |
integer |
漫遊器資源數量。 | |
pageStats.numberTransientFetchFailureResources |
integer |
暫時失敗的資源數量。 | |
pageStats.numTotalRoundTrips |
integer |
載入完整頁面所需的來回行程 | |
pageStats.numRenderBlockingRoundTrips |
integer |
載入禁止轉譯資源所需的來回行程 | |
pageStats.robotedUrls[] |
list |
漫遊器網址清單。 | |
pageStats.transientFetchFailureUrls[] |
list |
暫時擷取失敗網址清單。 | |
pageStats.cms |
string |
網頁使用的內容管理系統 (CMS)。
可接受的值為:
|
|
formattedResults |
object |
本地化的 PageSpeed 結果。針對由伺服器執行個體化並執行的每個 PageSpeed 規則,加入一個 rulesResults 項目。 | |
formattedResults.locale |
string |
formattedResults 的語言代碼,例如:「zh_TW」。 | |
formattedResults.ruleResults |
object |
格式化規則結果的字典,每個 PageSpeed 規則執行個體化並執行一個項目。 | |
formattedResults.ruleResults.(key) |
object |
這項規則的列舉式 ID。例如「EnableKeepAlive」或「AvoidCssImport」未進行本地化。 | |
formattedResults.ruleResults.(key).localizedRuleName |
string |
本地化規則名稱,主要用於呈現給使用者。 | |
formattedResults.ruleResults.(key).ruleImpact |
double |
採用這項規則的建議 (不設限的浮點值) 可以加快網頁速度。差別在於兩者的效果比較,是以不同規則為依據,判斷出哪種規則所建議對加快網頁載入速度的影響較大。舉例來說,如果啟用壓縮功能可以節省 1 MB,而最佳化圖片可以節省 500 KB,啟用壓縮規則的效果將為圖片最佳化規則產生 2 倍的影響,其他條件則相同。 | |
formattedResults.ruleResults.(key).beta |
boolean |
這項規則是否為「Beta 版」。Beta 版規則是正在測試的新規則,不會影響整體分數。 | |
formattedResults.ruleResults.(key).groups[] |
list |
這項規則所屬的規則群組清單。清單中的每個項目都是「SPEED」、「USABILITY」或「SECURITY」之一。 | |
formattedResults.ruleResults.(key).summary |
nested object |
請簡要說明規則,並概略指出按照規則正確執行的操作,以及這麼做有什麼好處。 | |
formattedResults.ruleResults.(key).summary.format |
string |
包含 預留位置的本地化格式字串,其中「FOO」是引數值,應替換其值。如果是 HYPERLINK 引數,格式字串會改為包含 和 用於鍵為「FOO」的引數。 | |
formattedResults.ruleResults.(key).summary.args[] |
list |
格式字串的引數清單。 | |
formattedResults.ruleResults.(key).summary.args[].type |
string |
引數類型。其中一個 URL、STRING_LITERAL、INT_LITERAL、BYTES、DURATION、VERBATIM_STRING、PERCENTAGE、HYPERLINK 或 SNAPSHOT_RECT。
可接受的值為:
|
|
formattedResults.ruleResults.(key).summary.args[].key |
string |
這個引數的預留位置金鑰,以字串表示。 | |
formattedResults.ruleResults.(key).summary.args[].value |
string |
本地化字串的引數值。 | |
formattedResults.ruleResults.(key).summary.args[].rects[] |
list |
目前參照的螢幕矩形,尺寸是以 CSS 像素為單位。僅用於 SNAPSHOT_RECT 引數。如果 SNAPSHOT_RECT 引數沒有此值,表示該引數參照整份快照。 | |
formattedResults.ruleResults.(key).summary.args[].rects[].left |
integer |
||
formattedResults.ruleResults.(key).summary.args[].rects[].top |
integer |
||
formattedResults.ruleResults.(key).summary.args[].rects[].width |
integer |
||
formattedResults.ruleResults.(key).summary.args[].rects[].height |
integer |
||
formattedResults.ruleResults.(key).summary.args[].secondary_rects[] |
list |
表示次要螢幕矩形,以 CSS 像素測量。僅用於 SNAPSHOT_RECT 引數。 | |
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].left |
integer |
||
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].top |
integer |
||
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].width |
integer |
||
formattedResults.ruleResults.(key).summary.args[].secondary_rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[] |
list |
網址區塊清單。每個區塊可包含標題和網址清單。每個網址可以視需要納入其他詳細資訊。 | |
formattedResults.ruleResults.(key).urlBlocks[].header |
nested object |
要連同網址清單一併顯示。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.format |
string |
包含 預留位置的本地化格式字串,其中「FOO」是引數值,應替換其值。如果是 HYPERLINK 引數,格式字串會改為包含 和 用於鍵為「FOO」的引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[] |
list |
格式字串的引數清單。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[].type |
string |
引數類型。其中一個 URL、STRING_LITERAL、INT_LITERAL、BYTES、DURATION、VERBATIM_STRING、PERCENTAGE、HYPERLINK 或 SNAPSHOT_RECT。
可接受的值為:
|
|
formattedResults.ruleResults.(key).urlBlocks[].header.args[].key |
string |
這個引數的預留位置金鑰,以字串表示。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[].value |
string |
本地化字串的引數值。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[] |
list |
目前參照的螢幕矩形,尺寸是以 CSS 像素為單位。僅用於 SNAPSHOT_RECT 引數。如果 SNAPSHOT_RECT 引數沒有此值,表示該引數參照整份快照。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[] |
list |
表示次要螢幕矩形,以 CSS 像素測量。僅用於 SNAPSHOT_RECT 引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].header.args[].secondary_rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[] |
list |
提供網址區塊中網址相關資訊的項目清單。選填。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result |
nested object |
一種格式字串,可提供網址相關資訊,以及該格式字串的引數清單。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.format |
string |
包含 預留位置的本地化格式字串,其中「FOO」是引數值,應替換其值。如果是 HYPERLINK 引數,格式字串會改為包含 和 用於鍵為「FOO」的引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[] |
list |
格式字串的引數清單。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].type |
string |
引數類型。其中一個 URL、STRING_LITERAL、INT_LITERAL、BYTES、DURATION、VERBATIM_STRING、PERCENTAGE、HYPERLINK 或 SNAPSHOT_RECT。
可接受的值為:
|
|
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].key |
string |
這個引數的預留位置金鑰,以字串表示。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].value |
string |
本地化字串的引數值。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[] |
list |
目前參照的螢幕矩形,尺寸是以 CSS 像素為單位。僅用於 SNAPSHOT_RECT 引數。如果 SNAPSHOT_RECT 引數沒有此值,表示該引數參照整份快照。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[] |
list |
表示次要螢幕矩形,以 CSS 像素測量。僅用於 SNAPSHOT_RECT 引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].result.args[].secondary_rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[] |
list |
提供單一網址相關額外詳細資料的項目清單。選填。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].format |
string |
包含 預留位置的本地化格式字串,其中「FOO」是引數值,應替換其值。如果是 HYPERLINK 引數,格式字串會改為包含 和 用於鍵為「FOO」的引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[] |
list |
格式字串的引數清單。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].type |
string |
引數類型。其中一個 URL、STRING_LITERAL、INT_LITERAL、BYTES、DURATION、VERBATIM_STRING、PERCENTAGE、HYPERLINK 或 SNAPSHOT_RECT。
可接受的值為:
|
|
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].key |
string |
這個引數的預留位置金鑰,以字串表示。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].value |
string |
本地化字串的引數值。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[] |
list |
目前參照的螢幕矩形,尺寸是以 CSS 像素為單位。僅用於 SNAPSHOT_RECT 引數。如果 SNAPSHOT_RECT 引數沒有此值,表示該引數參照整份快照。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].rects[].height |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[] |
list |
表示次要螢幕矩形,以 CSS 像素測量。僅用於 SNAPSHOT_RECT 引數。 | |
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].left |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].top |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].width |
integer |
||
formattedResults.ruleResults.(key).urlBlocks[].urls[].details[].args[].secondary_rects[].height |
integer |
||
version |
object |
用來產生這些結果的 PageSpeed 版本。 | |
version.major |
integer |
用來產生這些結果的 PageSpeed 主要版本號碼。 | |
version.minor |
integer |
用來產生這些結果的 PageSpeed 子版本號碼。 | |
invalidRules[] |
list |
已在要求中指定,但伺服器不知道如何例項化的規則清單。 | |
screenshot |
nested object |
分析網頁的 Base64 編碼螢幕截圖。 | |
screenshot.key |
string |
專屬字串鍵 (如有),用於識別圖片。 | |
screenshot.mime_type |
string |
圖片資料的 Mime 類型 (例如「image/jpeg」)。 | |
screenshot.data |
bytes |
使用 Base64 編碼的圖片資料。 | |
screenshot.width |
integer |
螢幕截圖的寬度 (以像素為單位)。 | |
screenshot.height |
integer |
螢幕截圖的高度 (以像素為單位)。 | |
screenshot.page_rect |
object |
||
screenshot.page_rect.left |
integer |
||
screenshot.page_rect.top |
integer |
||
screenshot.page_rect.width |
integer |
||
screenshot.page_rect.height |
integer |
||
snapshots[] |
list |
其他採用 Base64 編碼的網頁螢幕截圖,可在各種部分轉譯狀態中呈現。 | |
snapshots[].key |
string |
專屬字串鍵 (如有),用於識別圖片。 | |
snapshots[].mime_type |
string |
圖片資料的 Mime 類型 (例如「image/jpeg」)。 | |
snapshots[].data |
bytes |
使用 Base64 編碼的圖片資料。 | |
snapshots[].width |
integer |
螢幕截圖的寬度 (以像素為單位)。 | |
snapshots[].height |
integer |
螢幕截圖的高度 (以像素為單位)。 | |
snapshots[].page_rect |
object |
||
snapshots[].page_rect.left |
integer |
||
snapshots[].page_rect.top |
integer |
||
snapshots[].page_rect.width |
integer |
||
snapshots[].page_rect.height |
integer |
||
loadingExperience.metrics.(key).category |
string |
可接受的值為:
|
|
loadingExperience.overall_category |
string |
可接受的值為:
|
|
loadingExperience.initial_url |
string |
試試看!
使用下方的 APIs Explorer,針對即時資料呼叫這個方法,看看會有什麼結果。