wordpressでリダイレクトループにはまる

wordpressで運用しているサイトに、サイトマップを作ろうとしてリダイレクトループにはまった時のメモ

もともと「Google XML Sitemaps」プラグインを導入していて、人間が見る用のサイトマップページを追加しようと「Dagon Design Sitemap Generator」プラグインをインストールした。

インストール後、有効化して設定画面からサイトマップ用ページのスラッグを、「sitemap」にして更新。
固定ページで「sitemap」ページ作成して、表示確認すると404エラーになってしまう。

調べてみると、どうやらスラッグを「sitemap」にすると、Google XML Sitemapsとあたって動作がおかしくなるという記事を発見した。
仕方が無いのでスラッグを「sitemaps」に変更して同様に固定ページも「sitemaps」に変更して確認してみると、やはり404エラーが表示される。

何かがおかしいと思ってよくよく見ていると、http://xxx.xx/sitemaps/をブラウザで見てみると、自動的にhttp://xxx.xx/sitemap/にリダイレクトされている。
試しに何の関係もない存在しないURL(http://xxx.xx/site-map/)へアクセスしてみると404エラーはもちろん返ってくるのだが、リダイレクトはされていない。

スラッグをいくつも追加して試しているうちに、今度はブラウザにリダイレクトループがおかしいと表示されるようになってしまった。

まてよ。
リダイレクトがおかしくなってるってことは、リダイレクトプラグインが悪さをしているんではなかろうか。
普通は最初に疑うべきかもしれないところ、今回は「Google XML Sitemaps」と「Dagon Design Sitemap Generator」の問題だとばかり思い込んでいたために、このことに気づくまでが時間がかかりました。

実はサイトのリメイクをしたときに、Redirectionsプラグインを入れてあり、旧ページから各ページへリダイレクトをさせていました。
Redirectionsの設定画面で確認すると、どういう訳か手動で登録したリダイレクト一覧には痕跡はまったくないのですが、ログを見てみると/sitemap/ やら/sitemaps/ 他にも試しに作ったスラッグが山のように登録されてます。

不要な自動的に登録されてしまったリダイレクトの削除方法がわからないので、データベースを見てみると、phpmyadminから該当のテーブルxxx_redirection_itemsってところがそれらしく、試しに作ったスラッグがたくさん登録されいるのを発見しました。
これを削除し、表示してみると目的のページを表示することができました。
スポンサーリンク