Pagespeedapi: runpagespeed

指定された URL のページについて PageSpeed 分析を実行し、PageSpeed のスコア、そのページを高速化するための提案のリスト、その他の情報を返します。 実習をご覧ください。

リクエスト

HTTP リクエスト

GET https://www.googleapis.com/pagespeedonline/v4/runPagespeed

パラメータ

パラメータ名 説明
必須のクエリ パラメータ
url string 取得して分析する URL
省略可能なクエリ パラメータ
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」: パソコンのブラウザ向けに URL を取得して分析します
  • mobile」: モバイル デバイス向けに URL を取得して分析します
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 ページのリダイレクト後に表示される、正規化されたドキュメントの最終ページ URL(ある場合)。
responseCode integer ドキュメントのレスポンス コード。200 は通常のページ読み込みを示します。4xx/5xx はエラーを示します。
title string ブラウザのタイトルバーに表示されるページのタイトル。
ruleGroups object これらの結果のルールグループごとに 1 つのエントリを含むマップ。
ruleGroups.(key) object このルールグループの名前(「SPEED」、「USABILITY」、「SECURITY」のいずれか)。
ruleGroups.(key).score integer このルールグループのスコア(0 ~ 100)。そのカテゴリでページがどの程度優れているかを示します(速度、有用性、安全性など)。スコアが高いほど改善の余地がほとんどないことを示し、スコアが低いほど改善の余地が多いことを示します。
ruleGroups.(key).pass boolean
loadingExperience object エンドユーザーのページの読み込みエクスペリエンスを改善できます
loadingExperience.id string 指標が含まれている URL、パターン、またはオリジン。
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 ページ上のフラッシュ リソースのレスポンス バイト数。
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 ロボットの URL のリスト。
pageStats.transientFetchFailureUrls[] list 一時的な取得エラーの URL のリスト。
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 ルールごとに 1 つのエントリが含まれ、サーバーによって実行されます。
formattedResults.ruleResults.(key) object このルールの列挙型のような識別子。例: 「EnableKeepAlive」または「AvoidCssImport」と入力します。ローカライズされていません。
formattedResults.ruleResults.(key).localizedRuleName string ユーザーへの提示を目的とした、ローカライズされたルール名。
formattedResults.ruleResults.(key).ruleImpact double このルールの推奨事項を実装することでページ速度が向上するかどうか(無限の浮動小数点値)です。ルール間の影響度を比較することで、どのルールの提案がページ速度の向上に大きな影響を与えるか、低いかを判断できます。たとえば、圧縮を有効にすることで 1 MB の節約になり、画像を最適化すると 500 KB を節約できる場合、他の条件がすべて同じであれば、圧縮を有効にするルールの影響は 2 倍になります。
formattedResults.ruleResults.(key).beta boolean このルールが「ベータ版」かどうか。ベータ版のルールはテスト中の新しいルールであり、全体的なスコアには影響しません。
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 URL のブロックのリスト。各ブロックには見出しと URL のリストを含めることができます。必要に応じて、各 URL に追加の詳細情報を含めることができます。
formattedResults.ruleResults.(key).urlBlocks[].header nested object URL のリストとともに表示される見出し。
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 URL ブロック内の URL に関する情報を提供するエントリのリスト。省略可。
formattedResults.ruleResults.(key).urlBlocks[].urls[].result nested object URL に関する情報と、その形式設定文字列の引数のリストを指定する形式設定文字列。
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 1 つの URL に関する追加の詳細情報を提供するエントリのリスト。省略可。
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

実習

以下の API Explorer を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。