プライム・ストラテジーの福田です。今回はWEXAL Page Speed Technology (以下、WEXALとします。)で検証用途などに使える機能をご紹介します。
自分のみWEXALを無効化する方法
WEXALはサイトに不具合が発生しないよう細心の注意を払っています。ですが、それでもサイトが崩れてしまうことが稀にあります。このような場合でもご安心ください。WEXALは元のデータを書き換えたりしません。すぐに一時停止して「本当にWEXALが原因なのか」をチェックすることが可能です。
これは特定のHTTPのヘッダか、クエリ文字列を追加することで、実現できます。
リクエストヘッダで一時停止を指定したい場合はキーX-PST-Disable
に対して値をon
で設定してください。クエリ文字列で設定する場合はpst=offを追加してください。
これを適用したあと、リクエストを送信してレスポンスが返ってきたら、HTTPのレスポンスヘッダX-PST-Dynamic
が存在しないことで一時停止されていることを確認できます。
また、導入前のチェックとしてデフォルトでPSTが無効の環境で強制的に有効にしたい場合はクエリ文字列pst=off
の部分をpst=on
にすることで対応可能です。
Engagement Delayを自分だけ常に有効・無効にする方法
Engagement Delayとは、ページにあるファイルの読み込みを適宜遅延して行う機能です。これを利用することにより、ページの初回読み込みが高速になることが期待できます。それによってPageSpeed Insightsの各種スコアの向上も期待できるのです。
「Engagement Delayを実質的に無効にしてすべてのスクリプトを一気に読み込ませたい。でもWEXALは有効のままで試したい。」そんなときもあるかもしれません。この場合、score=9999
をクエリ文字列へ設定すると、この希望を実質的に達成できます。
仕組みとしては、以下のとおりです。: 内部で動かしているスクリプトの中で、ユーザがどのような傾向を示しているか保存している値があります。scoreのクエリ文字列はこれを強制的に上書きします。これによって、スクリプトに「この人には遅延読み込みしなくても大丈夫だな。」と勘違いさせることができます。そしてEngagement Delayの無効化を実現することができるのです。
ちなみに、これらの数値は通常の場合、80~概ね300未満に落ち着きます。そして、初回訪問のユーザにはこのスコアが80で設定されています。
また、score=9999
ではうまく表示されるのにscore=80
ではうまく表示されないなどの事象が確認できたら、Engagement Delayのみ無効にする設定を追加してみましょう。
最適化済キャッシュを捨てる方法
WEXALは、最適化する際、元の画像データなどに手を加えません。ただし、最適化後のデータは一定期間キャッシュされます。何らかの理由により破棄したい場合、パージしたいリソースのクエリ文字列へwexal=purge
を追加し、リクエストを送信してみてください。例えば、特定のJPEGをクリアしたい場合、https://example.com/wp-content/uploads/2023/12/test.jpg?wexal=purge
にアクセスすればOKということです。
WEXALの設定ファイルをダンプする方法
さて、ここからは高度な使用法になります。
WEXALが適用する最適化戦略はAIによって生成されるため、実行されるまでどのような結果が返ってくるかは想像が難しいものです。
戦略を出力するには、ヘッダにX-PST-Dump
、その値にon
を追加し送信してください。これにはクエリ文字列で同等のものはありません。
このヘッダを付加してリクエストを送信すると、コンテンツではなく戦略のYAMLが返ってくるようになります。
このYAMLは、AIが生成した最適化戦略が書かれています。もし生成されていなかった場合はデフォルトで設定されている戦略が出力されます。
ちなみに、結果をダンプすると以下の画像に示すようなデータが出力されます。
これを見ることにより、以下のようなことを確認することができます:
- 戦略が生成できていないときは、デフォルトの戦略が適用されるため、
header_filter
が空である特徴があります。これを見ることにより、AIがきちんと戦略生成できているか確認することが可能です。 cmd
にengagement delay
が入っていない場合、適用されていないことを判別することも可能です。
設定ファイルを一時的に切り替える方法
こちらもまた高度な使用法となります。
弊社では、WEXALの設定をサイトごとに特別に手作業で設定することもあります。その際、一般の閲覧者には通常の設定を適用し続けることができる仕組みがあります。
これを利用するには、ファイルを生成した上で、HTTPリクエストヘッダのキーにX-PST-ConfigName
、値に(設定名)
もしくは、クエリ文字列にpst=(設定名)
をセットすることで対応できます。
なお、そのファイルが存在しなかった場合、実質的にpst=off
(つまり無効)と読み替えられます。ですので、きちんと動いているかを見るために、X-PST-Dynamic
ヘッダが存在するかどうかを確認する必要があります。
WEXALの設定ファイルについてですが、ファイル名や置く場所にも規則があります。置く場所は/home/kusanagi/(当該サイトのKUSANAGIプロファイル名)/wexal/
の下です。ファイル名は、pst.(設定名).config.yaml
です。デフォルトの設定はpst.config.yaml
ですので、これを参考にご確認ください。詳しくは公式サイトの設定ファイルについての解説をご確認ください。
まとめ
この記事ではWEXALの検証用パラメータをご紹介しました。これらを利用すると、以下のことが期待できるようになります:
- WEXALの設定変更をしやすくなること
- 不具合の切り分けがしやすくなること
ぜひご利用ください。
また、今後上記で追加したパラメタ以外も導入される可能性があります。最新の情報は以下で示す参考文献リンクなどをあわせてご確認ください。