Home > Archives > 2008-09

2008-09

MovableTypeからWordPressに固定リンク込みで完璧に移行する方法

MovableType(MT)からWordPress(WP)に乗り換えようとするときに、必ずネックになってくるのが記事データ移行の問題。

MovableTypeのエクスポートデータをWordPressにインポートできるんだけど、そのときに移行できるのは、記事本文・コメントのみ。パーマリンク(URL)、カテゴリー、タグといった付帯情報は一切引き継ぐことができない。

MT・WPそれぞれのソースコードを修正してパーマリンクを引き継がせるなんてこともできるけど(下記リンク参照)、MT・WPがバージョンアップされ、元のソースコード自体が変わってしまうと、どこを修正していいのか分からなくなってしまうのが欠点。

MovableTypeからWordPressへのURL込みの移行方法Wiki@browncat.org

WPからWPへ、WXR(WordPress eXtended RSS)形式のデータを使ってブログ内容を引継ぎできるのであれば、MTでもWXR形式でインポートデータを書き出せばいいんじゃね?
ということで作ったのが、下記のテンプレートデータです。
(追記:ソースコードはキミコさんに改良していただいたものに差し替えました。)

(2010年6月8日追記:「追記」部分のインポートがうまく作動していなかった点をSatoshiさんが改善してくれました。改善されたコードはSatoshiさんのブログにてご確認ください。→movabletypeからwordpressに移行する時のテンプレート改良版

<?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>

使い方
(1)上のソースコードをMovableTypeの管理画面(ダッシュボード)の「デザイン」>「テンプレート」で「インデックステンプレートを作成」し、コピペします。
そそして適当なテンプレート名・出力ファイル名(仮に、export.xmlとします)を付け、保存・再構築します。

(2)無事に再構築が終わると、サイトのトップディレクトリに、export.xmlが生成されていますので、それをFTPでダウンロードします。

(3)移行元のMTと移行先のWPでパーマリンク設定が異なっていると、パーマリンクが引き継げないので、WPのパーマリンク設定をMTに揃えます。というわけで、WordPressにログインし、ダッシュボードから「管理」>「パーマリンク設定」で変更します。
MTのアーカイブ設定が「yyyy/mm/entry-basename.nhml」となっていれば、WPでは「/%year%/%monthnum%/%postname%.html」となります。
ちなみに当ブログは「/archives/<$MTEntryBasename$>.php」となっていましたので、WPでは「/archives/%postname%.php」としました。
(※:MT 2.xでは、basenameというテンプレートタグがなかったので、<$MTEntrykeyword$>を記事URLに流用するテクニックもありましたが、そういったテクニックを使っている方は、<$MTEntryBasename$>の箇所を<$MTEntrykeyword$>に変えてください)

(4)WPにexport.xmlを読み込ませます。「管理」>「インポート」に移動すると、インポート用のデータ形式を選択するページが表示されますので、「WordPress」を選択してください。
そして「export.xml」を読み込ませると移行は完了です。記事内容・コメント・トラックバック・カテゴリー・タグが移行されているはずです。(※MTの概要は、WPの抜粋に移行します)

既知の問題

タイトルで「完璧」と言っている割に、若干の問題もあります。

(1)MTで未公開になっている記事はエクスポートされません。
・対処法1:すべての記事を一旦公開状態にして書き出し、移行後に、未公開記事だった記事を未公開設定にする。一旦公開状態になってしまうので、ちょっと気持ち悪いですがインポートとエクスポートが一回で終わります。

・対処法2:一旦、通常の方法で、MT→WPへ記事を移行する。んで、未公開の記事だけを残し、後の記事は全て削除。その後、あらためて、上記の方法を使って記事をインポート。二度手間にはなるものの、こちらの方がオススメ。

(2)カスタムフィールドのインポートには対応していません。ベータ版のテンプレートデータにはカスタムフィールドの移行も含まれていたのですが、いまいち、WXR形式のカスタムフィールドの項目の仕様がよく分からなかったので削除しました。

(3)カテゴリーの名称
カテゴリー自体は移行していますが、URLまでは引き継げていませんので、移行後に、手作業でカテゴリーのURLを修正します。

やりすぎコージー終了の件

『やりすぎコージー』がゴールデンタイム進出!”月9″とガチンコ対決- (ORICON STYLE)

 あーあ。
「やりすぎコージー」が10月からゴールデンタイムに移動するようですよ。またひとつ惜しい番組が無くなりそうです。

テレビ東京としては、かつてないほどの深夜の人気番組となり、このまま深夜番組として続けるという選択肢もあったが、社運を賭けてゴールデン進出を英断。ゴールデンに移動はするが、レギュラー陣の後ろに控える”やりすぎガール”や、企画の斬新さはそのままに、さらに新企画を生み出していくという。

 「英断」だって。
 くりぃむナントカの涙の最終回を見てもそんなことが言えんでしょうかね。深夜からゴールデンに移って、そのまま人気番組であり続けたのなんて、トリビアの泉、めちゃイケ・はねるのトびらくらいしか思いつかない。

 めちゃイケ・はねトびはゴールデンに行って人気番組となりましたが、深夜時代のコント番組の面影は無く、すっかりバラエティ番組になってしまいました。だからこそ人気が維持されたとも言えるのですが、今までの視聴者を失うくらい番組内容をゴールデンタイムに最適化させることができなければ、成功しないと言うことです。

 テレビ東京のバラエティといえば、B級タレントがゲストで出て、みんなでVTRを見る体裁が多いと思うのですが、やりすぎコージーもそのようになるんでしょうかね。やりすぎコージースペシャルのように。

 C級D級芸人こそやりすぎの華なのに、それが見れなくなって、渡辺徹だの叶姉妹だのが当たり障りのないコメントをしゃべって終わりって感じになるのか。

 もう二度と、天王洲猥談やシベリア文太をやりすぎで見ることは無さそう。毎週、HDDレコーダーに録画してまで見てたんですけどね。残念です。

#10/13の2時間スペシャルの放送内容を予想してみると、
・都市伝説
・B級芸人によるネタ見せ(レッドカーペット風)
こんなところじゃないんでしょうか。
ゲストは、渡辺徹、勝俣州和、坂東英二、矢口真里、あたり。

パラリンピックの中継に本腰を入れないNHKの欺瞞

 オリンピックの興奮も記憶に新しいところですが、今日(9/6)からパラリンピックが始まりました。

 オリンピックのときは各局こぞって熱戦の模様を中継していました。女子ソフトボールの裏で女子サッカーもやってて、ザッピングしながらテレビにかじりついていたことを覚えています。そして日本勢の活躍も期待できるパラリンピックですが、どれだけ中継されるのでしょうか?

 9/7~17日 22:00~22:50 教育テレビ(生放送)

 中継と呼べるものはこれだけ。毎日1時間にも満たない時間しか流れないのです。しかも教育テレビって!
 あとはちょろちょろと再放送やら総集編が流れます。
 オリンピックのときは朝から夜までどこかのチャンネルを捻れば、何かの中継を流してたくらいの放送量でしたが、パラリンピックでは一転、ゼロに等しい。

 民放はまだ分かります。
 商売ですから視聴率が取れないであろう中継に乗り気ではないのでしょう。常日頃、自分たちは公共性が高い崇高な仕事をしている、と特権の上にあぐらをかいていながら、こーいうときだけ商業主義を掲げるあり方にも疑問はありますがね。24時間テレビやるんなら、パラリンピックも同じくらい力入れたら?とかね。

 もっと罪が重いのが、NHK。
 障害を抱えながら頑張っている日本人選手を日本のメディアとして応援する気持ちは無いのか?

 NHKは「公共の福祉」という名目の元に、国民から受信料を巻き上げておいて、ここでパラリンピックの中継をしないで、何のための放送局か!
 ほんとバカじゃない?

 NHKに、バラエティ、ドラマ、報道といった要素は一切期待していない。
 ただ、こうやって頑張っている日本人を全力で支援する姿勢は強く望みたいし、また、それこそが公共の福祉に適ったNHKのあり方に違いない。

 受信料を払っているのがバカバカしくなってくる。こんなNHK要らないし、解体することを強く願う。

VOCALIST 2のシングル・アゲインが気になる

 徳永英明が女性ボーカリストの歌をカバーする「VOCALIST」シリーズなんですが、今更聞いています。

 んで、VOCALIST 2に収録されてる、シングル・アゲイン(竹内まりや)酷くない?

 1曲目の雪の華から始まり、いい日旅立ち、セカンドラブとなかなかいい感じで来ていて、シングル・アゲインで一気に失速するのだ。とにかく、歌詞のブツ切りが酷くて、聞いていられない。1番のサビの部分なんてほんとひどい。

♪また独りに・返ったと
風の便り・に聞いてから
忘れかけた・想・いが
胸の中で・ざわめ・く
私と同じ痛みを
あなたも感・じてるな・ら
電話ぐらい・くれても・いいのに

 ちゃんと文節で切って歌えと言っているわけではなくて、曲に全然合っていないところで、ブツブツと切って歌う違和感。なんでここで切る必要があるの?って疑問符が頭の中を占領する。
 2番に入るとブツ切りはさらに加速していく。

♪もし再び・出会・って
瞳を探・り合っ・ても
隔てたとき・を埋・める
すべは何ひとつな・い
手放した・恋を・今
あなたも悔や・んでるなら
やっと本・当のさ・よならできる

 さよならを、「さ」「よなら」で切るだけならまだしも、間に「っ」が入るので、「さっよなら」と歌っている。言葉として成立してなさ過ぎて、ほんとイラッときますよ。

 「味がある」「アレンジ」なんて言葉ではごまかされないよ、あれはひどい。他の歌は気にならないのだけど、この歌が突出してひどい。

 あと、シングル・アゲインの次の曲の「あなた」(小坂明子)もちょっと疑問。個人的に「あなた」はある種の狂気を秘めた歌(誉め言葉)だと思ってて、

♪もしも私が家を建てたなら
小さな家を建てたでしょう
大きな窓と小さなドアと
部屋には古い暖炉があるのよ
真赤なバラと白いパンジー
子犬の横には あなた あなた あなたがいて欲しい

とラブラブ全開で歌い上げた後で、

♪いとしいあなたは 今どこに

と結ぶ。
リスナーはこの結びで、実は叶わぬ願いを切々と歌っていることに思い知らされ、ショックを受けるのである。

 「いとしいあなたは 今どこに」だから死別ではなく、男に逃げられているのだ。相当な恨み節であるはずなんだけど、徳永英明は、ホロ苦い昔を振り返っているかのように淡々と歌うのだ。
 いや、違うだろうと。

 「シングル・アゲイン」と「あなた」はVOCALIST 2の中で浮いている気がする。

無性にザナドゥが聴きたくなったので

 ザナドゥっつっても、日本ファルコムの名作ARPGではなくて、オリビア・ニュートン=ジョンの方。最近では、ソフトバンクのCMでも流れていましたな。

 70~80年代の洋楽が発作的に聴きたくなる。こないだは、シルヴィ・バルタンの「あなたのとりこ」が聴きたくなり、YouTubeでエンドレス再生していました。
 その前は、ベイシティーローラーズの「サタデーナイト」をずーっと聴いてたし。

 ブームタウン・ラッツの「・哀愁のマンデイ」も無性に聴きたくなるときがありますな。間抜けな邦題がついてますが、この歌はある事件のことを歌っていて、重いです。ええ。

 話が逸れました。
 ザナドゥです。普通に、YouTubeにアップされているのがすごいよな、と思いつつ、しばしXANADUを聴いていました。

 んでそのザナドゥを日本のアーティストがカバーしていたの知ってました?下の動画を見ていただきたいのですが、いろんな意味でビックリしましたよ。

 松田聖子&河合奈保子という当時のトップアイドル二人がデュエットしています。ちなみに、訳は森雪之丞。
 まぁカバーってほど大々的なものではないと思いますが。
 ビミョー!

#最近、フジテレビの本田朋子アナが気になって仕方ない。

Home > Archives > 2008-09

  • 9/2の「空から日本を見てみよう」(テレビ東京)は「長崎市」ですよ!・・・でも長崎では見れないかな?  3日前
  • ますますもって外反母趾が痛い。治ることはないって医者に言われたしなー、ずっと痛いままなんやろか。  3日前
  • ハンター×ハンターのトンガリ頭のデブ(27巻)って、ポットクリンのことだったのか。ふと気になってググって数秒で答えに辿り着く。ほんとネット無かったら生きてられん。  1週間前
  • 映画・あしたのジョーの伊勢谷友介は、力石徹というよりも、間柴に見える。構えもフリッカーっぽいし。にしても、すげー体だ。http://www.cinematoday.jp/page/N0026276  2週間前
  • 刀語はじまた  3週間前
  • WordBench 横浜の料理バトル、すげー気になる。もちろん審査のときは、審査員が空飛んだり口からビーム出したりして感動するんですよね(ミスター味っ子的な感じで)。絶賛子育て中につき、参加できないのが残念。  3週間前
  • お宮参りに行ってくる  1週間前
  • 民主党敗戦の理由を消費税にすり替えたね。消費財云々が無くても、フツーに苦戦してたと思うけど。郵政民営化をひっくり返したあたりで、この党は信用できない、と思ったよ。  1週間前
  • 一度も起きることなく、8時間くらい連続して寝たい  1週間前
  • リアルアルジャーノン http://t.asahi.com/48a  1週間前
  • 過去の独り言...

Posting tweet...

Powered by Twitter Tools.

Tag Cloud

Return to page top