AMP プラグインお勧めの persistent object キャッシュを試してみました

サイト運営雑感

AMP for WordPress ベータ版の設定ページには、”The AMP plugin performs at its best when persistent object cache is enabled. More details”と言うメッセージが表示されています。

「このAMPプラグインは、persistent object キャッシュを有効に(搭載)していると最良のパフォーマンスとなります。」と言うような意味です。ベータ版ではないプロダクション版のAMPプラグイン設定ページにはそのようなメッセージは表示されていません。

AMP for WordPress のベータ版を使用するユーザーは、基本的にはエンジニアや技術的にそれなりの知識と経験を持っている人が多いと思います。技術的に詳しいユーザー向けに、わざわざ設定画面のところにメッセージを表示しているので、かなり強く推奨している印象を持ちました。”The AMP plugin performs at its best when…”と言うメッセージ自体も推奨する意図が強く感じられる文言です。

リンクが貼られているWordPressのページ、WP_Object_Cache Persistent_Caching を見てみました。Persistent Cachingの部分には、「WordPress 2.5以前、wp_cache 機能を使用してデータを保持していた場合、define( ‘WP_CACHE’ , true)  の定義を wp-config.php に加えると、データ保持が長く強固に(stored persistently) なります。これは現在(のWordPress)には該当しません。persistent cache プラグインをインストールしない限り、定義を追加することは、何の影響も与えません。」と言うような意味のことが書かれています。

上記説明に続いて、Persistent Cache プラグインのリストがありました。リストの中には、W3 Total Cacheがありました。W3 Total Cache は、知名度も高く、アクティブに使用しているサイトも100万以上あるプラグインです。早速、インストールしてみたのですが、AMPのエラーとなりました。(苦笑)

AMP for WordPressを元々、開発したAutomattic は、WP Super Cacheと言うキャッシュプラグインを提供しているのですが、WordPressのpersistent cacheサポートプラグインのリストには含まれていませんでした。WP Super Cacheは、200万以上のサイトで使用されています。プラグインの説明などをざっと見た感じではPersistent キャッシュをサポートしているかいないかよくわからなかったのですが、サポートしているのであれば、リストに含まれているはずなので、サポートしていない可能性が高いと思いました。

皮肉なことにWP Super Cacheは、インストールしてもAMPエラーは表示されません。ネイティブAMPの設定のままで使うことができる感じです。

Persistent キャッシュをサポートしている他のプラグインは、特定の使用環境において動作するものが多く、このブログが利用しているサーバーには対応していないものがほとんどでした。

APC Object Cache / APCu Object Cache

リストの中の、APC Object Cache / APCu Object Cache は使えそうなので、リンク先を見てみました。前者は最終更新が3年前で日が経っています。後者は、8ヶ月前で更新が比較的新しいです。

このブログのサーバー環境を調べてみるとAPCuは使えることが分かりました。インストール自体は簡単にできます。(WordPressのコンテントディレクトリー上にファイルをアップロードするだけです。)早速、インストールしてみました。

キャッシュを使用することの弊害・副作用

プラグインなどで行うキャッシュ機能はソフトウェアによるキャッシュです。大まかなところでキャッシュは、決まった動作を行うプログラムコードなどをキャッシュメモリーに格納しておくことで、再ロードせずに動作することで、高速化を実現する仕組みです。

ソフトウェアのキャッシュは、格納されているコードや設定などに変更が加えられている場合、ソフトウェアが変更点を考慮せずに動作するリスクがあります。システム設定などで変更を行っても、変更が反映されない場合は、一旦、キャッシュを削除する必要があります。

私はサイトの設定などを比較的良く変更します。特にこのブログに関しては、立ち上げたばかりなので、連日、様々な機能設定の変更をおこなっています。設定変更などを多く行う場合は、プラグインなどによるキャッシュは使用しない方が良いです。使用する場合は、変更する都度にキャッシュを削除します。

運営する全てのサイトで、これまでキャッシュプラグインを使用していませんでした。しかし、今回は試してみようと考えて、APCu Object Cache をインストールしてみました。

多少、早くなったような気もしましたが、元々、本ブログはテキスト中心であり、コンテンツも重くないので、明らかな差は感じられませんでした。ベンチマークテストなどを行なってもあまり変わりはありませんでした。(ベンチマーク自体、環境などにもよるので、一つの目安にしかなりません。)

しかし、APCu Object Cacheをインストール後、メインサイト(ブロギングライフ)の方で、Search ConsoleのURL検査ツールを使用するとモバイルフレンドリーではないなどのエラーが発生したりするような不可解な現象が発生しました。

ドメインも異なり、WordPressも別のディレクトリーに格納され動作しているので、APCu Object Cacheが原因ではないと思うのですが、APCu Object Cacheはサーバーのバックエンドキャッシュとして動作するので、絶対に関係がないとは言い切れないところがあります。

本日は、構造化データのプラグインの設定がリセットされる現象も何度か発生しました。この現象も不可解なものです。

キャッシュの利用と弊害について調べるには時間がかかります。あまり時間をかけることもできないので、設定を無効に戻しました。来週以降、時間が取れるようであれば、また試してみようかと考えています。