トラブルシューティング
Kashiwazaki SEO Old Slug Manager の使用中に発生しうる問題と対処法、動作要件、技術仕様について解説します。
よくある問題と対処法
リダイレクトを無効化したのに旧URLがリダイレクトされる
| 考えられる原因 | 対処法 |
|---|---|
| キャッシュプラグインが古いリダイレクトをキャッシュしている | キャッシュプラグイン(WP Super Cache、W3 Total Cacheなど)のキャッシュをクリアしてください。 |
| CDNがリダイレクトをキャッシュしている | CDN(Cloudflareなど)のキャッシュをパージしてください。 |
| ブラウザがリダイレクトをキャッシュしている | ブラウザのキャッシュをクリアするか、シークレットモードで確認してください。 |
| .htaccessや他のプラグインがリダイレクトを設定している | サーバーの.htaccessファイルやリダイレクトプラグインの設定を確認してください。 |
旧スラッグが一覧に表示されない
| 考えられる原因 | 対処法 |
|---|---|
| 投稿のスラッグが変更されたことがない | 旧スラッグはスラッグ変更時にのみ作成されます。一度もスラッグを変更していない投稿には旧スラッグは存在しません。 |
_wp_old_slug メタデータが削除されている |
データベースの wp_postmeta テーブルで _wp_old_slug の存在を確認してください。 |
URL検証が動作しない
| 考えられる原因 | 対処法 |
|---|---|
| サーバーの外部通信が制限されている | ホスティング環境で wp_remote_head が利用可能か確認してください。 |
| 対象URLがタイムアウトしている | 対象サーバーの応答が遅い場合があります。時間を置いて再実行してください。 |
| セキュリティプラグインがHTTPリクエストをブロックしている | セキュリティプラグインのファイアウォール設定を確認してください。 |
設定が保存されない
| 考えられる原因 | 対処法 |
|---|---|
| AJAX通信がブロックされている | ブラウザの開発者ツールのコンソールでJavaScriptエラーがないか確認してください。 |
| ユーザー権限が不足している | 管理者権限を持つユーザーでログインしていることを確認してください。 |
ヒント
問題が解決しない場合は、一度プラグインを無効化してから再有効化してみてください。設定値はデータベースに保持されるため、再有効化後も設定は維持されます。
動作要件
| 項目 | 要件 |
|---|---|
| WordPress | 5.0 以上 |
| PHP | 7.4 以上 |
| 対応ブラウザ | Chrome、Firefox、Safari、Edge(最新版) |
技術仕様
- データ保存: wp_options (kswz_disabled_redirect_slugs)、_wp_old_slug post_meta
- カスタムテーブル: なし
- 外部通信: wp_remote_head(ステータスチェック)
- Cronイベント: なし
- メール送信: なし
- AJAXハンドラー: 4個(検索・設定変更・URL検証・一括操作)
- セキュリティ: nonce検証、権限チェック、入出力サニタイズ
アーキテクチャ
Kashiwazaki SEO Old Slug Manager は以下のコンポーネントで構成されています。
フロントエンドフック
- WordPressの
wp_old_slug_redirectフックをインターセプトしてリダイレクトを制御 - 無効化リストに含まれるスラッグのリダイレクトをキャンセルし404を返却
- JSON-LD、metaタグなどのフロントエンド出力は一切なし
バックエンド
- 無効化対象スラッグのリストは
wp_optionsテーブルにkswz_disabled_redirect_slugsキーで保存 - 旧スラッグデータはWordPress標準の
_wp_old_slugpost_metaを参照 - 4つのAJAXハンドラーで投稿検索・設定変更・URL検証・一括操作を処理
- すべてのリクエストに nonce 検証を実施
リダイレクト制御フロー
1
訪問者が旧スラッグのURLにアクセスすると、WordPressのリダイレクト処理が開始されます。
2
本プラグインが wp_old_slug_redirect フックで、該当スラッグが無効化リストに含まれるかチェックします。
3
無効化リストに含まれる場合、リダイレクトをキャンセルし、WordPressの標準404処理に移行します。
4
無効化リストに含まれない場合、WordPressのデフォルト動作(301リダイレクト)がそのまま実行されます。
補足
カスタムテーブルやCronイベントは使用しないため、プラグインの削除時にデータベースへの影響は最小限です。wp_options の kswz_disabled_redirect_slugs のみが削除対象です。