XREAからCoreServerに移転するついでにadiaryからWordPressに移行しました


移転元blogシステム adiary 2.21
移転先blogシステム WordPress 3.4.1
移転元サーバ XREA Plus
移転先サーバ CORESERVER CORE-MINI

参考にしたサイト: adiaryからWordPressへ移行方法

はじめに

今年のXREA Plus契約期限切れにあわせて、以前から目論んでいたCoreServerへの移転を行いました。見比べるとわかるのですが、年額100円の差でスペックがだいぶ違うんですよね。更に、移転にあわせて今後サーバを移転しても面倒が無いようにドメインも独自ドメインに変更しました。

更に、以前から愛用していたブログシステムのadiaryからWordPressへも移行しました。adiaryは、コンセプトも機能も本当に好きだったのですが、ソーシャル連携やソースコードのハイライト、デザインの変更など楽をしたくなってしまいまして……。XREA Plusは契約が切れても無料版に移行するだけなのでしばらくは並行運用しつつ、XREA側からはこちらにリダイレクトしてくる仕組みを入れておく予定です。

以下、今回移転するにあたって色々と試したことを書き残しておきます。

データの移行

1. adiaryからエクスポート

adiaryのエクスポート設定

非表示日記の設定は好みで

2. WordPressのインストール

特別なことはほぼいらないです。
一部.htaccessで調整したぐらい(参考)。

3. WordPressへのインポート

「Movable Type and TypePad Importer」をインストールして、ツール→インポート→「Movable Type and TypePad」

WordPressへのインポート

ここで、uploadsディレクトリがどうこうというエラーが出てくる場合は、wp-content/uploadsディレクトリのownerがapache.apacheになっている可能性があります。もしそうなっている場合は、一旦このディレクトリを削除してuploadsディレクトリを自分で作ると解決しました。

4. 画像の移行

画像データはadiaryのディレクトリ構造をそのまま新サーバに持ってくるのが簡単です。

単にデータの移行だけならここまでで完了。ここからは今回私が直面したドメイン移転の問題。

ドメイン移転への対応

今回はXREA Plusのサブドメイン(mitc.xrea.jp)で運用していたブログを独自ドメイン(blog.fumiz.me)へ移行したため、以前のブログへのアクセスを新しいドメインへリダイレクトする必要がありました。

1. パーマリンクを設定

今回は日付/記事タイトルの方式を選択。
フォーマットを選択して.htaccessを更新するだけ。

WordPressのパーマリンク設定

2. adiary記事へのアクセスをWordPress記事へのアクセスにリダイレクトする

.htaccessにリダイレクトのルールを書いて、旧adiary記事へのアクセスを新WordPress記事へ301リダイレクトします。
.htaccessには次のようなリダイレクトルールを書き並べるだけで良いのですが、問題はこのルールをどう作るのか。

Redirect permanent /diary/014 http://blog.fumiz.me/2007/04/28/javascript%E3%83%A1%E3%83%A2-%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/

手作業で作るなんて面倒なことは絶対にやりたくないですね。そこで、今回はWordPressの記事データとadiaryの記事データを比較してリダイレクトルールを機械的に作成することにしました

3. 方針

今回のケースでは新旧のURLが次のように対応しています

移転前

http://mitc.xrea.jp/diary/014

移転後

http://blog.fumiz.me/2007/04/28/javascript%E3%83%A1%E3%83%A2-%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE/

今回は、WordPressとadiaryの記事データをXML形式でエクスポートして2つのXMLファイルを見比べてルールを作成することにしました。

4. Blog記事のXMLデータを準備

WordPressからのエクスポート
adiaryからadiary形式で日記データをエクスポート

WordPress、adiary双方からBlog記事のXMLデータをエクスポートしてきます。

5. リダイレクトルールの作成

adiaryで使われているPerlで書いてみました1: ソースコード

こんな感じにタイトルでマッチングさせてやれば大抵の場合は問題ないかと。
もし同じタイトルが複数存在する場合は、日付などもマッチングのルールに加える必要がありますね。

6. .htaccessを書く

あとはadiaryを置いていたサーバに.htaccessを置いてやればOK。
長い道のりでした……。

.htaccessの例

Redirect permanent /diary/0107 http://blog.fumiz.me/2012/01/30/vimscript%E3%81%AE%E7%B7%B4%E7%BF%92%E3%81%AB%E7%B7%A8%E9%9B%86%E4%B8%AD%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AEsvn%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E5%90%8D%E3%82%92%E5%8F%96%E5%BE%97/
Redirect permanent /diary/020 http://blog.fumiz.me/2007/05/12/leeyes%E3%82%92%E5%85%A5%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/

  1. XML::TreePP(http://www.kawa.net/works/perl/treepp/treepp.html)は.pmファイルを直接置くだけで動くので、adiaryが動いていたサーバならどこでも使える筈。 

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>