WordPressのエクスポート・インポートで記事を引っ越してブログ統合する方法
複数のWordPressブログを統合したので、その手順をまとめました。エクスポート・インポート機能と301リダイレクトであっという間に作業が終わります。
目次
WordPressブログを統合したい
運用ブログの数と、確保できる作業時間のバランスが崩れてきたので、一部のブログを統合することにしました。
説明上、今後も残すブログを「統合ブログ」、統合ブログへ記事を引っ越してしまうブログを「移行ブログ」と呼びます。
統合ブログはWordPressのメニューが黒色、移行ブログはWordPressのメニューが赤色になっています。スクリーンショットが区別できるように変更しましたが、作業中もミスしないように色分けをしてから実施したほうが安全です。
WordPressメニューのユーザー>あなたのプロフィール>管理画面の配色からメニューの色を変更できます。
移行ブログから記事をエクスポート
まずは記事を引っ越す移行ブログから、WordPressのエクスポート機能を使ってXMLファイルでデータを抜き出します。
基本的にはそのまま「エクスポートファイルをダウンロード」でXMLファイルがダウンロードできます。
ぼくの環境では後述するインポートの際に、「すべてのコンテンツ」のXMLファイルではインポートが動かなくなった(読み込みが終わらなくなった)ので、エクスポートする内容を「投稿」だけにしました。
固定ページも作成されている方は「すべてのコンテンツ」でエクスポートするか、ぼくのようにインポートで上手くいかない場合は「投稿」をエクスポートして、「固定ページ」をエクスポートして、と分割すると良いです。
統合ブログへ記事をインポート
XMLファイルをインポートするプラグイン
移行ブログの記事を追加する統合ブログでは、エクスポートしたXMLファイルをインポートするためのプラグイン「WordPress Importer」をインストールします。
WordPressメニューのプラグイン>新規追加から「WordPress Importer」を検索して、インストールしてください。
インストールが終わったら「プラグインを有効化」を押して、WordPress Importerを使えるようにします。
XMLファイルをインポート
WordPressメニューのツール>インポートを選択します。
下から3番目の「WordPress」を選択すると設定画面が表示されます。
Assign Authors
統合ブログにXMLファイルをインポートするにあたり、引っ越す記事のAuthor(ユーザー名か設定している場合はニックネーム)を設定します。
デフォルトでImport authorには、移行ブログでのAuthorが入っています。
Authorを変更しない場合は何もせず、新たに設定する場合は「or create new user with login name」横のフォームに入力します。
今回は統合ブログのAuthorに変更するので、「or assign posts to an existing user」横のセレクトボックスから統合ブログのユーザー名(ニックネーム)を選択しました。
Import Attachments
チェックをONにすると、移行ブログの記事で使われていた画像をインターネットから自動的にダウンロード・統合ブログにインポートしてくれます。
画像を手動で移行ブログから統合ブログに持っていくのは手間なのでONにします。
時々問題が起きる場合があるようで、その場合は面倒ですがOFFにして手動で対応ということになります。
設定が終わったら「Submit」を押すと、下記の画面が表示されます。
記事数にもよりますが短時間でインポートされ、「All done.」が表示されれば完了です。
統合ブログへのインポートを確認
インポートが完了したら、実際に記事が正しくインポートされているか確認しましょう。
記事一覧で移行ブログの記事が増えていることを確認し、合わせてカテゴリ・タグを必要に応じて再設定します。
実際にブログをブラウザで見て、画像の壊れなどがないかも見ておきます。
重複コンテンツの対応
移行ブログからのエクスポート・統合ブログからのインポートで、記事の引っ越しはこれで完了しました。
しかしこのまま放っておくと移行ブログと統合ブログに同じ記事がある状態で、Googleから重複コンテンツと認識され、検索結果にいつまで経っても移行ブログしかヒットしない可能性があります。
重複コンテンツについて詳しくはGoogleマット・カッツ氏のインタビュー(下記動画)か「重複コンテンツはスパムでGoogleにペナルティを受ける」は、なぜ間違いなのかをご覧ください。
※英語ですが字幕を日本語にするとおおむね理解できます。
301リダイレクトするプラグイン
重複コンテンツ扱いになることを避けるには、移行ブログへのアクセスを統合ブログに301リダイレクトします。
301リダイレクトについてはGoogleウェブマスターツールのヘルプ、ページの URL の変更と 301 リダイレクトの使用が詳しいです。
検索エンジンの結果で表示されるページの URL を変更する必要がある場合は、サーバー サイドの 301 リダイレクトを使用することをおすすめします。これは、ユーザーや検索エンジンが正しいページにたどり着くことを保証する最善の方法です。ステータス コード 301 は、ページが別の場所に完全に移転したことを意味します。
301リダイレクトする方法は、.htaccessを修正する方法もありますが、ここではプラグインを使って簡単に終わらせます。
WordPressメニューのプラグイン>新規追加から「Redirection」を検索して、インストールしてください。
インストールが終わったら「プラグインを有効化」を押して、Redirectionを使えるようにします。
301リダイレクト設定
WordPressメニューのツール>Redirectionを選択します。
「Add new redirection」から、リダイレクト設定を追加します。
Source URLに移行ブログのURL、Target URLに統合ブログのURLを記載して「Add Redirection」を押すと、移行ブログのURLにアクセスしたユーザーは統合ブログのURLへ301リダイレクトされます。
移行ブログと統合ブログで記事のパーマリンクが変わってしまう場合は、記事を1ページ1ページ指定、パーマリンクが変わらない場合は正規表現(Regular expression)を利用して一括設定もできます。
これで、移行ブログへのアクセスは統合ブログへ301リダイレクトされるようになりました。
WordPressのエクスポートとインポートで記事を引っ越し、そして301リダイレクトの設定が終わり、ブログ統合これにて完了です。