2つのWordPressディレクトリ配置を入れ替えたため、記事のURLが変わりました。そこで古いURLへのアクセスを新URLへと301リダイレクトする必要があります。
同一WordPressなら勝手にリダイレクトしてくれるのですが、マルチサイトのような感じで別のWordPressなので手動でリダイレクトを設定しなければいけません。
ここではWordPressのリダイレクト用プラグインとして定番の「Redirection」とExcel、スプレッドシートを利用して過去記事のURL一覧を作成し、プラグインに設定する方法を記載します。
リダイレクト用プラグイン「Redirection」
転送先のWordPressにプラグインをインストールします。2021年10月時点で有効インストール数2百万以上、最新Verに対応と定番プラグインのようです。
このプラグインは正規表現というものに対応しており、特定の文字を含むURLを一括で設定することができとても便利・・・なのですが何度やっても思い通りのリダイレクトが走らなかったのでExcelとスプレッドシートを使って過去記事の一覧を作成し、転送前と転送後のURLを記載したcsvをインポートするという力業で解決しました。
指定した記事URLのリダイレクトだけになるので、余計なページで動作する心配もなく結果的にはOKとする。
変更前:https://example.com/1/
変更後:https://example.com/old-4/1/
WordPressのインストール先をルートディレクトリからold-4
というディレクトリにしたので、記事URLが変わった。変更前URLへのアクセスを変更後URLへリダイレクト処理する。
リダイレクトリストの作成
今回はスクショも撮ったのでこのブログのURLで説明します。先ほどの例とは別のパターンです。
投稿ID形式のURLを、年号-IDの形式に変換してみます。リストとして作成するので、リダイレクト先のURLはどんな形でも使えます。この機会に個別のパーマリンクにするのもありかもしれません。
https://one-memo.com/1/
https://one-memo.com/2/
https://one-memo.com/3/
https://one-memo.com/4/
https://one-memo.com/5/
https://one-memo.com/2021-1/
https://one-memo.com/2021-2/
https://one-memo.com/2021-3/
https://one-memo.com/2021-4/
https://one-memo.com/2021-5/
- WordPressの記事をエクスポート
- ExcelでURL一覧を整形
- スプレッドシートで転送後URLを作成
- Redirectionにインポート
WordPressの記事をエクスポート
旧URLリストを作成します。
WordPressのツール>エクスポート機能で記事をエクスポートします。今回は投稿ページのみ選択してエクスポートしました。
エクセルでURL一覧を整形
Excelで先ほどダウンロードしたxmlファイルを読み込み、「データの変換」を押します。
PowerQueryエディターというのが開くので、「channel」の右の展開ボタン→itemにチェック→OKと進みます。
更に「channel.item」の右の展開ボタン→titleとlinkにチェック→OKと進み、左上の「閉じて読み込む」を押します。
するとExcelシートにXMLファイルが展開されます。
この記事の通りにやっていればA列に投稿タイトル、B列にURLが入っているはず。
このB列がリダイレクト元リストになります。新しいシートやスプレッドシートのA列B列にコピペしましょう。
下準備完成品がこちら。A列、B列に同じURLをコピペします。次のステップでB列をリダイレクト先に変換していきます。
スプレッドシートで転送後URLを作成
先ほど下準備したリダイレクト元リストをGoogleスプレッドシートで開きます。なんならコピペしてもいいです。
B列を選択し、ショートカット「Ctrl+F」で検索ボックスを出し、「その他のオプション」を押します。
スプレッドシートでは正規表現での検索と置換が使えます。
今回はhttps://one-memo.com/数字/
の数字部分を正規表現で検索し、/2021-数字/
に変換しています。
ほんとはこれをRedirectionに設定したら動くはずなんだけどもうまくいかなかった・・・。
A列にリダイレクト元URL、B列にリダイレクト先URLが記載された状態になったら、csv(カンマ区切り)で保存します。
Redirectionにインポート
後々の管理のために、新しくグループを追加します。タイプはWordPress。
作成したcsvをインポートして完了。
転送ルールに追加されるので、動作確認してみましょう。
以上、異なるディレクトリに設置したWordPress間でリダイレクトさせる方法でした。