- 2026.08.26
- 保守・セキュリティ
- GIVデザインチーム
Redirectionのキャッシュ警告が何をやっても消えない
WordPressの301リダイレクト管理プラグイン「Redirection」を5.9.0にアップデートしたところ、管理画面を開くと常に警告が出るようになった。
キャッシュされた Redirection が検知されました
ブラウザーのキャッシュをクリアしてページを再読込してください。
デバッグ情報にはこう表示されていた。
Plugin: 5.7.5 4.2
Buster: 5.9.0 === 5.7.5
プラグイン一覧では「バージョン 5.9.0」と表示されているのに、内部的には5.7.5のまま扱われている。この状態で、ブラウザキャッシュを削除しても、シークレットウィンドウで開いても、別のPCから見ても直らなかった場合の切り分け手順をまとめる。
まず疑うべきはCloudflare、それでも直らない場合
Redirection公式のサポートページでも、この警告は主にCloudflareなどのキャッシュシステムが更新後のページを配信し続けることが原因として案内されている。該当する人はまずそちらのキャッシュパージを試してほしい。
うちのサイトはCloudflareを使っていなかったため、この時点で除外できた。
潰していったキャッシュ候補
順番に切り分けを行った。
- ブラウザキャッシュ(シークレットウィンドウ、別ブラウザ、VPN経由) → 変化なし
- サーバー側のページキャッシュ(LiteSpeed Cache) → プラグイン自体が無効化されており対象外
- W3 Total Cacheのオブジェクトキャッシュ → 「すべてのキャッシュを空にする」を実行しても変化なし
- PHPのOPcache → SSH経由でopcache_reset()を実行し成功を確認したが、変化なし
ここまでで、ブラウザ側・サーバーキャッシュ側の要因はすべて除外できた状態になる。
原因はファイルの中に残っていた
WordPress.orgのサポートフォーラムを見ると、同種の「プラグイン一覧の表示バージョンとJSファイルのバージョンが食い違う」報告がいくつか存在する。プラグイン作者は「配布パッケージ自体は正しいバージョンで、他に報告もない。そのサイト固有の問題のようだ」と回答しており、原因の特定までは行われていないケースが多かった。
そこでSSHでプラグインディレクトリの中身を直接確認することにした。
まずredirection.phpのヘッダーコメントとバージョン定義ファイルを確認する。
head -20 redirection.php
cat redirection-version.php
どちらも5.9.0で正しく記載されていた。ここまでは想定通り。
次に、バージョン定数REDIRECTION_VERSIONがプラグイン内のどこで定義されているか、サイト全体で検索した。
grep -rn "define.*REDIRECTION_VERSION" /path/to/wordpress/
結果、2箇所で定義されていることが分かった。
wp-content/plugins/redirection/build/redirection-version.php:3:define( 'REDIRECTION_VERSION', '5.7.5' );
wp-content/plugins/redirection/redirection-version.php:4: define( 'REDIRECTION_VERSION', '5.9.0' );
redirection-version.php(正しい方)はif ( ! defined( 'REDIRECTION_VERSION' ) )というガード文で囲まれている。つまり、それより先にbuild/redirection-version.phpが読み込まれて5.7.5が定義済みになっていると、5.9.0側の定義はスキップされてしまう。
build/redirection-version.phpの中身は、旧バージョン(5.7.5)のビルド成果物として残っていたファイルだった。
<?php
define( 'REDIRECTION_VERSION', '5.7.5' );
define( 'REDIRECTION_BUILD', 'e5bead9293c415a3ea00b2af86bd2010' );
define( 'REDIRECTION_MIN_WP', '6.5' );
WordPressの自動アップデートは新しいファイルの追加・上書きは行うが、旧バージョンにだけ存在して新バージョンでは使われなくなったファイルの削除までは、必ずしも徹底されない。今回はこのビルド残骸ファイルが削除されずに残ってしまい、そちらが優先的に読み込まれる状態になっていたようだ。
対処
このファイルを削除する。
rm wp-content/plugins/redirection/build/redirection-version.php
削除後、管理画面を再読み込みすると警告は消え、「バージョン5.9がインストールされました」という通知に切り替わった。転送ルールのデータもそのまま残っていた。
まとめ
「Cached Redirection detected」という警告は名前の通りキャッシュ由来であることが大半だが、キャッシュを一通り疑って解決しない場合、プラグインディレクトリ内に前バージョンの残骸ファイルが残っていないか確認する価値がある。特にbuild/のようなビルド成果物用のディレクトリは、アップデート時に古いファイルが消えずに残りやすい箇所として覚えておきたい。
ホームページの保守でお困りの方は、弊社ホームページ保守サービスを御覧いただき、お気軽にお問い合わせください。
Web・AI・セキュリティのお悩みは
GIV株式会社へご相談ください
「サイトをリニューアルしたい」「業務を自動化したい」
そんな課題を、技術とデザインの力で解決します。
まずはお気軽にお問い合わせください。