moving-wordpress最近Wordpressで作ったWebサイトやブログを別のサーバに引っ越しさせたり、二つのサイトを一つにまとめる(このブログがそう)といった作業を立て続けに何度かやる機会がありました。

サイトの規模が小さければチャチャっとプラグインで移動できますが、少し規模が大きくなってくるとプラグインでエラーがでたり、うまくいかなかったり…と何だかんだ時間が取られるもので、次回の引っ越し作業で困らないように3つの方法を覚書きにしてみました。

 

sponsored link

 

1.難易度:易、小規模~大規模サイトに。Wordpressのインポート・エクスポート機能(+手動での作業)

この方法は基本的に小規模でも大規模なサイトでもOKな方法です。DBの管理画面(phpMyAdmin)やFTPを必要とせずWordpressの管理画面からだけの作業なので、あまりWeb関連の作業に自信がない場合は、この方法が一番心理的負担も少なくオススメ。でも丸ごと引っ越しさせられるわけではないので、基本的なコンテンツを引っ越した後、最後は手作業が必要になります。なので、ちょっと面倒くさいですが、誰にでもできる方法だと思います。

以下が手順。

投稿や固定ページ、カスタム投稿、コメント、カテゴリー、タグなどを引っ越し

まずはWordpressのインポート・エクスポート機能を使って基本的なコンテンツを移行させます。

  1. 引っ越し先のサーバーにWordpressを新規インストールしておく
  2. 引っ越し元のサイトのWordpress管理画面から、ツール>エクスポート を選択、全てのコンテンツをエクスポート(ダウンロード)する
  3. 1でインストールしておいたWordpressの管理画面で、ツール>インポート を選択。
  4. WordPressの欄から「インポータの実行」をクリックする
  5. 2でエクスポートしたファイルを指定し、「添付ファイルをダウンロードしてインポートする」にチェックを入れてインポートを実行する

 

これで投稿や固定ページなどメインのコンテンツは引っ越しできているはずです。

※「添付ファイルをダウンロードしてインポートする」にチェックが入っていると、投稿や固定ページないでリンクされているメディアファイル(画像など)も自動的にインポートしてくれます。が、サイトの規模が大きい場合にはうまくインポートが行われないこともあるようです(経験済み)。この場合は、手動でFTP経由でファイル類を引っ越しさせる必要があります。

 

ウィジェットの引っ越し

WordPressのインポート・エクスポート機能ではウィジェットやメニュー、ユーザーなどはエクスポートできません。

このうちウィジェットはWidget importer & exporter というプラグインを利用することで元サイトからウィジェットをエクスポート&新サイトにインポートすることができます。とても便利なのでオススメです。

 

その他のコンテンツを手動で復元させる

上記以外のコンテンツは、引っ越し前のサイトとにらめっこしながら自分で手作業で新しいサイトに作成していくことになります。具体的には

  • ユーザー情報
  • サイトの各種設定(表示設定、パーマリンク、タイトル、テーマのカスタム設定など)
  • メニュー
  • プラグイン
  • 投稿のアイキャッチ画像

といった情報です。面倒くさいですが、ここが終わればほぼ引っ越し完了です!

 

ドメインが変わる場合は投稿や固定ページ、ウィジェット内のリンクを変更する

引っ越しに伴ってドメインが変更となる場合、投稿記事や固定ページ、ウィジェット内に貼られている内部リンク(サイト内リンク)や画像URLなどが古いサイトのままになっている可能性があります。チェックしてみてください。

これを新しいドメインに変更するのに一個一個変更しているのではあまりに面倒くさすぎる!ので、Search Regexというプラグインを使って一括変換します。

※ドメインが変更となる引っ越しでは重複コンテンツでのGoogleペナルティを避けるために元サイトから301リダイレクトをし、Google Search Consoleでアドレス変更の申請をする必要あり。このあたりは、以下の過去記事で書いているので良かったら参考にしてみてください。

サイト移転時の301リダイレクト手順とSearch Consoleでのアドレス変更まとめ

 

