手当たり次第に書くんだ

飽きっぽいのは本能

WordPress 影響を最小限に抑えたパーマリンクの変更

Overview

この WordPress は、10 年以上公開し続けていますが、パーマリンクの設定はずっと「基本」としていました。最近の SEO として、パーマリンクを設定する(基本以外にする)べきだということはしばらく前から認識していたのですが、途中から変更すると全ての URL が変更となってしまい、サイト内のリンクも使えなくなり、SEO としても大変不利になります。

このため、Redirection プラグインを使用して、古い URL にアクセスされた場合は新しい URL にリダイレクトするように設定し、元の状態を維持しつつ、パーリンクの設定のみ最適化します。

また、投稿数が膨大である場合、Redirectionプラグインで個別にリダイレクト設定をしていくことは現実的ではありません。このため、Redirectionプラグインにはリダイレクト設定を CSV でまとめて読み込ませる機能があります。このリダイレクト設定データを作成するために、Export any WordPress data to XML/CSV プラグインもインストールします。

現行の全ての投稿の URL を CSV ファイルにエクスポート

まず、Export any WordPress data to XML/CSVをインストールして現行の全ての投稿の URL を CSV ファイルにエクスポートします。

  1. WordPress のダッシュボードからExport any WordPress data to XML/CSV プラグインをインストールし、有効化します。
  2. ダッシュボードのメニューから [ すべてエクスポート ] を選択します。これがExport any WordPress data to XML/CSV の UI になります。
  3. [ 特定の投稿タイプ ] – [ 投稿 ] – [ エクスポートファイルをカスタマイズします。 ] を選択します。
  4. [ Drag & Drop ] からエクスポート対象を [ ID ], [ Parmalink ] のみにして続行を選択します。
  5. [ 高度な設定を構成 ] はデフォルト値のまま [ Save & Run Export ] を選択します。
  6. [ Click to Download ] – [ CSV ] を選択して CSV をダウンロードします。手順上、ファイル名は old.csv とします。

パーマリンクを変更

今回、パーマリンクはカスタム構造で以下のようにしました。

/%category%/%postname%/

当初、category や postname などのスラッグを URL に含めると、後からスラッグを変更する際に、再度全てのリンクが必要になってしまうのではと考えましたが、Redirectionプラグインは、スラッグの変更に追従してリダイレクト設定をしてくれる便利な機能があるため、この問題はクリアです。SEO 的にもこのパーマリンク構造は効果的だといくつかのサイトに記載があったため、このパーマリンク構造を採用しています。

また、これまでのパーマリンクは基本を使用していたため、スラッグは投稿名から自動生成されたものになっています。一旦はこれでも問題ありませんが、これは日本語も含まれるため、英単語で構成するのがベストです。これについては自動的な設定は難しいため、投稿ごとに好みのスラッグに徐々に変更していこうと思います。もちろん最初にスラッグを変更してからパーマリンクを変更する方が良いですが、私の環境では投稿数が多いのでパーマリンクの変更を優先しました。

パーマリンク変更後の全ての投稿の URL を CSV ファイルにエクスポート

再度、Export any WordPress data to XML/CSVを使用してパーマリンク変更後の全ての投稿の URL を CSV ファイルにエクスポートします。手順は前述の内容と同じです。手順上、ファイル名は new.csv とします。

CSV ファイルの結合

パーマリンク変更前後の CSV ファイルを結合します。

old.csv

ここまで手順が問題なければ、old.csv の内容は以下(例)になっています。

idPermalink
90000https://www.si1230.com/?p=90000
90001https://www.si1230.com/?p=90001
90002https://www.si1230.com/?p=90002
old.csv

new.csv

同じく、new.csv の内容は以下になっています。category, postname が日本語の場合は、BASE64 でエンコードされた URL になっていると思います。

idPermalink
90000https://www.si1230.com/category/postname90000/
90001https://www.si1230.com/category/postname90001/
90002https://www.si1230.com/category/postname90002/
new.csv

merge.csv

old.csv, new.csv を結合して merge.csv を作成します。

https://www.si1230.com/?p=90000https://www.si1230.com/category/postname90000/
https://www.si1230.com/?p=90001https://www.si1230.com/category/postname90001/
https://www.si1230.com/?p=90002https://www.si1230.com/category/postname90002/
merge.csv

結合におけるポイントは以下の通りです。

  • Excel などで old.csv を左、new.csv を右になるようにデータを配置します。
  • old.csv と new.csv の順序が一致していることを id で確認します。
  • ヘッダー行の id, Permalink は削除します。
  • old.csv と new.csv の id カラムを削除します。

Redirection プラグイン

Redirection プラグインをインストールし、merge.csv を読み込ませます。

  1. WordPress のダッシュボードからRedirection プラグインをインストールし、有効化します。
  2. 有効化後に [ 基本セットアップ ] ウィザードが表示されます。[ WordPress の投稿と固定ページのパーマリンクの変更を監視 ] と [ すべてのリダイレクトと 404 エラーのログを保存する ] にチェックを入れ、[ セットアップの続行 ] を選択します。
  3. [ REST API ] が表示されます。[ セットアップの完了 ] を選択します。[ 基本データの作成 ] で [ 完了 ] を選択します。
  4. ダッシュボードから [ ツール ] – [ Redirection ] を選択します。
  5. [ インポート/エクスポート ] から merge.csv を読み込ませます。

ここまでで現行の URL を活かしたまま、パーマリンクの変更が完了しました。

まとめ

パーマリンクが基本のままで使用していて悩んでいる方はぜひこの方法でパーマリンクを変更することをお勧めします。基本のパーマリンクは「基本」とはされているものの、実際は非推奨に限りなく近く、プラグインもパーマリンク設定を前提としているものもありますので、早めに対処する方が良いでしょう。

なお、本稿では投稿に関してのみ言及していますが、固定ページも同様にリダイレクト設定が可能だと思います。

参考サイト

以下の情報が大変参考になりました。参考というよりも手順そのままではありますが、パーマリンクを最適化できて大変感謝しています。

https://y-bow.com/batch-change-of-permalink/

WordPress 影響を最小限に抑えたパーマリンクの変更

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る