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 要使用的分析策略(桌面设备或移动设备),桌面设备是默认选项

可接受的值包括: <ph type="x-smartling-placeholder">
    </ph>
  • 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 人机识别系统验证结果

可接受的值包括: <ph type="x-smartling-placeholder">
    </ph>
  • 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 用于生成这些结果的 Page Speed 的版本。
version.major integer 用于生成这些结果的 Page Speed 的主要版本号。
version.minor integer 用于生成这些结果的 Page Speed 的次要版本号。
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 对实际数据调用此方法,然后查看响应。