記事が沢山あるWordPressブログのパーマリンクを変更してリダイレクトを一括で設定する方法

記事が沢山あるWordPressブログのパーマリンクを変更してリダイレクトを一括で設定する方法

本ページはプロモーションが含まれています。

当ブログを始めた初期のころに設定したパーマリンクは、当時と今では良しとされる設定が違ってたので変更することにしました。

記事が増えた後では大変でした。

リダイレクトの設定はとても重要なので、一気に全部設定する前に少量で試してみるのをお勧めします。

今回の作業で参考にさせていただいたサイトは下記の3つのサイトです。

https://y-harada.net/wordpress/10773

https://tekito-style.me/columns/wordpress-permanent-link?utm_source=pocket_mylist#5

https://momotaro3.com/wordpress-permalink0517/

記事のパーマリンク取得準備

一括でパーマリンクを取得するには、プラグインを使うと超楽なのでインストールします。

インストールする必要があるのは

WP All Export

WordPressのプラグインで検索すると

Export any WordPress data to XML/CSV

が出てきます。これがWP All Exportです。

WP All Exportの使い方

インストールするとWordpressのサイドメニューに「すべてエクスポート」というのが表示されます。これがWP All Exportです。

クリックすると、「新規エクスポートエクスポートを管理設定」メニューがでます。

wp all export menu
こんな感じです。

設定は初期設定のままにしてます。

新規エクスポート

wp al export new
特定の投稿タイプWP_Query結果のボタンがあります。その下の投稿タイプを選択でどのデータをエクスポートするかを選択します。

ここで投稿タイプで投稿を選択すると、公開下書き、の如何を問わず全部出力されます。
公開している投稿のみを取得したい場合は、WP_Query結果を使います。

wp all export query

上の画像で「‘post_type’ => ‘post’,’post_status’ => array(‘pending’,’draft’,’future’)」と表示されているところに

‘post_type’ => ‘post’,’post_status’ => ‘publish’

