‘Movable Type’ タグのついている投稿

WordPressのページ分割機能

2008 年 10 月 13 日 月曜日

WordPressでは

<!–more–>

と挿入すると、それ以降が「続きを読む」になります。この辺、テキストエリアが完全に別れているMovable Typeよりも洗練されてますね。

ところが、実はさらに分割できることが判明しました。

地味に便利なページ分割タグ

あまり需要がないのか、編集画面にデフォルトでボタンが付いていないからなのか知らないですが私の周りの人にはあまり浸透していなかった「ページ分割」機能のご紹介。最初からついてる機能は使わなきゃもったいない!というわけでもありませんがとにかくご紹介。既出でも泣かない。

ページ分割したいところで

<!–nextpage–>

これだけです。
意外と知られていない?気がする → Wordpressで簡単に複数ページ分割する方法 - jokiの日記

おお、こんな機能を知らないとはもったいない。
おお、だちぇろよ しんでしまうとは なさけない。
おお ゆうしゃよ しんでしまうとは なさけない

というわけで早速ためしてみます。
(追記。「関連エントリ」の下になっちゃうんですね)
(続きを読む…)

MovableTypeからWordPressへのPermalink込みの完全移行方法

2008 年 10 月 5 日 日曜日

Movable TypeからWordPressへの完全移転方法をまとめました。普通にログのインポート機能を使うと、パーマリンクを引き継いでくれません。しかし今ググって出てくる情報は、大体がWordPress2.2などの古い情報で、そのままでは最新の2.6系で使うことが出来ません。(やり方は非常に参考になります。MovableTypeからWordPressへのURL込みの移行方法 - Wiki@browncat.org

今回紹介するのは、完全版かつ最新版の修正ファイルです。

さてさて、Movable Type(MT)からWordPressに移行しようとして、最も障害になるのはパーマネントリンク(パーマリンク)の扱いです。
Movable TypeにもWordPressにも、ログのエクスポート/インポート機能があるので、一見すんなりいきそうなんですが、どちらもパーマリンクの情報を持っていない。これって致命的ですよね。今までに張られたリンクや検索エンジンのインデックスを有効に生かすためのコンセプトがパーマリンクなのに、どちらもそれに対応してないってのはどういうこと?

おそらく、ユーザーの流出を防ぐためにわざと対応してないんじゃないかともいます。携帯で言うと番号ポータビリティですよね。

しかし携帯電話と違って、Webアプリケーションなら中身を誰でもいじくれるので、Movable TypeからWordPressへの完全移転を行なう修正ファイルを作りました。

1.Movable Type側の準備

まず、Movable Type側ではエクスポートプログラム
/lib/MT/ImportExport.pm

に、タグとパーマリンクを書き出す行を追加します。

丁度540行目にある

DATE: <$MTEntryDate format=”%m/%d/%Y %I:%M:%S %p”$>

の下に

PERMALINK: <$MTEntryPermalink$>

TAGS: <$MTTagName$>
ID: <$MTEntryID$>
kishi-r.com

2.WordPress側の準備

まずWordPressを通常通りインストールしたら、パーマリンクの設定をMovable Typeに合わせます。

/%year%/%monthnum%/%postname%.html
こんな感じでしょうか。この辺はそれぞれのMovable Type次第ですね。

次に
mt.php.zip

このファイルを解凍して、WordPressの
/wp-admin/import/
にある同名ファイル[mt.php]と差し替えてください。

色々なサイトに書かれている情報からいいとこ取りで、記事ID、タグ、パーマネントリンクを引き継ぐ修正ファイルとなっております。

具体的には、こちら→(minorio のプログラミング・メモ)で紹介されている、Post IDを引き継いだmt.phpをベースに、

325行目

} else if ( 0 === strpos($line, "PERMALINK:") ) { $value = trim( substr($line, strlen("PERMALINK:")) ); $tmpvalue = strrchr($value,"/");
$post-&gt;post_name = substr($tmpvalue, 0, strpos($tmpvalue, "."));

kishi-r.com

こちらのパーマリンク設定を取り入れています。

3.実行

あとはMovable Typeで「エクスポート」、WordPressでMovable Type形式での「インポート」をするだけですが、画像のパスなどを変えるんだったら、インポート前にログをテキストエディタで一括置換しておくと吉です。


MT3.3の場合は左下のほうにあります

MT4.2の場合は冒頭の画像を参照してください。「ツール」→「エクスポート」です。

4.仕上げ

カテゴリーのURL、RSSフィードのURLなどの処置を忘れずに。
WordPressのプラグインで、WordPress > 404 Notifier ? WordPress Pluginsというのを入れておくと、404ヒットがあったときにメールで通知orRSSフィードでお知らせしてくれるので便利です。

英語翻訳版ブログ

2008 年 9 月 25 日 木曜日

ウェブの機械翻訳を通すことによって、擬似的に英語ページができあがる。
いくつかのサービスで、英語版を模索してみた。

Google
System training blog

Yahoo
System ascetic practices blog» A blog archive» WordPress vs Movable Type

Yahooの方が翻訳の自然度は高いんだけど、Googleの軽さはすごい。Yahooあdとページ遷移ごとに翻訳待ち画面になるところが、Googleはほとんどリアルタイムで繋がる。当サイトでは軽さを重視してGoogleを採用。

翻訳自体については、歴史のあるエキサイト翻訳に一日の長があるんだけど、ファイルサイズに制限があるので、このページは翻訳できなかった。
英語翻訳 ウェブページ翻訳 - エキサイト 翻訳

ただ、技術的な調べ物をしてたりすると、たまに英→日の機械翻訳がひっかかってイライラするんですよね。こういうのとか。Apacheの警告namevirtualhost * : 80がないとエラーが発生virtualhostsスタート]ボタンを»私のデジタルライフ 日本語としてほとんど成立していないので役に立たないWebトラッシュです。
でもこのブログは自前で機械翻訳用意してるんだな。どうやってるんだろう…。

