Movabel TypeからWordPressへ:WXR(WordPress eXtended RSS)でURLも移行!

| コメント(2) | トラックバック(1)

Movable TypeからWordPressへのデータの移行(Movable TypeからWordPressへURLもタグも移行する方法)が、失敗していた(コメントが一部だけしかインポートされず、トラックバックがなくなってしまっている)ということに気がついたので、やり直しました。

前回紹介したNetScrander » MovableTypeからWordPressに固定リンク込みで完璧に移行する方法で提供されているテンプレートを参考に、以下を変更しました。

・トラックバックがあるかどうかを判定している部分のスペルミスを修正
・MTPingsのブロックタグを追加
・コメント・トラックバックのひとつひとつがwp:comment要素になるように、開始タグ・終了タグとMTCommentsのブロックの関係を変更
・トラックバック元のIPアドレスが固定値だったのを、MTPingIPに変更。
(あと、コメント・トラックバックがオープンである前提になっているので、クローズしてある場合は、そのあたりも変更)

で、修正後のテンプレートはこんな感じになってます。



<?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:wp="http://wordpress.org/export/1.0/"
>

<channel>
<title><$MTBlogName$></title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription$></description>
<language>ja</language>
<wp:base_site_url><$MTBlogURL$></wp:base_site_url>
<wp:base_blog_url><$MTBlogURL$></wp:base_blog_url>

<MTSetVarBlock name="ecount"><$MTBlogEntryCount$></MTSetVarBlock>
<MTEntries lastn="$ecount">
<item>
<title><$MTEntryTitle$></title>
<link><$MTEntryPermalink$></link>
<pubDate><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></pubDate>
<dc:creator><![CDATA[<$MTEntryAuthor$>]]></dc:creator>
<category><![CDATA[<$MTEntryCategory$>]]></category>

<category domain="category" nicename="<$MTEntryCategory$>"><![CDATA[<$MTEntryCategory$>]]></category>
<MTEntryIfTagged>
<MTEntryTags>
<category domain="tag"><![CDATA[<$MTTagName$>]]></category>

<category domain="tag" nicename="<$MTTagName$>"><![CDATA[<$MTTagName$>]]></category>
</MTEntryTags></MTEntryIfTagged>

<guid isPermaLink="false"><$MTBlogURL$>/wp/?p=<$MTEntryID$></guid>
<description></description>
<content:encoded><![CDATA[<$MTEntrybody$>]]></content:encoded>
<guid isPermaLink="false"><$MTEntryPermalink$></guid>
<excerpt:encoded><![CDATA[<$MTEntryExcerpt$>]]></excerpt:encoded>
<wp:post_id><$MTEntryID$></wp:post_id>
<wp:post_date><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></wp:post_date>
<wp:post_date_gmt><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></wp:post_date_gmt>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:post_name><$MTEntryBasename$></wp:post_name>
<wp:status>publish</wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type>post</wp:post_type>
<wp:post_password></wp:post_password>
<wp:postmeta>
<wp:meta_key>_edit_lock</wp:meta_key>
<wp:meta_value>1221409228</wp:meta_value>

<MTComments sort_order="ascend">
<wp:comment>
<wp:comment_id><$MTCommentID$></wp:comment_id>
<wp:comment_author><![CDATA[<$MTCommentAuthor$>]]></wp:comment_author>
<wp:comment_author_email><$MTCommentEmail$></wp:comment_author_email>
<wp:comment_author_url><$MTCommentURL$></wp:comment_author_url>
<wp:comment_author_IP><$MTCommentIP$></wp:comment_author_IP>
<wp:comment_date><$MTCommentDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date>
<wp:comment_date_gmt><$MTCommentDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date_gmt>
<wp:comment_content><![CDATA[<$MTCommentBody convert_breaks="1"$>]]></wp:comment_content>
<wp:comment_approved>1</wp:comment_approved>
<wp:comment_type></wp:comment_type>
<wp:comment_parent>0</wp:comment_parent>
<wp:comment_user_id>0</wp:comment_user_id>
</wp:comment>
</MTComments>

