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 使用する分析戦略(パソコンまたはモバイル)。デフォルトはパソコンです。

指定できる値は次のとおりです。
  • "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 キャプチャによる検証の結果

使用できる値は次のとおりです。
  • "CAPTCHA_BLOCKING"
  • "CAPTCHA_MATCHED"
  • "CAPTCHA_NEEDED"
  • "CAPTCHA_NOT_NEEDED"
  • "CAPTCHA_UNMATCHED"
kind string 結果の種類。
id string ドキュメントの正規 URL と最終ページ 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 無線(OTA)バイト数。見積もりとしてデフォルトの 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 を使用して、ライブデータに対してこのメソッドを呼び出し、レスポンスを確認してください。