WordPressの引っ越しの際、標準のエクスポート&インポート機能がありますが、これですんなり移行が完了すれば簡単です。しかし、必ずしも上手い具合にインポートが完了しない場合も多いようです。よくあるインポートトラブルとしては次のようなことがあるでしょう。
- インポートボタンを押しても、完了まで行かないで途中で止まっている。
- アップロードした画像やメディアがインポートできない。
- アイキャッチ画像がインポートされない。
- インポートしたのに投稿記事が出てこない。
ここのブログの話ですが、2つのWordPressを一つのWordPressとして合体させました。両方のWordPressからエクスポートしたxmlファイルを、新規インストールしたWordPressにインポートしたのですが、そんなインポート作業は想定していないのか、まさに上であげた失敗が全部発生しました。
失敗する度に、何度かやり直しを繰り返してやっと完璧にインポートが完了した手順をご紹介します。プラグインを4個使います。SQLを直接操作することなくできるので安心です。
このページの目次
プラグイン1個目 Change DB Prefix
WordPress標準のエクスポート&インポートを使う場合、WordPressデータベーステーブルの接頭辞(Prefix)が同一である必要があります。標準ではwp-config.phpで設定されている「WP_ 」になっていますが、レンタルサーバーの都合や、複数のWordPressをひとつのデータベースで利用するなら接頭辞を変更している場合があります。私の場合は自宅サーバーなので変更する必要は必ずしもないですが、セキュリティー上変更したほうが良いというのを最初にどこかで読んで変更していました。
接頭辞が違うWordPressにインポートすると、別名のテーブルにインポートされるだけなので、インポートが完了したはずなのにWordPressに記事等は反映されない状態になります。接頭辞を変更していた事なんて覚えていなかったので、原因がわかるまで苦労しました。
SQLを操作して接頭辞の変更をするのは、結構大変です。全てのテーブル名を調べて書き出したり、変更箇所を検索して探したりしてSQLコマンドで変更をかけるのはかなりの労力が必要です。そんなときに簡単にWordPressの接頭辞を変更してくれるChange DB Prefixプラグインがありました。
プラグインをインストールして有効化したら、管理画面-設定-Change DB Prefixを開いて、変更したい接頭辞名を入力してボタンひとつで変更完了です。ありがたいプラグインです。
(2017.10.15追記) プラグインが公式ディレクトリから無くなっていたため、類似プラグインChange Table Prefixの紹介記事の方をご覧ください。
プラグイン2個目 WordPress Flash Uploader
標準のインポート機能では、リンクされた画像やメディアファイルもuploadsフォルダーに取り込んでくれますが、失敗することも多いようです。私の場合も画像が多すぎたのか、一度も完了しませんでした。
仕方ないのでuploadsフォルダーをそのまま移動させてみましたが、それだけだと管理画面のメディアライブラリーには画像が出てきません。インポートした投稿記事にも画像は表示されませんでした。
そんなときに便利なプラグインがありました。uploadsフォルダーにFTPやSCPを使い直接アップロードした画像やメディアファイルを、WordPressのメディアライブラリーに登録してくれるWordPress Flash Uploaderプラグインです。
プラグインをインストールして有効化したら、 管理画面-メディア-Sync Media Libraryを開きます。しばらく待つと、uploadsフォルダーに存在しているがメディアライブラリーには登録されていないファイルを探してくれるので「Import Files to Media Library」ボタンを押すだけです。これでメディアファイルに画像を移行元と同じディレクトリ構成でアップロードできました。
プラグイン3個目 WordPress インポートツール
これはWordPress標準の管理画面-ツール-インポート機能を使うと、自動でインストールされるプラグインです。上で紹介したプラグインで、接頭辞を合わせて、メディアライブラリーを先にアップロードした状態で、このWordPressインポートツールを実行すると、エラーなしで2つのWordPressサイトからのインポートが完了しました。
注意点は一箇所だけです。アイキャッチ画像の設定もインポートさせるためには、 添付ファイルのインポートにチェックを付ける必要があるようです。私はコレで1回やり直しする羽目になりました。
プラグイン4個目 Search Regex
インポートが完了したら、最後にもうひとつ作業が残っています。インポートされた記事の画像やメディアファイルのリンク先が、インポート元のアドレスのままになっています。これを一気に新サイトのアドレスに変更するために利用したのが、Search Regexプラグインです。
このプラグインは、以前にも紹介記事を書いたので今回は紹介だけで終わります。説明するまでもなく定番プラグインですね。
失敗しないインポート手順
WordPressの引っ越しの際、標準のインポートツールで一発で決めたい場合の手順です。何度もインポート作業を繰り返すと、記事や固定ページは重複しないですが、メニューなどがインポートした回数分重複していくので修復が面倒です。下記の一連の手順がすべてプラグインで出来ました。
- テーブルの接頭辞(Prefix)を合わせる
- uploadsフォルダーを先に移し、メディアライブラリーに登録しておく
- 標準のインポートを実施する
- 各種リンク先を新サイトのリンクアドレスに変更する。
最後に
これで、2つのWordPressをひとつにまとめてインポートすることが、SQLを操作しなくてもプラグインだけで完了しました。今回紹介したプラグインは、現行のWP4.3.1では動作確認が取れていないものも含まれています。普段使うこともないプラグインばかりなので、インポート作業が完了したら削除しておいたほうが良いかもしれません。