【長いx2冒険日記】日記更新 複数ページの PageSpeed Insights の結果を一括で取得する方法、他
当日記ではアフィリエイト広告を利用しています
長いx2冒険日記を更新しました。
これまではてなブログで twitter に投稿していたように、記事を作成してから twitter に手動投稿する事にしました。その際に、アイキャッチ画像が表示されないトラブルが発生しました。
はてなブログでは経験した事のないトラブルです。長い x2 冒険日記では、WordPress + Cocoon + LiteSpeed cache プラグインを使用していますので、特に LiteSpeed cache プラグインの最適化が悪影響を及ぼしているのではないか、と考えて、最適化を除外するオプションを URL の末尾に追加すると、問題なく表示できました。
ここから試行錯誤した結果、Twitter Card validator に事前に URL を登録しておき (Card は表示されませんが登録はされる)、それから新規に tweet を作成すると、正常に表示される事が分かりました。
時間をおいて試すと、Twitter Card validator に登録しなくてもアイキャッチ画像が表示されるようになりました。原因ははっきりしませんが、とりあえず直ったのでヨシとします。回避方法は分かりましたので、再発した場合には、もう一度 Twitter Card validator に登録してやってみます。
PageSpeed Insights の結果を複数のページや同じページで複数回測定して平均値を出すのは、ウェブブラウザ経由で操作してコピペすると異常に手間がかかります。できればコマンドラインで一括で取得して、結果を貼り付けするだけで済むように、また定期的に測定して他のサービスに記録出来る事を目指そうと調べてみました。
psi-score-collector という Python スクリプトを見つけましたが、インストール方法や設定方法がそのままでは動作しなかったので再調査した上で手順をまとめ、更に実際のユーザーの環境で評価した結果 ("loadingExperience") ではなく、直接測定した結果 ("lighthouseResult") を表示するように修正し、表示についても日本語 -> 英語に直すとともにレイアウトも微修正しました。
このスクリプトを利用して、QUIC.cloud CDN の残量が残っているうちに1度測定して、結果をまとめました。
QUIC.cloud CDN の無料枠が無くなりましたので、CDN の効果を確認する為に、CDN 有効 / バイパスの状態で PageSpeed Insights の結果を測定しました。前記事で作成した psi-score-collector を使用しています。便利です。
CDN の有効 / バイパスで、少しのズレはありますが、概ね同じ結果が取得できました。個人的には予想外の結果でした。
CDN のアメリカのリージョン (QUIC.cloud では CDN ノードと呼ぶらしい) の中で、Google の PageSpeed Insights のサーバーと最も近い場所からデータを取得し測定していると考えていましたので、CDN バイパスになり LOLIPOP! レンタルサーバーからデータを取得するようになると、結果がかなり落ちるのかと思っていました。
結果として、パフォーマンスの数値が変わらなかったことから、大量のアクセスがある場合には CDN は有効ですが、PageSpeed Insights の様に単発で測定する場合にはページの最適化の方が効果が大きく、CDN の効果はそれほどでもないようです。
この結果を踏まえて、来月以降は QUIC.cloud のリージョンを安価な CDN ノードに絞って運用してみようと考えています。無料枠とはいえ、CDN の単価差が4倍ありますので、単純に4倍の通信量を捌ける事になり、3月は半月しか持ちませんでしたが、1カ月は持つ運用ができるのではないかと期待しています。