少し前から、本ブログのトップページで本年1月2日までの記事しか表示されないという情報が何人かの方から寄せられていました。
ChatGPTに相談しつつ調査
ただ私もWordPressにそれほど詳しいわけでもなく、サイト構築時以降はほぼ記事の更新しかしてない状況でしたので、どこから手を付ければいいのか皆目見当がつかない状態でした。
しかしこの件についてChatGPTに相談してみましたところ、ここをチェックしてみろとか、ここをこう変えて結果を知らせろとか、具体的な指示を出してくれることがわかりました。これなら何とかなるかもということで、それに従って調査を進めてみることにしました。
ただそれで調査・対処がすんなり進んだかというとそういうわけでもなく、最終的には
- .htaccess
- wp-config.php
- functions.php(テーマの)
あたりに修正を加えましたが、結局現象は収まりませんでした。
それどころか、いろいろいじっているうちにサイト全体が表示不能に陥り、冷や汗をかきながらバックアップを取っておいた設定ファイルに戻して復旧する、というようなことまでありました。
犯人はW3 Total Cacheプラグインの残留キャッシュファイル
ただ色々やっているうちに、どうもキャッシュが悪さをしているらしいということはわかってきました。
また招き猫の右手さんに協力していただき、ブラウザのキャッシュを削除しても現象が変わらないことがわかりましたので、どうもサーバー側のキャッシュに問題があるようです。
そこでwp-contentフォルダ中にありますcacheフォルダ内をチェックしていましたところ、page_enhancedというフォルダ下に問題発生の境目となります本年1月2日のキャッシュらしきものが残されていることがわかりました。
いかにも怪しい状況ですので、思い切ってこのpage_enhancedフォルダをリネームして無効化してみましたところ、あっさり問題が解決しました。
page_enhancedフォルダはW3 Total Cache(W3TC)プラグインの残留キャッシュファイルのようです(W3 Total Cacheは今は使っていないのですが)。
この件をChatGPTに報告したところ、以下のように分析してくれました。
起きていたことの正体
W3TC は「page_enhanced モード」で、ログインしていないユーザー向けにHTMLファイルを直接返すプラグインを削除・無効化しても、このキャッシュフォルダが手動削除されない
結果:古いHTMLがサーバーからそのまま返され続け、Cache-Control ヘッダーも混在
つまり:
WordPressやPHPの制御をすべてすり抜けて、サーバーが古い静的HTMLファイルを直送していた
プラグインを停止・削除しても、そのキャッシュの影響が残っちゃうようなことがあるのですね。
ここまでわかれば後は簡単、ChatGPTにW3 Total Cache関連のフォルダや設定の個所を教えてもらい、残っていればそれを削除して作業を終了しました。
始めた時は雲をつかむような話でしたが、どうにか対処できて良かったです。