Webサイトのパフォーマンスを分析するのに便利な「PageSpeed Insights」ですが、通常は一つ一つのURLを入力して分析しないといけませんよね。
先日とある別サイトの要件で何十件ものURLの測定結果を測定したいことがあり、1つずつ手入力するのが大変だったので、PageSpeed Insights API を使って一括解析する方法を試してみました。
PageSpeed Insights API の使い方
まずこちらのページから PageSpeed Insights API の API キーを発行しておきます。(Google アカウント登録が必要)
あとは以下の URL フォーマットで GET リクエストを投げれば、json 形式で解析結果のレスポンスが取得できます。
※strategy には解析する種類として「desktop」(パソコン)、「mobile」(モバイル)のいずれかを指定。
レスポンスからは速度値だけでなく色々な情報が取得できますが、詳しくは下記 API のページを参照ください。
複数URLを一括解析してみる
というわけで、試しに PHP で複数 URL を一括解析する簡単なスクリプトを作ってみましょう。
まず解析したい URL をテキストファイル url.txt に書いておきます。
次に PHP スクリプト sample.php を作ります。url.txt を読み込んで、それぞれの URL に対してモバイル速度値の測定結果を API から取得する処理にしています。
sample.php を実行してみた結果はこちらです。
意外にも大御所の面々はモバイルの速度値があまり高くないですね(笑)
なお PageSpeed Insights API は 25,000 リクエスト数/日の上限設定があるようです。利用する際にはご注意ください。