Google スプレッドシートに
2018年 11月の
古い
作成した
v4 API で 結果を 記録する Google Apps Script
以前、
作成した
スプリプト一式
kemsakurai/gas-PageSpeedInsights-v4
v4 から v5 の 変更点
以下、
Lighthouse ベースの
測定指標に 変更された。 Lighthouse ベースの
測定指標に 変更された 結果、 SpeedIndex 等の 時間を 示す 指標が 取得できるようになった。
ローカル環境で
指定できる パラメータ
v5 API は
v4 から
Google APIs Explorer から
url
検査対象のURL を 指定します。 category
これはLighthouse の スコアの カテゴリです。 accessibility
、seo
、pwa
、performance
、best-practices
を複数指定できます。 locale
ja_JP
等、指定可能です。 戻り 値に 含まれる エラー、 警告メッセージの ローカライズが 行われます。 strategy
desktop
またはmobile
を指定できます。 utm_campaign
Google Analytics のutm パラメータです。 utm_source
Google Analytics のutm パラメータです。 fields
戻り値に 含める 項目を 指定できます。 cateogry を 複数指定する 場合は、 戻りとなる json が かなり 大きくなるので、 Google APIs Explorer で 生成した クエリ文字列を 元に 必要な 項目だけ 取得した ほうが いいかと 思います。
作成した もの 一式
kemsakurai/gas-PageSpeedInsights-v5: Google Apps Script to record the return value of the PageSpeedInsights v5 API in the spreadsheet に、
以下の
- config シートに
記載された シート名を 元に 記録用の シートを 作成する。 - config シートの
URL に 対して、 PageSpeedInsights v5 を 実行して 実行結果を 記録する。 - メニューから
PageSpeedInsights v5の 実行、 スケジュール実行の 設定が できる。
使い方
前提
Node.js と、
参考に
- Node.js npm の
インストール。 - clasp の
インストール。
リポジトリを クローンする
git clone https://github.com/kemsakurai/gas-PageSpeedInsights-v5.git <project_name>
クローンした ディレクトリに 移動して、npm install
を 実行する
cd <project_name> npm install
.clasp.json
の スクリプト ID を 変更する
記録先となる
スクリプト ID の
作成した
スプレッドシートの ツールから スクリプトエディタを 開きます。 スクリプトエディタが
起動します。 ファイルメニューの プロジェクトの プロパティを 開きます。 ウィンドウが
開きます。 スクリプト ID が 表示されるので コピーします。 .clasp.json
の内容を 修正
.clasp.json
のscriptId に 取得した スクリプト ID を 貼り付けます。 { "scriptId": "<your_script_id>", "rootDir": "dist" }
ビルド、 デプロイ
ビルド
bundle.js
とupdateSchedule.html
をdist ディクレトリ配下に 作成します。 npm run build
デプロイ
ビルドし、.clasp.json
に指定した スクリプトに 対して デプロイを 実施します。 npm run deploy
デプロイ後の 設定
スクリプトの
PSI_API_KEY
PageSpeedInsights API v5 のAPI キーを 設定します。
Get Started with the PageSpeed Insights API | PageSpeed Insights | Google Developers にAPI キーの 発行ボタンが あります。 REFERER
必須ではありません。 設定すると、 リクエストの 際に REFERER ヘッダを 付与し、 設定した 値を リファラ値と して 扱います。
スプレッドシートの 設定
スクリプトの
記録する
1. Create config sheet
config シートを
以下のような
Urls には、
実際に
2. Create recording sheet
config シートの
記録シートには、
GAS で
- DATE
- MOBILE.accessibilityScore
- MOBILE.bestPracticesScore
- MOBILE.performanceScore
- MOBILE.pwaScore
- MOBILE.seoScore
- MOBILE.firstContentfulPaint
- MOBILE.speedIndex
- MOBILE.interactive
- MOBILE.firstMeaningfulPaint
- MOBILE.firstCpuIdle
- MOBILE.estimatedInputLatency
- DESKTOP.accessibilityScore
- DESKTOP.bestPracticesScore
- DESKTOP.performanceScore
- DESKTOP.pwaScore
- DESKTOP.seoScore
- DESKTOP.firstContentfulPaint
- DESKTOP.speedIndex
- DESKTOP.interactive
- DESKTOP.firstMeaningfulPaint
- DESKTOP.firstCpuIdle
- DESKTOP.estimatedInputLatency
3. Run Test
Create config sheet
、Create recording sheet
をRun Test
が
config シートの
4. Shchedule
記録シートへの
スクリプトトリガ の
グラフ描画時の 注意点
スプレッドシートでも、
- estimatedInputLatency の
単位は ミリ秒
他の速度指標は 秒 ですが estimatedInputLatency は ミリ秒で 値が 返ります。
他の速度指標と 同じ 同一の グラフで 描画する 際は、 単位調整が 必要に なります。
参考
GAS で
PageSpeedInsights API を 使って Lighthouse の スコアも 取得する - Qiita Google製スピード測定ツールの
PageSpeed Insightsが 分析エンジンに Lighthouseを 組み込む | 海外SEO情報ブログ uknmr/gas-webpagetest
TypeScript でGoogle Apps Script を 作る 際の 具合が わからず、 参考に なりました。
以上です。
コメント