(Macでコピペすると「’」が「`」になる場合があるので注意してください)

と入力すると公開されている投稿データのみ取り出せます。

エクスポートファイルをカスタマイズします

というボタンを押すと

このようになります。正しく入力できた場合は、エクスポートされるレコードの数が上の方に表示されます。

上の画像で1の枠内に表示されているものが、リストアップされます。この場合は、IDTitleContentです。

項目を削除

必要の無い項目を削除するにはその項目をクリックします。

wp all export content delete

この様な画面が出るので、削除ボタンを押して削除します。

項目を追加

項目を追加する場合は、上の画像で2の部分からドラッグアンドドロップします。

wp all export usable data

標準をクリックしたらこの様になります。ここから必要なものを追加します。

wp all export field

今回自分が必要なのはタイトルパーマリンクスラッグなのでこのようになりました。続行ボタンを押して続けます。
(IDを選択してないので警告が出てますが、エクスポートしたものを再インポートする予定はないのでこのままにしておきます。)

Point: パーマリンクに変更後にリダイレクトの設定をしないといけないので、その際に必要な項目があれば一緒にエクスポートすると便利です。

エクスポートする

wp all export exporting

この様な画面に遷移するので、

エクスポートファイルにBOMを含める

という項目にチェックをいれます。これはエクスポートしたファイルに英語以外の言語が含まれる場合に、Excel等で開く際に役立つそうです。
チェックを入れたら、エクスポートの確認&実行ボタンを押します。

wp all export exported

この様に表示されたら完了です。
Public URLの下の黄色く塗りつぶされた場所にURLが表示されますが、CSVというボタンを押せばダウンロードできます。

以上で現在のパーマリンクの書き出しの終了です。

csvサンプル

こんな感じになります。

ちなみに、OpenOfficeで文字化けする場合は、ファイルを開く際にunicode(UTF-8)を選択すると文字化けしませんでした。

パーマリンク変更をする前にリダイレクトの準備

パーマリンクに記事のタイトルを使わない場合はそんなに大変な作業ないです。

記事タイトルをパーマリンクにする場合は、日本語だと文字列がおかしくなるので英語にする必要があります。スラッグと呼ばれるものがパーマリンクに使われるので、各記事にスラッグを設定します。設定してない場合はCSVファイルを直接さわって変更することもできます。
この作業はマクロか何かを使って変換する以外は、地道にひとつづつ変更する必要があります。記事が多い方はなにかしら自動処理する方法を探すのもいいでしょう。自分の場合は記事がすくなかったので、地味な作業をしました。。。

エクスポート時点でスラッグが設定してあるかタイトルに日本語が使われていない場合は、この大きな手間が省けますね。

リダイレクトの設定もプラグインで

便利なのでプラグインを使います。

Redirection

個別にも設定できるし、一括でも設定できる優れものです。

CSVファイルでインポートできるので、WP all exportで書き出したデータを使います。

インポートするファイルの準備

CSVファイルでインポートする場合は

source,target
現在のURL,変更後のURL

という形式です。わかりにくいですね。

csvリダイレクト
こんな感じで、リダイレクトが必要な記事をすべて記入します。

URLは

https://ドメイン

の部分はなくてもよいそうですが、今回は有りにしました。
(下の方に出てくるRedirectionの画像は、ドメイン部分が無いものをインポートしてました。)

Redirectionの設定

WordPressのツールにRedirectionの項目があります。
クリックしたら

Redirection 1ページ目

この画面が出るので、オプションをクリックします。

Redirection設定1

この様な画面が出るので、転送ログ404ログを設定しました。必要ないと思う場合はなしでいいです。何らかのエラーが出た場合に放置するのはよくないのでログを設定しました。

このページの少し下に

Redirection設定2

デフォルトのURL設定という項目があるので

Ignore trailing slashes (i.e. /exciting-post/ will match /exciting-post)

にチェックを入れます。

これをしないと、googleでサイト内検索した結果からのリンクが404になったりします。Wordpressで自分のブログ内リンクを貼った場合にも404になりました。

その他の設定は変更なしで使ってます。

グループを追加する

Redirectionクループ

グループの画面にグループ名が何も表示されていなければ、ここで追加します。
名前を入力し、プルダウンはWordpressのままで使います。

最初に何かグループがあれば何もしなくてもいいですし、自分の好きなグループ名で作ることもできます。

インポートする

注意:ここでインポートするとすぐに反映されます。パーマリンクの設定変更済み、もしくはすぐに変更できる準備済みの場合にインポートしてください。

説明の順序としてはここにインポートを持ってきたいのですが、自分がリダイレクトの設定をした順序としては一番最後なので、今回も一番最後にインポートします。

WordPressの設定のパーマリンクの項目で設定を変更

カスタム構造にしてある場合は、念のために構造をメモ帳等に保存しておくといいです。問題発生した場合に元に戻しやすくなります。

ここでパーマリンクの変更を保存したとたんに記事のアドレスが変わるので、その瞬間からアクセスできなくなります。リダイレクトの準備をしっかりしてから変更します。パーマリンクを変更したら、一目散にリダイレクトの設定をします。先にリダイレクトの設定をしてから一目散にパーマリンクを変えるのもよかったかもと、今ふと思いました。

リダイレクトするCSVファイルをインポート

超重要なので、くれぐれも慎重に行ってください。

Redirectionインポート/エクスポート画面でインポートの項目にあるファイルを追加ボタンを押して、先ほど作ったCSVファイルを選択します。

Redirectionインポート2

ここで、グループ名を確認します。問題なければ、アップロードボタンを押します。

Redirectionインポート3

この画面が出たら安心です。

Redirection1ページ目で確認

転送ルールに追加されているか確認します。

今回は解説用に作ったので、リダイレクトするページの数が1つだけでやってます。1つならCSVにする必要はないのですが、解説用です。。。

感想

スラッグを変えるのが面倒だったけど、その他の作業はプラグインのおかげで楽にできました。

URLの最後尾に「/」があるのか無いのかで404が出るのは、気が付くまで少し悩みましたが、解決したので良かったです。

これでようやく、SEO的におすすめされているパーマリンクに変更ができました。