• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

Movable Type から WordPress への移行

提供: WordPress Codex 日本語版
移動先: 案内検索

このページ「Movable Type から WordPress への移行」は 情報が古くなっている可能性があります。最新版英語)も合わせてご覧ください。最新に更新してくださる協力者を求めています

このページでは、Movable Type または TypePad から WordPress へ移行する方法を紹介します。
基本的なステップは他のブログツールなどからのインポートと変わりませんが、パーマリンクを維持する方法など Movable Type/TypePad 特有のコツを詳しく書いています。

前提条件

  • WordPress のインストールを完了している
  • 元となる Movable Type サイト、新しい WordPress サイトともにドメインは http://example.com/ である

MovableType からのエクスポート

まず、以下の公式マニュアルに従って記事、コメント、トラックバックをエクスポートします。

以下では、ここで作成したファイルを「エクスポートファイル」と呼びます。

文字コードの一致

WordPress では UTF-8 がデフォルト文字コードです。Movable Type ブログが他の文字コードの場合は、エクスポートファイルを変換して一致させる必要があります。

  • テキストエディタで import.txt ファイルを開き、文字コードを変更して保存する。
  • Mac OSX および Unix/Linux 系のシステムでは、iconv を使って import.txt ファイルを変換できる。
$ iconv -f ISO-8859-1 -t UTF-8 import.txt > import_new.txt

WordPress へのインポート

WordPress 2.7 以降でのインポートは、管理画面の ツール → インポート → Movable Type と TypePad から行います。
手順はコンテンツインポート情報ページの「基本的な方法」セクションに書かれている通りです。実行の際は、リンク先やインポーターページの説明もよく読んでください。

その他気を付けること

大量の投稿のインポート

元のサイトに大量の投稿があった場合には、タイムアウトやアップロードファイルサイズ制限によるエラーが発生することがあります。この場合は、サーバーのメモリー制限を編集する必要があります。

参考:

編集するための権限がない場合は、エクスポートファイルサイズを小さくして対応することもできます。エクスポートファイルをテキストエディタで編集し、小分けにしながらアップロードするとよいでしょう。

パーマリンクを維持する

サイト内のリンクを修正しても、検索エンジンや外部サイトからのリンクは更新されません。リンク切れを防ぐために、ブログ投稿や固定ページのパーマリンクを維持するための対策が必要になります。

多くの方法では、WordPress のサーバーで .htaccess や Apache の mod_rewrite モジュールが利用できることが前提になります。分からない場合は、サーバー管理者に問い合わせてください。

旧 URL と新 URL を統一する

新旧 URL を完全に統一することで、リダイレクトせずにパーマリンクを維持できます。
以下で、Movable Type のテンプレートを使って書き出した固定リンクファイル名をもとに WordPress データベースをまとめて更新する方法が紹介されています。

.htaccess を使ったリダイレクト

以下は、.htaccess ファイルのみを使った新しい URL へのリダイレクト方法です。

まず、以下のコードをもとに Movable Type のテンプレートを作成し、redirect.php として出力します。このファイルを、WordPress をインストールしたディレクトリにアップロードします。

<?php
require('wp-config.php');
header('Content-type: text/plain');
?>
<MTEntries lastn="999999">
Redirect Permanent /archives/<$MTEntryID$>.html http://example.com/archives/<$MTArchiveDate format="%Y/%m/%d"$>/
   <?php echo sanitize_title("<$MTEntryTitle$>"); ?>
</MTEntries>

Movable Type で拡張子を .html ではなく .php、.htm などにしていた場合、その部分を編集してください。

Movable Type のエントリー ID の前にゼロ(0)をつける設定にしていた場合は、"Redirect ..." からを以下のようにします。

Redirect Permanent /archives/<$MTEntryID pad="1"$>.html http://example.com/archives/<$MTArchiveDate format="%Y/%m/%d"$>/
   <?php echo sanitize_title("<$MTEntryTitle$>"); ?>

また、Movable Type で "dirify" オプションを使っていた場合は以下のようにします。

Redirect Permanent /archives/<MTEntryTitle dirify="1">.php 
http://example.com/index.php?s=<$MTEntryTitle encode_url="1"$>

.htaccess と mod_rewrite を使ったリダイレクト

mod_rewrite モジュールを使えば、サーバーによるスムーズな URL の書き換えを行うことができます。mod_rewrite と .htaccess が両方とも使える場合は、以下の内容を含む .htaccess ファイルを作成し、WordPress インストールのルートに置きます。

RewriteEngine on
RewriteRule archives/0*(\d+).html http://example.com/index.php?p=$1
RewriteRule index.rdf http://example.com/index.php?feed=rdf
RewriteRule index.rss http://example.com/index.php?feed=rss
RewriteRule index.xml http://example.com/index.php?feed=rss2

注: これにより、他のサイトで読み込まれる RSS/RDF フィードも正しくリダイレクトされます。

投稿 ID 番号を維持する

投稿 ID の番号を含むパーマリンクを維持したまま移行する方法。

参考:

Movable Type 形式のパーマリンク構造を使う

WordPress でそのまま Movable Type 形式のパーマリンク構造を使うには、以下のリンク先を参考にしてみてください。

参考:


タグのインポート

Movable Type 4 以前のバージョンでは、エクスポートファイルにタグ情報が含まれません。以下の情報を参考にしてみてください。

インデックステンプレートの作成

Movable Type のブログ記事インポートフォーマットページの「Movable Type 4 以前のバージョンからのブログ記事インポート」セクションにあるテンプレートを参考に、インデックステンプレートを作成します。

エクスポート・インポートプログラム の編集

Movable Type 側のエクスポートプログラム(/lib/MT/ImportExport.pm)と WordPress のインポートプログラム(/wp-admin/import/mt.php)に手を加えれば、タグなども含めたエクスポートファイルを扱えます。

参考:

ユーザーの移行体験記

実際に Movable Type から WordPress へ移行した方のブログ記事も参考にしてみてください。

英語の移行体験記も読みたい場合は、Codex 原文をご覧下さい。

最新英語版: WordPress Codex » Importing_from_Movable_Type_to_WordPress最新版との差分