<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hello WordPress! &#187; wxr</title>
	<atom:link href="http://www.hello-wordpress.com/?feed=rss2&#038;tag=wxr" rel="self" type="application/rss+xml" />
	<link>http://www.hello-wordpress.com</link>
	<description>ハローワードプレス。略してハロワ。</description>
	<lastBuildDate>Fri, 09 Jul 2010 08:15:40 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>mtからwpへの移行</title>
		<link>http://www.hello-wordpress.com/?p=68</link>
		<comments>http://www.hello-wordpress.com/?p=68#comments</comments>
		<pubDate>Fri, 21 Nov 2008 03:13:01 +0000</pubDate>
		<dc:creator>harowadmin</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[movabletype]]></category>
		<category><![CDATA[wxr]]></category>
		<category><![CDATA[移行]]></category>

		<guid isPermaLink="false">http://www.hello-wordpress.com/?p=68</guid>
		<description><![CDATA[ここ最近、２つのブログをmtからwpへ移行しました。
いろいろと情報を集め、実際に試してみた結果を残しておきます。
まず最初に参考にしたページがここ。
http://apps.tpot.tk/web:wordpress
 [...]]]></description>
			<content:encoded><![CDATA[<p>ここ最近、２つのブログをmtからwpへ移行しました。<br />
いろいろと情報を集め、実際に試してみた結果を残しておきます。</p>
<p>まず最初に参考にしたページがここ。<br />
<a href="http://apps.tpot.tk/web:wordpress">http://apps.tpot.tk/web:wordpress</a></p>
<p>最初は「<strong>全ページを完璧に移行する。パーマリンクもmtとまったく同じにするぞ！</strong>」と意気込んでおり、このページを参考に<strong>完璧な移行</strong>を目指しました。</p>
<p>が、すぐに挫折。</p>
<p>まず、このページで扱っているmtとwpがちょっとバージョン古めみたいで、ソースコードがけっこう違っていました。<br />
それでも頑張ればなんとかなるだろうと思っていろいろ試したんですが、やっぱり<strong>ソースをガリガリいじるのは正直シンドイ</strong>です。しかもmtとwp両方となるとなかなか。。</p>
<p>というわけで、100点満点でなく60～80点くらいを目指す方向へとシフトしました。</p>
<p>続いて参考にしたページがこちら。<br />
<a href="http://netscrander.com/archives/mt_to_wp.php">http://netscrander.com/archives/mt_to_wp.php</a></p>
<p>mtのテンプレートで<strong><a href="http://www.hello-wordpress.com/?tag=wxr" class="st_tag internal_tag"  title="Posts tagged with wxr">WXR</a>(WordPress eXtended RSS)</strong>という、WordPressのブログ移行用のデータを作成するというやり方。<br />
なるほど、この発想はなかったです。というか<a href="http://www.hello-wordpress.com/?tag=wxr" class="st_tag internal_tag"  title="Posts tagged with wxr">WXR</a>の存在自体を知りませんでした。</p>
<p>さっそく上記のサイトからテンプレートを取得してmtで<a href="http://www.hello-wordpress.com/?tag=wxr" class="st_tag internal_tag"  title="Posts tagged with wxr">WXR</a>を出版。テスト環境のwpにデータを取り込んでみましたが、なかなかいい感じ。コメントやトラックバックもしっかり移行できてます。<br />
カテゴリの階層構造が移行できないといった問題もありましたが、数がそんなに多くなかったのでインポート後に手動で再設定しました。</p>
<p>そんな感じでトライアンドエラーを繰り返しつつ、最終的にこのやり方でデータの移行を完了しました。</p>
<p>最後に、これは自分のオリジナルなんですが、mtで出版したHTMLからwpの記事へリダイレクトする方法を紹介します。</p>
<p>まずはmtで<a href="http://www.hello-wordpress.com/?tag=wxr" class="st_tag internal_tag"  title="Posts tagged with wxr">WXR</a>を作成する際、こんな感じでmtの記事IDをカスタムフィールドに入れます。</p>
<p><code><br />
&lt;wp:postmeta&gt;<br />
&lt;wp:meta_key&gt;mt_entry_id&lt;/wp:meta_key&gt;<br />
&lt;wp:meta_value&gt;&lt;$MTEntryID$&gt;&lt;/wp:meta_value&gt;<br />
&lt;/wp:postmeta&gt;<br />
</code></p>
<p>そしてデータ移行が完了したら、wpのMySQLで以下のSQLを実行します。</p>
<p><code>SELECT meta_value , ' => ' , post_id , ',' FROM wp_postmeta WHERE meta_key LIKE 'mt_entry_id';</code></p>
<p>SQLで抽出したデータをこんな風にphpの変数にして、mt_wp_map.phpとか適当な名前を付けてサーバーに保存。</p>
<p><code><br />
&lt;?php<br />
$mt_wp_map = array(<br />
1234	 => 	4	,<br />
1235	 => 	5	,<br />
1236	 => 	6	,<br />
1237	 => 	7	,<br />
1238	 => 	8	,<br />
1239	 => 	9	,<br />
...<br />
);<br />
?&gt;<br />
</code></p>
<p>そしてmtの記事ページテンプレートを以下のようにします。</p>
<p><code><br />
&lt;?php<br />
require("/path/to/mt_wp_map.php");<br />
$wp_post_id = $mt_wp_map[<$MTEntryID$>];<br />
if($wp_post_id)<br />
{<br />
 header("HTTP/1.1 301 Moved Permanently");<br />
 header("Location: /path/to/wp/?p=$wp_post_id");<br />
 exit;<br />
}<br />
?&gt;<br />
</code></p>
<p>あとはページを再構築すれば全記事ページからwpへリダイレクトされるようになります。</p>
<p>できればカテゴリページや月別アーカイブページもリダイレクトさせたいんですが、面倒なので対応しませんでした。<br />
カテゴリページなどは数が多くなければ手作業でやっちゃったほうが早いかもしれません。</p>
<p>以上でデータ移行完了。テーマのカスタマイズについては今回は割愛します。</p>
<p>他にもっといいやり方もあるような気がしますが、とりあえずこれで無事移行できたので満足しています。</p>
<p>mtからwpへの移行はいい勉強になりますので、それなりに程度時間をかけて取り組む価値があると思いました。<br />
今回紹介した方法以外にもバージョンや運用形態によってそれぞれ適した移行方法があると思うので、いろいろ試してみてください。</p>
<p>最後に、移行後しばらくして気がついた、忘れがちなポイントを紹介しておきます。</p>
<p>・静的ファイル各種<br />
robots.txtとかGoogleやYahooのウェブマスターツールの認証用HTMLとか忘れがちなので注意。</p>
<p>・HTMLのコメントがそのまま表示されてしまう<br />
mtの記事内にHTMLのコメント(こういうの→「&lt;!&#8211;コメント&#8211;&gt;」)を入れていたんですが、wpではそのまま表示されてしまっていました。</p>
<p>・更新Pingリスト<br />
記事情報以外の設定データは忘れがちなので要注意。</p>

	タグ: <a href="http://www.hello-wordpress.com/?tag=movabletype" title="movabletype" >movabletype</a>, <a href="http://www.hello-wordpress.com/?tag=wxr" title="wxr" >wxr</a>, <a href="http://www.hello-wordpress.com/?tag=%e7%a7%bb%e8%a1%8c" title="移行" >移行</a><br />
]]></content:encoded>
			<wfw:commentRss>http://www.hello-wordpress.com/?feed=rss2&amp;p=68</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
