WordPressの投稿(記事)のみ一括移行

WORDPRESS

ホームページ全体ではなく、WordPressの投稿(記事)のみ大量に移行する機会があり、想定外の対応も必要でしたので残しておきます。

目次

スポンサーリンク

前提

  • 投稿(記事)のみ移行
  • スラッグは変わらない
  • ディレクトリ構成が同じ(ドメイン/ディレクトリ(投稿・画像))
  • 301リダイレクトが必要

移行元投稿のリスト化

この作業は必須では無いですが、リスト化することにより以下のことが整理でき、この後の作業を整理することができます。

  • 個々の投稿の状態(公開されているか?非公開か?等)
  • 移行が必要なもの、不要なものの区別ができる
  • ”本文内の内部リンクチェック”

また、もっとも重要なのが最後の”本文内の内部リンクチェック”となり、私はExcelの関数で解読しています。

これをやると最後の内部リンクの修正や、リダイレクト設定をしやすくなると思います。

やり方が分からない場合はご相談ください。

 

以下のプラグインを使って移行する投稿をすべてエクスポートし、Excelやスプレッドシート等に保存します。

WP All Export(Export any WordPress data to XML/CSV)

今回抽出した項目は以下となります。

項目内容
id投稿固有のID
Date投稿年月日
Title件名
Post Type投稿タイプ
PermalinkURL
カテゴリーカテゴリー
タグタグ
Status公開状態
Image URL画像URL
Content本文

 

移行元サイトでエクスポート準備

以下プラグインをインストールします。

DeMomentSomTres Export

このプラグインのいいところは、投稿だけでなく投稿内の画像も一緒に移行できることです。

と思ったら、一括でエクスポートはできるのですがインポートができない・・・。

そのため以下方法で移行することにしました。

移行元サイトから投稿をエクスポート

1:対象期間を短くする

最初は全投稿を一気にエクスポートして、一気にインポートしたのですが投稿がまったくインポートできなかったため、期間を半年、半年でダメなので3ヶ月、3ヶ月でもダメなら2ヶ月、それでもだめなら1ヶ月と短くしました。

 

2:投稿者で絞る

期間を短くした1ヶ月でもインポートできない時があったので、投稿者を絞りました。

※カテゴリーの数より投稿者の数の方が少なかったので先にこちらを試しました。

 

3:ネット環境(アップロード速度を速く)の改善

『ひょっとして?』と思い、ルーターの近くの部屋に移ったところ、ある程度長い期間のファイルでもアップロードできました。

 

4:カテゴリーで絞る(やっていませんが)

投稿者で絞ってもダメであれば、さらに量を減らすためカテゴリーで絞ろうと考えていました。

 

と、ここまでやったのですが、画像(メディア)が一部しかアップされていないことが判明しました。

しかもアップされている画像もかなり少ないので、画像は手動でFTPツールを使い直接移行することにしました。

 

エクスポートファイルの修正

ここでやらずに移行先のWordPressで”内部リンクの修正”をやってもいいのですが、Excel上で置換機能等を使い内部リンクの修正を事前にしてしまうこともできます。

 

プラグインを使えば移行先のWordPressで「投稿のみ」と限定できはしますが、設定を間違ったりして投稿以外の部分:意図しないコンテンツ内のURLを誤変換してしまう可能性もあるので、Excel上でやった方が安全な場合もあります。

状況に応じて適切な方法を選ぶのがいいと思います。

移行先サイトにインポート準備

以下の前提が成立していることが必要になりますが、

  • 同じ投稿について移行サイトと移行サイトのスラッグは変わらない

移行先サイトのパーマリンク設定を以下にします。

”/%postname%/”

これは移行先サイトにインポートした際、投稿のスラッグを移行元サイトと同じにするためです。

後ほど設定する”301リダイレクト”をスムーズにするためにも必要な設定となります。

移行先サイトに投稿をインポート

WordPressの機能「インポート」からインポーターを実行します。

移行元サイトからダウンロードした対象のファイルを選択しファイルをアップロード後、「画像もインストール」にチェックを入れ実行します。

しかしながら前述のように、事前に適切なデータ量にしておかないとうまくインポートされません。

特に画像がインポートされないのは本当に困りました(^^ゞ

 

そのため今回は以下のように分けて対応しています。

項目内容
投稿(記事)DeMomentSomTres Exportでエクスポート後、

WordPressの元々の機能でインポートし移行

画像(メディア)FTPツールを使い別途移行

スポンサーリンク

内部リンクの修正

プラグイン:Search Regexをインストールします。

移行元投稿のリスト化で、移行前の投稿だけに含まれるURLを事前に確認しておくと、より安全に修正できると思います。

今回は”old.com/archives/”部分が投稿と画像だけに使われていることを確認したため、以下のように設定し該当のURLを置換しました。

項目入力内容
検索移行前サイト:old.com/archives/
置換移行先サイト:new.com/archives/

この作業はやる前に何度も確認することをお薦めします!

 

リダイレクト設定

実はクライアントさんの要望で途中で作業を中止しているので、リダイレクト設定までしていません。

以降は予定ですので、実際に作業後あらためて内容を整理します。

 

プラグイン:Redirectionをインストールします。

Redirectionの設定を完了させ、エクスポートに進みます。

項目入力内容選択内容
ソースURL^/test20230121/(.*)正規表現
一致条件URLのみ
一致した時URLへ転送301-恒久的に移動
ターゲットURLhttps://new.com/archives/$1

 

~継続対応中のため完了次第、追記予定~

スポンサーリンク

コメント

タイトルとURLをコピーしました