今回は、2つのドメインで管理していたワードプレスブログを1つに統合する際のメモです。
個別ドメインのサイトを、マルチサイトの傘下で一元管理できるようにするシナリオです。
ステップ① マルチサイトを追加する
マルチサイト側の「参加サイト→サイトネットワーク管理→サイト→新規追加」でサイトを追加する。
- サイトアドレス
- サイトタイトル
- サイト言語
- 管理者メールアドレス
を設定。
ステップ②引っ越し元のデータをエクスポートする
引っ越し元サイトで「ダッシュボード→ツール→エクスポート→すべてのコンテンツ→エクスポートファイルをダウンロード」
- 投稿、
- 固定ページ、
- コメント、
- カスタムフィールド、
- カテゴリー、
- タグ
が含まれます。
ステップ③引っ越し先のサイト基本情報(特にパーマリンク)を設定する
引っ越し先サイトで「ダッシュボード→設定→パーマリンク→投稿名」
※投稿名だとURLのパーマリンクを使ってくれるので、SEO的にはこれ。
引っ越し先サイトで「ダッシュボード→設定→パーマリンク→一般」
- キャッチフレーズ
- 日付形式(Y-m-d)
- 時刻形式(H:i)
引っ越し先サイトで「ダッシュボード→設定→パーマリンク→表示設定」
- ホームページを固定ページへ変更(私の場合は)
- RSS/Atomフィードを「5」項目へ変更
- フィードの各投稿に含める内容を「抜粋」へ変更
引っ越し先サイトで「ダッシュボード→設定→パーマリンク→ディスカッション」
- 投稿中からリンクしたすべてのブログへの通知を試みるのチェックを外す
- コメントの投稿者の名前とメールアドレスの入力を必須にするのチェックを外す
- コメントを5階層までのスレッド(入れ子)形式にするのチェックを外す
- コメントの手動承認を必須にするのチェックを入れる
- すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにするのチェックを外す
- デフォルトのアバターをIdentificationに変更する
ステップ④引っ越し先にインポートする
引っ越し先のサイトで「ダッシュボード→ツール→インポート→Wordpress→インポーターの実行→ファイルを選択→ファイルをアップロードしてインポート→投稿者の選択→添付ファイルをダウンロードしてインポートするにチェック→実行」
ワードプレス側のインポートできるファイルのサイズは、2MBから150MB。実際の容量はレンタルサーバー側でも制限があるので足りなければ設定で調整する。
レンタルサーバーがColorfulboxもしくは他のcPanelを使ったサービスでは、下記のリンクの方法で。
参考資料:Colorfulbox、「PHPのファイルアップロードサイズの変更方法」
ステップ⑤引っ越し先にて「テーマ」を再現する
- 引っ越し元と同じテーマをインストール
- ファビコンを設定
- その他のテーマ設定を再現する
ステップ⑥引っ越し元のカノニカルを引っ越し先に指定(もしくは記事の非公開化)
今回、引っ越したのが既に2つのheadエラーを抱えているCocoonのサイトだったので、headに同じアクションフックを二重掛けしたくないけど、それだと投稿毎に修正しなければならなくて手間だった。

引っ越し前のページに入って、引っ越し先のURLを貼ります。
このため、私は、引っ越し元の記事は全て「非公開」にしました。

ステップ⑦引っ越し元からリダイレクトをかける
プラグインは「Redirection」を使用
引っ越し元サイトで「ダッシュボード→ツール→Redirection→サイト→ドメインに引っ越し→ドメインを入力→更新」
ステップ⑧プラグインを有効化する
- Jetpack
- Akismet
- Redirection
※Jetpackを入れたら、固定ページのお問い合わせフォームが機能しているか、確認する
以下のステップは、サイトの機能を固めてから始めた方が良いので、プラグインは先にオンにしておく。
ステップ⑨XMLサイトマップを整理する
これは引っ越し先がマルチサイト傘下だから必要な作業。サブフォルダー用のワードプレスデフォルトのXMLサイトマップのアドレスが分からないし、公式のドキュメントが見つからないので、サブディレクトリサイトはプラグインで吐き出しているので、その設定。
単独サイト運用の人は、ワードプレスに備わっている機能で、「https://お使いのドメイン名.com/wp-sitemap.xml」的なURLでXMLサイトマップを確認できる。これで満足できれば、プラグインはいらない。
ステップ⑩robots.txtを更新する
これも引っ越し先がマルチサイト傘下だから必要な作業。
Googleはルートのrobots.txtしか読まないと書いているけれど、そうでないブラウザーもあるらしく、実際問題としてサブディレクトリにrobots.txt由来の404見つかりませんログが増えていくので、プラグイン「redirection」でルートに転送して、ルートのrobots.txtに全サイトのサイトマップを紐づける。
※Wordpress Documentationは見つからず、サポートに「サブディレクトリに各々のrobots.txtを作成する」解決法があったけど、傘下のサイトが多くなってくると管理し忘れそうなので、ルートにリダイレクトにした。
※これもWordpress Documentationが見つからないけど、robots.txtファイルは、ルートに動的に生成されるらしく、当該サブディレクトリにはファイルがない。そして、ファイルを作れば動的に生成しないようになっているらしい。ソースコードはまだ見てないけど、実際にそのように機能しているから、ネット情報を信じることにした。

robots.txtファイルはクロールに対する影響が大きいので、手書きするときは、Googleのマニュアルをよく読んで書いてくださいませ。
参考資料:Google検索セントラル「robots.txt の書き方、設定と送信方法」
ステップ⑪Googleサーチコンソールの設定
引っ越し元のサイトのサイトマップを削除する
引っ越し先のサイトのプロパティー(サブフォルダーならURLプレフィックス)を追加し、サイトマップを登録する
こんなもんかな?
最後までお読みいただきましてありがとうございました。