aboutWordPressのパーマリンク変更したときに私を襲ったアクシデントまとめTweet昨日、WordPressの全ての記事のパーマリンク変更を断行したわけですが、予想外のことが色々起こりバタバタしたので備忘録。WordPressの自動301リダイレクトが効かない大昔、日本語スラッグの記事URLを半角英数字に変更した際はWordPressが自動でリダイレクトしてくれてたので、「WordPressすげー」と思った記憶があったのと、他者ブログさんで自動リダイレクトしてくれたって記事を見たので、てっきり自動でリダイレクトしてくれるもんだと思ってました。解決方法そこで私はプラグインの力を借りることにしました。事前にWordPressパーマリンク変更関連の記事を読み漁っていたので、Redirectionというプラグインがあることはチェック済。正規表現でてこずったものの、元々「記事URLは必ず3種類のサブディレクトリのどれかに属する」というルールで運用していたので、それぞれにリダイレクトルールを設定して何とか対策をする。プラグインRedirectionはこちら。管理画面がリダイレクトループこれは相当マヌケな話なんですが、上のRedirectionでの設定が管理画面URLにも影響したらしく、管理画面が表示できない事態に。解決方法ftpでRedirectionのフォルダごと削除ログインできるようになるもう1回Redirectionをアップしなおす悪さをしてる(俺のミスやけど)設定を修正するふぅ。カテゴリーfeedのURLまでリダイレクトがかかるRedirectionのログを見て気付きました。記事はちゃんとリダイレクトされてるけど、ついでにカテゴリーfeedのURLまでリダイレクトされてる模様。/category/feedにリダイレクトされてしまって、404に。「後方参照」という技を用いる(初めて知った)。一応解説しとくと、「リダイレクト元URLをもうちょっとちゃんと指定しましょう」ということです。(.*)はなんでもいい文字列の組です。左から1つ目が「\1」、2つ目が「\2」に格納されます。元のパーマリンクが「/親カテゴリースラッグ/子カテゴリースラッグ/記事スラッグ.html」だったので、この場合「\1」が子カテゴリースラッグ、「\2」が記事スラッグに該当します。元のパーマリンクから、「親カテゴリースラッグ」と「子カテゴリースラッグ」を削除して、「記事スラッグ」だけ残しましょう、ということです。意味があるのか分かりませんが、図にしてみました。これでfeedのURLはリダイレクトされないようになりました。古いURLが残っているこれが一番てこずりました。パーマリンク変更、管理画面で変更したら一瞬で反映されるかと思ってたのですが、古いURLが残っている。症状としては、WordPressに未ログイン状態のブラウザでも、古いURLでも記事が見れてしまうというものです。Analytics見ても、古いURLでガンガン記録されてる。月末のPV集計をシンプルにするためにわざわざ月初を選んだのに変更したのに意味ないやんけ。Cacheのキャッシュを削除しても残る。Cacheを停止しても残る。ブラウザのキャッシュを消しても残る。解決方法どう考えてもキャッシュがたまってるとしか思えない。Cacheが原因でした。Cacheを有効化キャッシュを全部消すまた停止するこれで直りました。まとめと懸念これでなんとか思い通りの挙動になったかと思います。カテゴリーの再整理ができるわ。思ったんですが、301リダイレクトルールをごろごろ変えまくったんですが、これってSEO的に大丈夫なんですかね?Googleに「どれがホンマのURLやねん!」って怒られそうですが。プラグインコメント3件のコメントがありますWordPressパーマリンクの変更に踏み切りました。ケースがあるというお話を教えていただきました。全ページURLを301リダイレクトして1ヶ月。[...]コメントをどうぞ(承認後に反映されます)返信をキャンセルする。(8)aboutわたしについて楽器と機材を紹介するライブ情報リンク当サイトについて意識低い系UXストラテジストいまさしのライフログFacebookRSS著者:いまさし都内の某デジタルエージェンシーで働く意識低い系UIストラテジスト。休日はジャズベーシスト兼ゲーマー。imasashi.net。