WordPressのサイト(コンテンツ)をドメインごと別のサーバーに移したり、サイトの一部を別のドメインに移したりすることもあると思います。
例えば、
- レンタルしているサーバーに不満があるので新しいサーバーに乗り換えたい
- 特定のカテゴリーを別のドメインとして新しいサーバーに乗り換えたい
といった場合です。
そして、WordPressのコンテンツを別のサーバーやドメインに移行する方法には、
- FFFTPというソフトを使って、WordPress、データ(記事)、画像を移行する方法
- WordPressのツールであるエクスポートとインポートを使って移行する方法
といった方法があります。
FFFTPを使って移行する方法は、データベース(MySQL)を移行したりwp-config.phpファイルの内容の変更といった面倒な作業も多いので、テーマやプラグインを移行する必要がない場合は、WordPressのエクスポートとインポートを使って移行する方法がおすすめです。
そこで、ここでは、WordPressのエクスポートとインポートを使ってコンテンツを別のサーバーに移行する手順を解説していきます。
WordPressのエクスポートとインポートを使ってコンテンツを別のサーバーやドメインに移行する手順
WordPressのエクスポートとインポートを使ってコンテンツを別のサーバーやドメインに移行する場合、具体的には、
- 移行元のデータをエクスポートする
- 移行先でデータをインポートする
- 参照URLを変更する
といった3つのステップで完了です。
前提は、以下の2点です。
- 移行先のドメイン・サーバーは取得して設定済
- 同じWordPressテーマをインストール済
WordPressテーマが異なる場合は不具合が起こる可能性がありますので注意が必要です。
尚、この方法は簡単ですが、全ての環境に対応できるものではないと思いますので必ず事前にバックアップをとり、いつでも復旧できるようにしておいて下さい。
作業は自己責任でお願いします。
移行元のデータをエクスポート
移行元のWordPress管理画面で「ツール」-「エクスポート」を選択します。
エクスポート画面で「すべてのコンテンツ」にチェックが入っているのを確認したら「エクスポートファイルをダウンロード」をクリックします。
PCの任意の場所に、ダウンロードファイルを保管します。
移行先でデータをインスポート
WordPress管理画面から「ツール」-「インポート」を選択します。
インポート画面で「WordPress」を選択。
「インポーターの実行」という表示があればそれをクリックします。
WordPressのインポートツールがインストールされていない場合は、インストール画面が表示されるため、「今すぐインストール」をクリックし、「プラグインを有効化してインポーターの実行」をクリックします。
WordPressのインポート画面が表示されたら、「ファイルを選択」をクリックし、先ほどPCに保存したエクスポートファイルを選択。
「ファイルをアップロードしてインポート」をクリックします。
表示された画面の投稿者の割り当てでは、「投稿を既存のユーザーに割り当てる」で新しいサイトの既存のユーザーを選択。
添付ファイルのインポートで、「添付ファイルをダウンロードしてインポートする」にチェックを入れて「実行」をクリックします。
少し時間がかかる場合がありますが、「全て完了しました。」が表示されたら終了です。
URLの検索・置き換え
以上で、記事や画像、カテゴリーやタグなども整合性がとれた状態で移行されているはずですが、投稿記事中のリンクのURLは、旧サイトのURLのままです。
記事中のURLを全て新しいURLに一つ一つ手動で変えていくのは大変です。
そこで、Search Regexという書き換えを支援するプラグインをインストールします。
WordPress管理画面の「ツール」から「Search Regex」に遷移します。
「Source」は検索・置換の対象を指定します。
- Comment author – コメントの投稿者
- Comment author email – コメント投稿者のメールアドレス
- Comment author URL – コメント投稿者のURL
- Comment content – コメントの内容
- Post content – 記事の本文
- Post excerpt – 記事の抜粋
- Post meta value – 記事のカスタムフィールド
- Post title – 記事のタイトル
- Post URL – 記事のURLの中
から選択します。
例えば、記事の本文の「https//abc.com」というURLを「https//def.com」に変換したい場合は、
- Sourceに「Post content」(デフォルト)
- Serrch patternに「https//abc.com」
- Replace patternに「https//def.com」
を入力します。
「Regex」は、
- case-insensitive:大文字と小文字を区別しない
- multi-line:複数行を対象とする
- dot-all:ドット(.)を改行として一致させる
といったものを指定する箇所です。
今回のケースは、何もチェックする必要はありません。
下に「Serch」「Replace」「Replace & Save」というボタンがありますが、「Replace」をクリックすると下に置き換わる内容が表示されます(この時点ではまだ置き換わっていません)。
確認できたら、「Replace & Save」をクリックします(実際に置き換わります)。
置き換えミスをすると無駄な作業が発生しかねませんので、置き換えを行う前にバックアップをとっておくことをおすすめします。
まとめ
以上、WordPressのエクスポートとインポートを使ってコンテンツを別のサーバーに移行する手順を解説しました。
同じWordPressテーマ同士のWordPressの以降は簡単ですが、何らかのトラブルが発生する可能性もありますので作業前や途中で適宜バックアップをとることをおすすめします。
尚、移行するのが不安だったり、サイトの容量が大きくて移行ができなかったり、また、ドメインやサーバーを準備するところから始めるといった場合は、WordPress移行代行サービスを利用するという手もあります。