WordPress vs Movable Type

2008 年 9 月 11 日 木曜日

WordPressとMovable Type、今はどっちが強いのか!? 一つの目安として、Google Trendsで、WordPressとMovable Typeの検索状況を比較してみよう。
これは検索動向の調査ツールなので、決してそれぞれのユーザー数をカウントするものではないが、検索状況からある程度の注目度、人気を予測することはできるはずである。

wordpress movable type

Google Trends: wordpress, movable type

全世界的に、検索頻度ではWordPressが圧倒している。2004年中頃に完全に入れ替わり、Movable Typeは下降の一途、WordPressはうなぎ上りになっている。ただし、JAPANだけでは赤と青が同じくらいになっているように見える。



Google Trends: wordpress, movable type

詳しく見てみると、日本でも2006年の中旬にとうとう逆転している。

しかし、実際に検索するときは「Movable Type」ではなく、Movabletype、MTなど、あるいはWPなど、複数の検索キーワードが考えられる。そのあたりを考慮して検索してみると、意外と拮抗している…が、最終的にはやっぱり抜かれているが、地域を日本に絞ると未だにMovable Typeが上に来ている。

Google Trends: wordpress|(word press)|wp, movabletype|(movable type)|mt

このデータだけでユーザー数は推定できないが、まさしく一つのトレンドが形成されていることは分かる。

  1. WordPressは世界的な注目アプリケーションになっている。
  2. 日本でも注目度が上昇中である。

旧ブログからWordpress2.6への記事ログ移行

2008 年 9 月 11 日 木曜日

他のブログ(Movable Type等)からWordPress2.6への、パーマリンクを保持した移行方法をご紹介します。

ログはMT形式で

まず、ログ出力は、MovableType形式とします。MTはメジャーなブログツールのため、大抵のブログサービス/ツールがサポートしていることと、単純なテキストデータ形式のために計量で扱いやすいことが理由です。

WordPressがサポートしていないブログサービスからの移行の場合、MovableType形式で出力する方法を工夫してください。

MovableType形式は、次のような形式のループで出力されます。

--------
AUTHOR: 作成者名
TITLE: 記事タイトル
BASENAME: ファイル名ベース(post、entryなど)
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: default
ALLOW PINGS: 1
PRIMARY CATEGORY: 親カテゴリ名
CATEGORY: 子カテゴリ名
DATE: 08/08/2008 23:06:13
-----
BODY:
記事本文
-----
EXTENDED BODY:
追記本文
-----
EXCERPT:
(抜粋部分)
-----
KEYWORDS:
(キーワード)
-----
COMMENT:
AUTHOR: コメント名前
EMAIL: mail@example
IP: 127.0.0.1
URL: http://blog.sample.jp
DATE: 09/11/2008 10:19:53 AM
コメント本文
-----
PING:
TITLE: トラックバックタイトル
URL: http://trackbackのURL
IP: host.from.trackback.jp
BLOG NAME: ブログ名
DATE: 09/11/2008 10:38:22
トラックバック本文
-----

Bloggerのようにテンプレートがカスタマイズできるブログサービスの場合、そのサービスがエクスポートをサポートしていなくても、それぞれのフィールドにシステムタグを割り当てて出力することによって、MT形式のログが作成できるというわけです。

参考までに、Smartyを利用した何かのブログの例を置いておきます。
これを全記事出力の設定にすればできあがりです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{foreach item=row from=$blogdata}
--------
AUTHOR: {$CREATOR}
TITLE: {$PAGE_TITLE}
BASENAME: 
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: default
ALLOW PINGS: 1
PRIMARY CATEGORY: {$CATEGORY_NAME}
CATEGORY: {$CATEGORY_NAME}
DATE: {$MONTH}/{$DAY}/{$YEAR} {$HOUR}:{$MIN}:{$SEC}
-----
BODY:
{$CONTENT}
-----
EXTENDED BODY:
{$POSTSCRIPT}
-----
EXCERPT:
 
-----
KEYWORDS:
 
-----
{if $ADD_COMMENT}
COMMENT:
{$ADD_COMMENT}
-----
{/if}
{if $ADD_TB}
PING:
{$ADD_TB}
-----
{/if}
{/foreach}

パーマリンクをどうするか

