WordPressからWordPressへの記事移行
- ブログを複数やっていて、あるブログから他のブログへ記事を移行したい
- カテゴリーで分離してミニサイトを作りたい(サイトの専門性アップ)
- サーバーを引っ越したい
上記のような場合には、WordPressのインポート・エクスポート機能を使えば簡単に行えますが、少し残念な結果になります。
WordPressのエクスポート機能じゃダメな理由
コンテンツとメディア(画像)を別々に処理しなければならない為、作業量が多い
記事コンテンツと画像を分けてエクスポートする必要があり、インポートも当然、別々になる為、移行完了後、自分で画像のアドレスを移行先のアドレスに修正しなければならない。
アイキャッチ画像も、記事ひとつひとつにセットしなければならない。
※「アイキャッチは、記事の一つ目の画像を自動セット」などの機能があるテーマやプラグインもあり。
これは2~3個の記事移行であれば苦にならないかもしれませんが、大量の移行や引越時には、膨大な作業量になりますし、見落としやミスも起こりがちです。
そこで、今回はこれらを自動で行ってくれるプラグインで、サクっと完了させる方法です。
手順
1.移行元のカテゴリー確認
移行する記事のみのカテゴリーにしておく。
エクスポートは「カテゴリー単位」で行う為、移行元にある移行したい記事があるカテゴリーに、移行しない記事も入っている場合は、仮のカテゴリーを作成して、移行したいものだけをそこにまとめてもOK。
2.移行元からエクスポート
プラグイン「Export media with selected content」でエクスポートファイル出力。
※「.xml形式」のファイルが出力されます。
3.移行先へインポート
WordPressのインポーターでインポート(.xmlファイル読み込み)
4.リンク修正・確認
内部リンクや商品リンクなどがあれば、確認して移行先アドレスへ修正
5.移行元から移行した記事や画像を削除
2つのサイトに同一コンテンツが大量にある状態はGoogleからの低評価の原因になるので、移行元の記事などは削除します。
注意点
移行元のカテゴリーについて
移行先に同一名(スラッグ名が同じもの)のカテゴリーがあると、そのカテゴリーへインポートされる為、インポートした記事と元からある記事を明確にしておきたい場合は
画像系プラグインについて
特に、よく使われている画像圧縮プラグイン「EWWW Image Optimizer」がある場合は、必ず一時的に停止しておかなければ、画像移行に失敗する恐れがあります。
上記の失敗は、「DeMomentSomTres Export」での話で、今回推奨しているプラグイン「Export media with selected content」では、起こりませんでしたが、一旦停止し、完了後に有効化するだけなので、しておいた方が安心かもしれません。
エクスポート
プラグイン名
Export media with selected content
- 記事内画像も移行され、
- 画像URLも置換してくれ、
- アイキャッチ画像、記事内画像もきちんとセットされる
すべてまたは投稿、固定ページを選択し、
エクスポート時に「投稿」を選択すると、カテゴリー、投稿者、日時、ステータを選択できるようになります。
XMLファイルがダウンロードされます。
net.wordpress.XXXX-XX-XX.xml
別のカテゴリーも移行する場合は、続けてエクスポートを行います。2番目以降のファイルには()内に連番の付いたファイルがダウンロードされます。
net.wordpress.XXXX-XX-XX(1).xml
インポート
インポート前に画像系プラグインの一時停止しておく方が安全
エクスポートファイルが複数あれば、繰り返しインポートします。
移行後の作業
内部リンク修正
記事内の内部リンクなどがあれば、移行元のアドレスから移行先のアドレスに変更します。
内部リンクのアドレスは「固定」から「固定」への修正なので、検索置換プラグイン「Search Regex」を使うと簡単に行えます。
Search Regexの使い方については以下を参考にして下さい。
その他のリンク確認
商品リンクなどがある場合も必要に応じて適切なアドレスに修正します。
一時停止プラグインの復活
一時停止した画像系のプラグインなどがあれば、再度、有効化します。
エクスポート・インポートプラグインの削除
エクスポート・インポートは日常的に行う訳ではなく、移行時のみの一回きり(通常は)なので、移行完了後、プラグインは削除します。
不要なプラグインは停止するだけでも余計な処理が動くので、要らないものは削除がベストです。
移行元の記事をリダイレクト
更に、特にお引越しなどの場合は、元記事へのアクセスを、移行先のアドレスへ誘導する為にリダイレクトを設定しておくと良いです。
リダイレクトには以下の方法があります。
1.記事ごとに移行先アドレスを設定(WordPressにて手作業なので記事数が少なければこれが確実)
2.プラグインを使う(「Redirection」など)
3.サーバーの機能を使う
3は、サーバーによっては機能があるという事です。たとえば移行元がエックスサーバーならサーバーパネルから簡単に行えます。
リダイレクト(301)してしばらく経過後は、
2つのサイトに同一コンテンツが大量にある状態はGoogleからの低評価の原因になるので、移行元の記事などは削除します。