このサイトについて

プラグイン「Redirection」は超便利!~約300件のパーマリンクを一括変更

つい先日、このブログの各記事のパーマリンクを一括変更しました。約300件もあって、それはそれでなかなか難儀だったのですが、その際に大活躍してくれたのは、Wordpressの定番プラグイン「Redirection」でした。

パーマリンク設定がいつの間にか変わっていた

何度か書いていますが、このブログをWordpressで開設したのは10年前です。そして、最初にパーマリンクを設定したとき、確か、カスタム設定をして「年/投稿名」にしたはずなのです。

なんとなく、ルート直下に投稿記事がズラズラ並ぶイメージがちょっと嫌だったので、せめて年で区切ろうかな、ということだったと思います。階層もあまり深くしたくなかったし。

なのに、いつの間にか「年/月/日/投稿名」という設定に変わってしまっていました。いつ変わったんだろう? たぶん、何年か間が空いた後の、一気にメジャーアップデートをかけたときにでも、勝手に変わったのではないかと思われます。

とにかく、ふと気づいたらそのようになっていて、ものすごく嫌な感じがしたのですが、後で調べると、「ドメイン/投稿名」から「ドメイン/日付/投稿名」への変更の場合はWordpress側で勝手にリダイレクトされるけれど、その逆はできないそうで。たぶんですが、内部でリダイレクトがかかっているので、元の形に戻すとループするからではないかと思われます。となると、うかつに設定からの変更はできません。

一括変更を決意

そんな感じで先送りしていたら、記事が300近く溜まってしまいました…。

うーん、階層深いし、日付フォルダの下なんて1~2個しか記事ないし、としばらく悶々としていましたが、グズグズしていると溜まる一方なので、この際一気に変更しよう、と思い立ちました。

基本的には、こちらのブログさんの記事を参考にさせていただきました。懇切丁寧に書かれているので、非常に助かりました。

全記事のスラッグを変更

基本的には上記記事の通りに作業したのですが、私の場合は一段階作業を増やしました。投稿名(スラッグ)の変更です。

自分としては、基本的に「ドメイン/投稿名(スラッグ)」ですが、書いた時期も自分自身が分かった方が良いものも多いので、多くのスラッグの頭にyymm(年月)を足しています。声楽レッスンなんて、通し回数だと大変なので、年月とその月の1回目、2回目、とかわかった方が良いですから。

今回、年月を足したこと、記事によっては元々スラッグを入れ忘れて日本語タイトルのままだったこと等を踏まえて、今回、ほぼすべての記事のスラッグを書き換えました。これができたのは、プラグイン「Redirection」のおかげです。

スラッグ変更とリダイレクト

上記の参考記事では、パーマリンク設定の変更のみを想定していますが、すべての記事のパーマリンク一覧を取ったところで、スラッグ変更を行いました。

新旧URL一覧を作成→新スラッグを決定

旧URL一覧をもとに新URLの列を作るところまでは同じですが(私はExcelを使いました)、この際にすべてのスラッグも考えて書き換えておきました。当然、重複チェックはしました。ダブったらまずいので。この段階でインポート可能なCSVを完成させておきました。

そして、スラッグ部分のみをコピーしてエディタに1件1行で用意しました。

RedirectionでURURLモニターを設定

続いて、Redirectionの「オプション」で「URLモニター」の「投稿の変更を監視」をONにしておきます。これで、スラッグを変更してもすぐにリダイレクト設定がされます。

Redirection設定画面

「クイック編集」で全スラッグを書き換え

こうして、投稿一覧画面の「クイック編集」から、すべてのスラッグをコピペで書き換えました。

書き換えたそばからRedirectionによって自動的にリダイレクトが設定されていきます。これで、とりあえずはすべてのURLが変更されました。

Redirectionですべての転送ルールを一旦削除

そして、次の瞬間にRedirectionの転送ルールをすべて削除しました。これは、今回書き換えたもの以外の転送ルールがなかったのでできたことです。「すべて選択⇒削除」は一瞬ですが、もしも残さなければならないものを選ぶなら大変だったと思います。

なぜ削除したかというと、リダイレクトがを1回だけにしたかったからです。スラッグ変更の作業はコピペとはいえ2時間くらいかかったので、その間に「日付/新スラッグ」というURLが発生してしまいましたが、ほんの短時間です。旧URLのリストは取ってありますので、直接新URLに飛ばした方が良いと思いました。

作っておいたCSVファイルをインポート

ここまで終わったところで、パーマリンク設定の変更⇒Redirectionにリストをインポート、という手順で作業が終わりました。転送ルール削除からは2~3分、いやもっと早かったかも。ほとんど時間はかかりませんでした。

結果、特に問題なく表示されているので、あとは内部リンク等、少しずつ修正していけば良いはずです。

Search Regexは現時点で使えない

参考記事に載っているプラグイン「Search Regex」がしばらく更新がなく、現バージョンのWordpressでは使えないので、一括変更ができないのですが、リダイレクト設定はきちんと動いているので、気づいたところから直していこうと思います。まずはpp3からのリダイレクト記事ですね。あっちは.htaccessをいじるしかありませんが、数も少ないのですぐ終わるでしょう。

パラメータつきURLの一括転送もRedirectionで簡単設定

長々とURL変更の話を書いてしまいましたが、今回はRedirectionの記事ですよね。

実は、URL変更後、cocoonの機能の一つであるAMP(モバイルで高速表示する機能)を以前からonにしていたため、AMPのパラメータが末尾についているURLで404エラーが出ていることに気づいたのです。

これは、一つずつ直すのはやっぱり面倒、ということで、これもRedirectionのインポートで一括転送してしまえ、と思い、前回使ったCSVの「旧URL」の列に、Excelの「書式設定」で、末尾にすべて「?amp=1」を加えてみました。

結果、あっという間に解決しました。

うん、Redirection、便利。

最後に

本来、パーマリンクは「不変の」という意味があるので、そんなにちょこちょこ変更していいものではありませんが、うっかり綴りを間違って恥ずかしい文字列をさらし続ける、ということもありますので、難しい作業なしに変更ができるのはありがたいですね。

コメント

タイトルとURLをコピーしました