読者です 読者をやめる 読者になる 読者になる

東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

livedoor blogからWordPressへ大量の記事をとっても楽に移行する方法

wordpress-logo

livedoor blog ⇒ FC2 blog ⇒ wordpressという手順で移行をしました。 このエントリはそのまとめです。特に内部リンクの変更を簡単手軽にできる方法を書いています。

参考になるのは、以下のエントリです。実際、自分もこの記事を参考にしました。

無料で、しかも簡単にライブドアブログからWordPressに移行する極意 | tetumemo

上記のエントリからもわかるように、FC2 blogはblog引越しツールが充実しています。 画像もそのまま移行してくれるので、それだけで引越し作業はとても楽になります。

ただ、問題が。それは内部リンクの修正です。 大量の記事がある場合には、内部リンクを修正するのがとても面倒です。 ただ、記事数が1500件ぐらいあって、とても1つ1つ手で修正するのは、苦労する割には報われない作業です。

手順概要

そこで、以下のような方法で移行しました。 データベースを触るので、なんとなくハードルは高いですが、やってみると簡単です。 手順の前提条件として、fc2 blog引越しツール等を使って、記事をwordpressに移行しておいてください。

livedoor blogのArticleIDを取得

WordPressのデータベースにArticleIDを登録

WordPressの記事にある参照用リンクを変更

ちなみに、いきなりレンタルサーバに対してやるのは怖いので、xammp等で自分のパソコン上に環境を作って試すのが楽です。

livedoor blogのArticleIDを取得

livedoor blogのエントリはそれぞれ、ArticleIDという一意のIDをもっています。 これをWordPressにも使用します。

livedoor blogの管理画面からテンプレートに以下を記述します。 これを記述することで、個別記事の本文中に記事の登録日時とArticleIDが表示されます。 モロにSQLを書いているので、心情的に早めに元に戻した方がよいです。

<p>
update `wp_posts` set `post_name`= "<$ArticleId$>" where `post_date` = "<$ArticleDateYear$>/<$ArticleDateMonth$>/<$ArticleDateDay$> <$ArticleDateHour$>:<$ArticleDateMinute$>:<$ArticleDateSecond$>";
</p>

その後は自動収集ツール「GetHTMLW」を使って、エントリをローカルのハードディスクに集めます。 詳しい使い方はこちらです。

GetHTMLW解説|フリーソフト攻略するよ!

WordPressのデータベースにArticleIDを登録

ここから少しマニアックに。

GREP

正規表現を使ってGREPします。 使った正規表現は以下です。 (正規表現でなくても、単純なGREPでも問題ないと思います。)

^update

GREPした結果を編集

ALTキーを押しながらのドラッグで、不必要な選択範囲部分を切り取ります。 これで、WordPressに入れるSQL文ができました。

WordPressに登録

後は、データベースにアクセスして、一気にSQL文を流し込みます。 SQL文を流し込むのは、phpmyadminが楽です。用意されてなければ、直接SQLを流してくださいませ。

と、livedoor blogのテンプレートタグを使用したり、SQLを使用したりしているので、とっつきにくいかもしれません。同様のことができるプラグイン等があるので、それを使うのも一つの方法です。

けど、プラグインをインストールしたりするのは面倒だし、プラグインの使い方を習得するのに時間がかかるので、私はこのようなやり方をしました。(自分にはこの方法が早いっす)