Tips

【WordPress】記事の移行にExport media with selected content

はじめに

WordPressで記事の移行をしたい人に向けた記事です。

WordPressでは管理画面の「ツール」メニューの中に「インポート」「エクスポート」があらかじめ用意されています。(インポートに関しては個別にプラグインをダウンロードして有効化する必要があります)

しかしそのまま使うと画像がまったく移行されません!(怒)
※投稿のメディアも移行するチェックをつけても移行されません

今回はあるサイトのブログAの投稿から、別ドメインのブログBに記事を移行するために調べて試した結果を共有したいと思います。

ここで今回の要件としては

  • Bブログの投稿はそのまま残した上で、Aの投稿だけを追加する形で移行したい(使用するプラグインによってはAの環境をまるごとBに移してBの記事や設定が消えてしまうものもあります)
  • 記事のアイキャッチや本文で使用する画像もAサーバーからBのサーバーにコピーしたい
  • 記事が大量にあるので移行中にタイムアウトになる可能性があるため、途中からやり直しできる必要がある

となっています。

ぴったりのプラグインがありました

こちらのプラグインが使えそうということで試してみました。

(1)移行元AのブログのWordpressにのみこのプラグインをインストール&有効化すればOKです。

(2)通常のエクスポートと同様に「ツール」>「エクスポート」からエクスポートを実施します。「」のチェックを忘れずに。
※今回は投稿のみを移したかったので、「投稿」のラジオボタンをチェックします。この時なるべく1ファイルを軽くするためにカテゴリー毎にエクスポートしました。

(3)移行先BのWordpressで「ツール」>「インポート」から「Wordpress」欄の「インポーターの実行」を行います。

(4)(2)でエクスポートしたファイルを指定して「ファイルをアップロードしてインポート」ボタンを押します。この段階ではまだインポートは実行されません。

(5)投稿ユーザが変わる場合は投稿者を選択したり、新規でユーザを作成したりできます。カテゴリーがAとBで異なる場合は振り替えは出来ないため、AのカテゴリーがBに追加されることになります。画像を移行するには「Download and import file attachments」をチェックします。

(6)「Submit」ボタンを押すとインポートが実行されます。

(7)インポートファイルの中の件数が少ない場合は正常に終わりますが、件数が多いと画像の移行に時間がかかり、タイムアウトやGatewayエラーとなります。そのため、このインポートを実行する際はサーバーのPHPの設定で「memory_limit」の制限を増やしておきます。2GBまで増やしましたがそれでも100件程度の移行ファイルがタイムアウトになりました。

(8)タイムアウトになった場合は、同じファイルを同じ手順でインポートしなおします。※(4)からやり直し
やり直した場合、前の実行で登録処理が済んでいる記事や移行処理が済んでいる画像はスキップしてくれます。(スキップしたことがメッセージとして最後に表示されます。)ですので、画像が重複して登録されたりもせず、取り込み済みの投稿を消したりすることも不要です。(これは素晴らしい!

まとめ

Export media with selected content」は、複数のサイトで運営していたブログ記事をひとつのサイトにまとめたい場合などに便利なプラグインです。

reiko suzuki
OLD SKOOLシステムエンジニア。ねこを撫でながら働いています。