複数のサイトやブログを統合する場合は、この方法で

一つのサイトを別サーバーに移動させる、というのではなく、AサイトとBサイトがあって、BサイトにAサイトを統合させるという場合は、この方法、つまりWordpressのエクスポート・インポート機能を使うことになります。

ざっくりメモ書きしておくと、Aサイトから投稿その他のコンテンツをエクスポートして、Bサイトにインポート。その後、プラグインSearch Regex等を使ってリンクを調整、AサイトからBサイトへ301リダイレクト、Search Consoleでアドレス変更通知という感じです。やることは難しくないのですが、やはりちゃんと移行できているかどうか一記事ずつ表示チェックをしたりするとやたら時間がかかります(80記事の移動で一週間くらいダラダラ作業していました。。)

 

では続いて2番目の方法。

 2.初級。小規模サイト・ブログ向け。Duplicatorプラグインで楽々引っ越し

WordPressの引っ越しに非常に便利なプラグインがあります。Duplicatorというのですが、これでできる引っ越しほど楽なものはないです。多分、1時間もかからずに作業が完了してしまうのではないでしょうか。。

WordPressサイトの引っ越しを考えている方はとりあえずこのプラグインで引っ越しできるかどうか試してみることをオススメします。

「試してみる」とかいたのは、サイトの規模が大きくなるとほぼエラーが出てしまうからなんです。。コンテンツに含まれる画像の量やサイズにもよると思いますが、80記事くらいのブログはエラーがでて全然ダメでした。。

ただ、最初にエラーがでても不要なプラグインとかメディアファイル、キャッシュを削除するなどすれば使える可能性もありますのでトライしてみてください。

具体的な使い方はウェブさえさんの以下の記事がとても詳しく分かりやすい解説でオススメです。

プラグインでWordPressを楽々お引っ越し!duplicatorならサーバー移転も簡単。

 

3.難易度:やや難、中~大規模サイト向け。プラグインなしで自分でDBとファイル類を引っ越す方法

Duplicatorプラグインで簡単に引っ越しができない中~大規模サイトの場合、DBとファイル類を手動で移動させることができると1のやり方のように面倒な手作業が少なくて済みます。

やり方は以下の通り

 

DBのエクスポートとインポート

  1. 前準備として引っ越し先のサーバーに新しいDBを作成しておく
  2. 引っ越し元のサーバーでデータベース管理画面(phpMyAdmin)にアクセスし、引っ越し元サイトのDBのテーブルを一括エクスポートする
  3. ダウンロードした2のsqlファイルをテキストエディタなどで開く
  4. sqlファイルを見ていき、元のテーブル名の接頭辞が、新しいDBのテーブル(1で作成)の接頭辞((例:テーブル名がwp_posts, wp_postmetaなどとなっている場合は接頭辞はwp_)と異なる場合は、新しいDBのテーブルの接頭辞になるように変換する(テキストエディタの文字列一括置換などで)
  5. 準備しておいたDBで4のsqlファイルをインポートする

 

ファイル類のエクスポートとインポート

  1. 元サイトのサーバにアクセスし、サイトのファイル類(Wordpress本体が入っているフォルダ)を丸ごとローカルにダウンロードする
  2. 1でダウンロードしたファイル類の中からweb-config.phpを開き、新しいDBの接続情報に変更する
  3. ダウンロードしたすべてのファイルを新しいサイトのサーバーのWordpressを設置する場所にアップロードする

 

書いてみると1番目よりこの方法のほうが随分シンプル。。一度慣れてしまえば一番面倒くさくない方法かもしれません。

 

ドメインの変更がある場合はコンテンツのリンクを一括変更

引っ越しに伴ってドメインの変更がある場合、投稿その他のコンテンツ内のリンクを新しいドメインに変更する必要があります。これにはSearch Regexというプラグインがお勧め。一括変換してくれるので楽々です。1番目の方法の最後にも書いていますがドメインが変わる場合は301リダイレクトとSearch Consoleでのアドレス変更通知をお忘れなく!