<MTPings sort_order="ascend">
<wp:comment>
<wp:comment_id><$MTPingID$></wp:comment_id>
<wp:comment_author><![CDATA[<$MTPingBlogName$>]]></wp:comment_author>
<wp:comment_author_email></wp:comment_author_email>
<wp:comment_author_url><$MTPingURL$></wp:comment_author_url>
<wp:comment_author_IP><$MTPingIP$></wp:comment_author_IP>
<wp:comment_date><$MTPingDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date>
<wp:comment_date_gmt><$MTPingDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date_gmt>
<wp:comment_content><![CDATA[<strong><$MTPingTitle$></strong>
<$MTPingExcerpt$>
...]]></wp:comment_content>
<wp:comment_approved>1</wp:comment_approved>
<wp:comment_type>trackback</wp:comment_type>
<wp:comment_parent>0</wp:comment_parent>
<wp:comment_user_id>0</wp:comment_user_id>
</wp:comment>
</MTPings>
</item>
</MTEntries>
</channel>
</rss>


<追記>トラックバックにいくつか抜けを見つけました。遅くなるかもしれませんが、対処したら修正します。MTEntriTracbackCountでの分岐で、トラックバックが表示されないものがあったので削除しました。理由はわかりません。MTEntryCommentCountも、要素タグとの関係からみると必要ないのでついでに削除しました。</追記>

流行にのっての移行はしないつもりでいたのですが、ここ数日で、WPを使うメリット(自分のスキル的にPHPのアプリケーションであることは便利)に気がついたので、準備中にまずいことに気がつかなければ、移行を進めていくつもりです。

今のところここはまだMTです。

WXRの仕様はどこにあるのかなあ。要素の入れ子の状態はこれでいいのかどうかとか、固定の値がなにを意味しているのか、このままでいいのか、よくわかりませんが、ちゃんとインポートしてくれたようです。

自分の場合は、ウェブページはちゃんとは使ってなくて、ブログだけなので、これでOKでしたが、MTのブログページとWPのページの関係はどうなんでしょうね。

<追記>

コメント欄に出てくる書籍はこちらです。
より完成度の高いテンプレートや、詳しい手順が紹介されています。


WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!吉村 正春

秀和システム 2009-02
売り上げランキング : 3954

おすすめ平均 star
star充実した1冊です!
starWordPress の機能強化にこの1冊

Amazonで詳しく見る
by G-Tools

« 前の記事:

LEGOのモザイク

» 次の記事:

WordPress、インポートでの「Warning: set_time_limit() 」

トラックバック(1)

さて、私みたいにはるかかなた昔にMT2.6xを導入したきり、気がついたらMT4になっていて、そのうちWordPressブームみたいになっている方も多いかと思います。 MT3からのWPへの移行についてはもろもろ記事があるようですが、MT2.6xからの移行についてはあまり記事がないようです。 しかもパーマリンクを保持したままの移行についてはなおさら。 今回WPTouchに惹かれて思い切って移行してみましたので記事にしてみます。 移行の方針は以下の通りです。 せっかくgoogleにも登録されているのでパー... 続きを読む

コメント(2)

kimiko様

NetScrander管理人の吉村です。
私の作成したふつつかなテンプレートを修正いただきありがとうございます。
それでバグだらけのテンプレートをそのまま公開しておく訳にもいかないので、修正後のテンプレートを弊サイトでも公開させていただきたいのですがいかがでしょうか?

加えて、今月下旬に発行されるWordPress関連書籍にもこの修正版のテンプレートを掲載させていただきたいのですがいかがでしょうか?

手前勝手なお願いで大変恐縮なのですが、ご検討のほど宜しくお願いします。

このサイトについて

アーカイブ

Powered by Movable Type 5.14-ja