今回は最近、実際にあった案件の覚書です。
WordPressサイトの運用中に、カスタム投稿タイプ(CPT)の設計を見直し、既存の記事を別のカスタム投稿タイプへ移行したいケースがあります。
例えば、
- お知らせ → インフォメーション
- 実績 → 導入事例
- スタッフ → メンバー
などです。
ただし、カスタム投稿タイプを変更するとURL構造(パーマリンク)が変わることが多く、そのまま移行すると検索エンジンの評価や既存リンクに影響が出る可能性があります。
今回は、SEO評価を維持しながら安全にカスタム投稿タイプを移行する方法を備忘録としてまとめます。
今回使用するプラグイン
Post Type Switcher
既存投稿を別の投稿タイプへ変更するためのプラグインです。
主な用途
- 投稿タイプの変更
- カスタム投稿タイプ間の移行
- 一括編集による変換
WP All Export
既存記事のURLやスラッグ情報をCSV出力するために利用します。
主な用途
- 投稿ID取得
- post_name取得
- URL一覧作成
Redirection
旧URLから新URLへ301リダイレクトを設定するためのプラグインです。
主な用途
- 301リダイレクト管理
- CSV一括インポート
- URL変更時のSEO対策
推奨フロー(確定版)
今回のようなカスタム投稿タイプ移行では、以下の順番で作業するのがおすすめです。
- 旧CPTの記事をエクスポート
- 新URL一覧を作成
- Redirectionへ登録
- Post Type Switcherで投稿タイプ変更
- パーマリンク再保存
- 動作確認
1. WP All Exportで旧CPTの記事をエクスポート
まずは対象記事をCSV出力します。
最低限必要な項目は以下です。
- 投稿ID
- post_name
- フルURL(旧URL)
CSV例
| ID | post_name | URL |
|---|---|---|
| 123 | sample-post | https://zero1-pg.com/sample-post |
| 124 | test-post | https://zero1-pg.com/test-post |
この情報を元に、新URLを生成します。
2. 新URLをCSVで生成する
新しいカスタム投稿タイプのrewrite slugが決まっている場合は、ExcelやGoogleスプレッドシートで機械的に生成できます。
例えば新CPTのスラッグが「info」の場合、
旧URL
https://zero1-pg.com/sample-post
新URL
https://zero1-pg.com/info/sample-post
Excel関数例
="https://zero1-pg.com/info/"&B2
※B2にはpost_nameが入っている想定です。
完成形
| 旧URL | 新URL |
|---|---|
| https://zero1-pg.com/sample-post | https://zero1-pg.com/info/sample-post |
| https://zero1-pg.com/test-post | https://zero1-pg.com/info/test-post |
3. Redirectionへインポートする
次に301リダイレクトを準備します。
管理画面
ツール
↓
Redirection
↓
Import / Export
↓
CSVインポート
先ほど作成した
旧URL,新URL
形式のCSVを読み込みます。
先に登録しても問題ない
リダイレクト設定は、Post Type Switcher実行前に登録しておいても問題ありません。
ただし、
- 旧URLがまだ有効
- 新URL設定を間違えている
場合はリダイレクトループが発生する可能性があります。
事前にURLを確認しておきましょう。
4. Post Type Switcherで投稿タイプを変更する
続いて実際の移行作業を行います。
対象記事を選択し、
旧CPT
↓
新CPT
へ変更します。
記事数が多い場合は一括編集がおすすめです。
変更後は新しいURL構造で記事が公開されます。
5. パーマリンクを再保存する
投稿タイプ変更後は必ずパーマリンクを再保存します。
管理画面
設定
↓
パーマリンク
↓
変更を保存
設定内容を変更する必要はありません。
保存するだけでWordPressのリライトルールが再生成されます。
6. 動作確認を行う
移行後は必ず以下を確認します。
旧URLから新URLへ転送されるか
例
https://zero1-pg.com/sample-post
↓
https://zero1-pg.com/info/sample-post
へ301リダイレクトされることを確認します。
新URLで記事が表示されるか
ブラウザで直接アクセスして確認します。
サイト内リンクが更新されているか
以下もチェックしておきます。
- 投稿本文
- 関連記事
- メニュー
- CTAボタン
- ウィジェット
日本語スラッグ利用時の注意点
日本語スラッグを利用している場合、内部的にはURLエンコードされた文字列として保存されています。
例
/サンプル記事/
↓
/%e3%82%b5%e3%83%b3%e3%83%97%e3%83%ab%e8%a8%98%e4%ba%8b/
CSV作成やRedirectionへの登録時も基本的には問題ありません。
ただし、
- Excelで開く
- CSV編集ソフトで保存する
際に表示形式が変わることがあるため、登録前に実際のデータを確認しておくと安心です。
内部リンクの一括置換もおすすめ
301リダイレクトを設定すれば旧URLでもアクセスできます。
しかし内部リンクが古いURLのままだと、
旧URL
↓
301リダイレクト
↓
新URL
という処理が毎回発生します。
そのため、
- 表示速度
- クロール効率
- SEO
を考えると、内部リンクも新URLへ置換した方が望ましいです。
大量の記事がある場合は以下のようなプラグインが便利です。
- Better Search Replace
- Search Regex
まとめ
カスタム投稿タイプの移行は、単純に投稿タイプを変更するだけでは不十分です。
URLが変わる場合は、
- WP All Exportで旧URLを取得
- 新URLをCSV生成
- Redirectionへ登録
- Post Type Switcherで移行
- パーマリンク再保存
- 動作確認
という流れで進めることで、安全に移行できます。
特にSEO評価を維持するためには301リダイレクトが重要です。
作業前には新カスタム投稿タイプの rewrite slug(例:info)が正しく設定されているかを確認してから実施することをおすすめします。


