Pagespeedapi: runpagespeed

對位於指定網址的網頁執行 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 要使用的分析策略 (電腦或行動裝置)

可接受的值為:
  • desktop」:擷取及分析電腦版瀏覽器的網址
  • mobile」:擷取並分析行動裝置的網址
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) 驗證結果

可接受的值為:
  • CAPTCHA_BLOCKING
  • CAPTCHA_MATCHED
  • CAPTCHA_NEEDED
  • CAPTCHA_NOT_NEEDED
  • CAPTCHA_UNMATCHED
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)。

可接受的值為:
  • BITRIX
  • BLOGGER
  • DATALIFE_ENGINE
  • DRUPAL
  • GOOGLE_SITES
  • JOOMLA
  • MAGENTO
  • PRESTASHOP
  • TUMBLR
  • UNKNOWN
  • VBULLETIN
  • WORDPRESS
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。

可接受的值為:
  • BYTES
  • DISTANCE
  • DURATION
  • HYPERLINK
  • INT_LITERAL
  • PERCENTAGE
  • SNAPSHOT_RECT
  • STRING_LITERAL
  • URL
  • VERBATIM_STRING
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。

可接受的值為:
  • BYTES
  • DISTANCE
  • DURATION
  • HYPERLINK
  • INT_LITERAL
  • PERCENTAGE
  • SNAPSHOT_RECT
  • STRING_LITERAL
  • URL
  • VERBATIM_STRING
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。

可接受的值為:
  • BYTES
  • DISTANCE
  • DURATION
  • HYPERLINK
  • INT_LITERAL
  • PERCENTAGE
  • SNAPSHOT_RECT
  • STRING_LITERAL
  • URL
  • VERBATIM_STRING
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。

可接受的值為:
  • BYTES
  • DISTANCE
  • DURATION
  • HYPERLINK
  • INT_LITERAL
  • PERCENTAGE
  • SNAPSHOT_RECT
  • STRING_LITERAL
  • URL
  • VERBATIM_STRING
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

可接受的值為:
  • AVERAGE
  • FAST
  • NONE
  • SLOW
loadingExperience.overall_category string

可接受的值為:
  • AVERAGE
  • FAST
  • NONE
  • SLOW
loadingExperience.initial_url string

試試看!

使用下方的 APIs Explorer,針對即時資料呼叫這個方法,看看會有什麼結果。