WordPressでサイトを移行したり、複数サイトを統合する方法

WordPressのサイト移行や複数サイトを統合する方法を紹介します。

ドメイン変更、マルチサイトへの移行、既存サイトへの統合、アイキャッチ画像の移行、カスタムタクソノミーの移行にも対応しています。

サイトデータのエクスポートには「WP CSV Exporter」を、サイトデータのインポートには「Really Simple CSV Importer」というプラグインを使います。

画像データを移行する

FTPソフトなどを使い、画像データを新しいサイトのフォルダに移行しておきます。画像ファイルは「wp-content」配下の「uploads」フォルダにあります。

<画像ファイルの場所>

/wp-content/uploads/

画像の場所は自由ですが、移行先の画像フォルダと重複しないように注意します。

例えば、yahoo.comからgoogle.comへ移行する場合、新しいサイトの「uploads」配下に「yahoo」というフォルダを作って、その中に画像フォルダを移行します。

<移行元>

/yahoo.com/public_html/wp-content/uploads/2016/
/yahoo.com/public_html/wp-content/uploads/2015/

<移行先>

/google.com/public_html/wp-content/uploads/yahoo/2016/
/google.com/public_html/wp-content/uploads/yahoo/2015/

「WP CSV Exporter」を使ってサイトデータのCSVエクスポート

WordPressプラグイン「WP CSV Exporter」を使って記事データをエクスポート、エクスポートしたCSVをGoogleスプレッドシートなどで少し加工します。

記事データをCSVエクスポート

「WP CSV Exporter」をインストールしたら、「ツール > CSVエクスポート」に進みます。

「アイキャッチ画像」と「公開日時」も移行対象にしたいので、チェックを入れます。

「公開日時」にこだわらない場合は、ここはチェックなしのままで大丈夫です。公開日時を空にしておくと、インポート時点の日時が自動的に挿入されます。特に、複数サイトを統合する場合、インポートに失敗して記事を削除したい場合、公開日時を空にしておくと、新しい記事を一括削除すればいいので楽です。

CSVを加工

GoogleスプレッドシートなどでCSVを編集します。Excelは文字化けの原因などになるので、Googleスプレッドシートなどの使用がおすすめです。

post_idを空にする

先頭の列の「post_id」という項目に数値が入っています。記事をインポートする際に、インポート先に既に同じpost_idがある場合、既存の記事が上書きされてしまいます。複数サイトを統合する場合などはpost_idを空にしておくのがおすすめです。

<編集前>

<編集後>

記事データとアイキャッチ画像の画像URLを編集

記事とアイキャッチ画像の画像URLを移行後のものに変更します。

記事データ(post_content)とアイキャッチ画像(post_thumbnail)が対象です。

画像データを先ほどのサンプルのように移行した場合、置換はこのようになります。

<検索文字列>

https://www.yahoo.com/wp-content/uploads/

<置換文字列>

https://www.google.com/wp-content/uploads/yahoo/

サイト内リンクのURLを編集

記事に含まれるサイト内リンクのURLを新しいURLに変更します。

<検索文字列>

https://www.yahoo.com/

<置換文字列>

https://www.google.com/

カテゴリー

サイト名をカテゴリに設定する。

「Really Simple CSV Importer」を使って記事データをCSVインポート

画像とCSVの準備ができたら、WordPressプラグイン「Really Simple CSV Importer」をインストールします。

「ツール > インポート」にある「CSV」に進みます。

「ファイルを選択」からインポート用のCSVファイルを選択して、「ファイルをアップロードしてインポート」ボタンを押します。

しばらくすると、インポートが完了します。

インポートの特徴

投稿ID(post_id)

post_idが空の場合、新規のIDが自動的に採番されます。post_idが入っており、移行先に同じpost_idがある場合は、記事が上書きされます。複数サイトを統合する場合は、post_idを空にしておくことをおすすめします。

アイキャッチ画像

アイキャッチ画像はCSVに記載されているURLから画像データを取得して、移行先のメディアフォルダに自動的に追加されます。記事にもアイキャッチ画像が自動的に登録されます。

記事本文中の画像URL

記事本文中の画像URLはCSVに記載したものがそのまま使われます。そのため、最初のほうで説明したように、画像データは自分で移行しておく必要があります。

カテゴリー

記事に付属しているカテゴリーは自動的に追加されます。ただし、カテゴリー名は自分で編集する必要があります。

例えば、「カテゴリー名:読書、スラッグ名:book」というカテゴリーを持つ記事を追加した場合、追加されるカテゴリーは「カテゴリー名:book、スラッグ名:book」となります。カテゴリー名は個別に編集します。

旧サイトから新サイトに301リダイレクトを設定する

RewriteCond %{HTTP_HOST} ^(www.old-url.com)(:80)? [NC]
RewriteRule ^(.*) http://www.new-url.com/$1 [R=301,L] 

※httpsへのリダイレクトコードがあると動作しないのでコメントアウトしておく。

その他

  1. Google Search Consoleの「アドレス変更」で旧サイトから新サイトへの アドレス変更のリクエストを送信する。
  2. 旧ドメインの自動更新を停止する
  3. 旧ドメインを売却する。(アクセス数の多い場合のみ/この場合はリダイレクトを設定しない)
  4. ブックマークを削除する
  5. SNS・Googleアカウントを削除する
  6. Analyticsからサイトを削除する
  7. memoとサイト管理表のメモを整理する
  8. ドメインの有効期限が切れたら旧ドメインのデータ領域とデータベースを削除する、サーチコンソールから削除する、Cloudflareから削除する