ただし、デフォルトの状態では、MovableType→WordPressの移行は、パーマリンクの移行がサポートされていません。これでは、せっかく移行してもこれまでにもらったリンクや検索エンジンのインデックスが無くなってしまいますのでちょっと不都合ですね。

これについては、各地で色々な工夫が為されています。
基本的には
 MovableTypeからパーマリンク、ページIDを出力する
 WordPressのインポート時に、それらを受け付けるようにする

という改造を行なう必要があります。

MovableTypeからWordPressへのURL込みの移行方法 - Wiki@browncat.org
ttp://wiki.browncat.org/index.php/MovableType%E3%81%8B%E3%82%89WordPress%E3%81%B8%E3%81%AEURL%E8%BE%BC%E3%81%BF%E3%81%AE%E7%A7%BB%E8%A1%8C%E6%96%B9%E6%B3%95

↑コンセプトとしてはこちらがとてもよくまとまっているんですが、WordPressのバージョンが2.2のため、肝心のWordPressへのパッチが適用できません。import/mt.phpの仕様も一新されているようです。

Movabletype から WordPress への移行(ついでにドメイン移行、パーマリンクリダイレクト)の方法 - minorio のプログラミング・メモ
ttp://d.hatena.ne.jp/minorio/20080825/1219648679

2.6用のmt.phpがこちらにて配布されていたので、使わせていただきました。

というわけで、旧ブログシステムで動いていたブログを、WordPressに移行させることに成功しました。155記事全て移行! これで重い再構築ともおさらばです。あースッキリした。

Movable Type4.2のインストールが進まない件

2008 年 9 月 8 日 月曜日

MT4をインストールしようとしたところ、初期ログイン画面から一向に進まない現象が発生。

以下、顛末と簡易分析。

  1. mt-check.cgiが起動し、モジュール群がそろっていることを確認。
  2. 次に、そのまま設置ディレクトリ/mt/(index.html)からログインしようとしたがタイムアウト。
  3. ログを見ると、mt.cgiからmt-wizard.cgiというファイルが呼び出されているが、これが起動しない模様。↓エラーログ
    [Mon Sep 08 12:15:07 2008] [warn] [client 121.1.253.229] Timeout waiting for output
    
    from CGI script /home/yuji/html/mt/mt-wizard.cgi, referer:

    http://xxxx.xxx.xxx/mt/

  4. ならば、と直接mt-wizard.cgiを叩いてみても変わらずタイムアウト。
  5. しかしこのmt-wizard.cgiは、単純にmt-config.cgiを対話型で設定するだけのプログラムということなので、手動でmt-config.cgiを編集、サーバのパスとデータベース(MySQQL)の設定を記述して保存。
  6. 以降、問題なく「ログイン」からインストール(初期ブログセットアップ)に移行、すんなり設置完了。

cgi-bin以外のフォルダでもCGIが使えるようにする

2008 年 9 月 8 日 月曜日

テストでMovable Typeを設置しようとしたんだけど、mt-check.cgi(環境チェック用プログラム)を実行しようとしたらコードがズラっと表示されてしまう。あれ、おかしいな権限かな…。しかし権限が適切に設定されていない場合は500エラーになるはず…。

「そうか、CGIの設定がデフォルト(/var/www/cgi-bin/のみで実行)のままなんだ」

任意のフォルダでCGIを実行する設定

CGIは、通常CGI専用のフォルダで実行されるようになっています。ただしこういうテストの場合や、セキュリティに不安がない場合、他の場所で実行したいことがあります。
そんなときは、apacheの設定に1箇所追加します。CGIを実行したいディレクトリの.htaccessでも結構です。

Options +ExecCGI

これで、userユーザーのwww以下ならどこのフォルダでもCGIが実行されるようになりました。

あとは、Movable Typeでは.plの形式のファイルもあるので、拡張子の設定に.plを追加します。

AddHandler cgi-script .cgi .pl

[service httpd restart]でApacheを再起動して完了。
Hello Worldなどを好きな場所に置いて動作確認しましょう。

↓「Hello, World.」を表示するPerlプログラム

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Hello, World.";

“scribefire”でWordpressを設定しようとすると「ログインエラー」

2008 年 9 月 2 日 火曜日

scribefireという、ブログへワンタッチ投稿できるFireFoxアドオンがあります。
これを使うと、FireFoxの画面下に画面が開いて即エントリーが投稿できたり、他のページの閲覧中に右クリックからそのページの引用エントリが直接書けたりして、とても便利です。

ScribeFire Blog Editor :: Firefox Add-ons

これでWordpressへの投稿もラクラクになる…はずなんですが、なぜかブログが登録できない。

調べてみると、設定>投稿設定で、「リモート設定」を有効にする必要がありました。

リモート投稿

Atom 投稿プロトコルや XML-RPC パブリッシングインターフェースを利用したデスクトップのブログクライアントやリモートウェブサイトから WordPress に投稿するには、以下の設定を有効にしてください。

Atom 投稿プロトコル

XML-RPC

下の、XML-PCにチェックを入れて保存でOK。

一応万が一のために、adminユーザーを登録するのではなく、これ用に「投稿者」権限で新規ユーザーを作っておいたほうがいいでしょう。