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 用于分析的广告系列名称。
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_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 规则的 ruleResults 条目。
formattedResults.locale string formattedResults 的语言区域,例如“en_US”。
formattedResults.ruleResults object 格式化规则结果的字典,其中每条 PageSpeed 规则都对应一个由服务器实例化并运行的条目。
formattedResults.ruleResults.(key) object 此规则的枚举类标识符。例如,“EnableKeepAlive”或“AvoidCssImport”。未本地化。
formattedResults.ruleResults.(key).localizedRuleName string 旨在向用户显示的规则的本地化名称。
formattedResults.ruleResults.(key).ruleImpact double 采纳针对此规则的建议将会对网页加载速度造成影响(无界限浮点值)。可对不同规则的影响进行比较,以确定哪条规则的建议对加快网页速度的影响程度是更高或更低的。例如,如果启用压缩可节省 1MB 内存,而优化图片可节省 500KB,那么在所有其他条件相同的情况下,启用压缩规则所产生的影响将是图片优化规则的 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 参数的类型。网址、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 参数的类型。网址、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 参数的类型。网址、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 参数的类型。网址、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

试试看!

请使用下面的 API Explorer 对实时数据调用此方法并查看响应。