MovableTypeからWordPressへ移行する(1) – インストールとインポート

2012年8月14日Web制作・ブログWordPress,プラグイン

WordPress logo

自分的には非常にいまさらな話題になってしまったけれど、WordPressのちょっとしたネタを書きたくても、最初を書いてないとローやセカンドをふっ飛ばして三速発進みたいな気分で気持ち悪いんですよねー。

がくんがくんがくん

それにこの手のを書いておくと後々役に立つこともあるので、自分による自分のための自分記事を自分で書こうと思います。先に書いておきますが、読んでも特に面白くはないと…

インストールから設定、運用まで順を追って細かく書いた記事とも違います。自分がつまずいた点と解決法だけをずらずら書き出しているだけで、文章にもならない自信があります。もし同じことでつまずいた方がひとりでもいたら、ここにたどりついて解決できたらいいよね…という思いを込めて。

インストール、移行の概要

MovableTypeのバージョンは4.271、WordPressは3.3.1。

いろんなところに書いてありますが、インストールは確かに簡単でした。以前使っていたMovableTypeから全記事をインポートして表示させる、だけなら頭を使わないでも数分でできます。だけどそれ以外に、例えばMovable Typeでやっていたこれができないよ? この機能はWordPressには標準じゃないの? など、さまざまな障壁があったので、ひとつひとつ調整していきました。

手順としては、まず確認・テスト用にmkb2というサブドメインを作っていじり、確認が終わったら一気にmkb.salchu.netを書き換える作戦で。

機能とかやり方を検索すると「このプラグインで簡単に」というのもありましたが、function.phpやテンプレート修正で叶うものはできるだけプラグインを入れないスタンスで参りました。何事もプラグイン多くなるとなんかが重くなる。サル知ってる。

またWordPressの場合、テンプレート修正は /wp-content/themes/[templatename] 内のphpファイルをいじるわけですが、それはそのままにして「子テーマ」を作って、必要なテンプレートだけ修正上書きするというワザが使えるんですよね。(子テーマについては下のリンク参照)

これをすると、子テーマに入れたテンプレートのみが上書きされ、cssやfunction.phpはマージされることになります。これを知ったときはすげーって思いました。安易な感想ですまない。

とにかく、WordPressのテーマをいじろうという基本の話には「子テーマ」が出てくるので知っておかないとなりません。元テーマを直でいじってしまうと、テーマのアップデートがあった時に修正したファイルが上書きされちゃうからね。

インストールでの覚え書き

手順的には、サーバのWordPress用のデータベース作成が終わったらWordPress本体をダウンロードしてFTPでアップロード。インストールと、mkb2.salchu.netで表示させるための基本的な設定。そしてMovableTypeからエクスポートしたデータをインポートするという感じで。テンプレートを入れてデザイン決めたりプラグイン入れたりはそのあとね。

インストールについてはWordPress のインストール – WordPress Codex 日本語版を参考にして、特に問題がなかったので割愛。

WordPressのコアファイルをどこに置くか

とりあえずWordPress \| 日本語 » インストールからzipをダウンロード。フォルダ自体をmkb(テストなのでmkb2)にリネームするか、mkb2下にwordpressフォルダを置くか迷ったのだけど結局後者に。でまあこれをアップロード。

WordPressアドレスやサイトアドレスを正しく設定したはずなのに、http://mkb2.salchu.netにアクセスすると真っ白。表示されない…

自分の場合はWordPress本体のあるディレクトリと出力先を別階層にしています。というよりMovableTypeがそうだったから、ドメイン直下にWordPress本体を置いて、出力先は別にして…なんて紆余曲折していたらそうなっちゃっただけなんですけど。

http://ドメイン名/ で運用するのか、http://ドメイン名/blog か、http://サブドメイン.ドメイン名/ か。またコアファイルをどこに置くかによって違うと思うんですが、私の場合はURLがhttps://mkb.salchu.net/でコアファイルはその中。つまりこう。

WordPress アドレス (URL), サイトアドレス (URL)

で、だめだった理由については WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版 にきちんと書いてあります。WordPressのフォルダ=ブログの本体なら不要な作業なのですが、WordPressコアファイルフォルダ内の一階層目にあるindex.phpは出力先「にも」置かなくちゃいけなかったんですね…。

そしたら今度は個別ページの表示がNot Foundにー。

上のサイトに一緒に書いてあるんですけど、同様に.htaccess がmkb2下に無かったため。自分に都合よく説明読むのをすっ飛ばしてやるからなんですけど、どーにもバタバタの始まりになりました。

MovableTypeの記事URLを引き継ぐか否か

ってことで、受け入れ態勢は整ったのでデータをインポートすんべ。ここで悩んだのは、記事URLを引き継ぐか否かということ。URLが同じであれば特にリダイレクトの作業なども要らず、そのまますべてが書き換わるので素敵です。

これはそんなに大した問題ではなく、パーマリンク設定はカスタムで以下のように。

そして記事の投稿時。タイトルを入力した後ですが、私はMovableTypeで更新していた時もpostnameを記事の内容に即した英語ファイル名に書き換えていたので、同様に編集で適切な英数字ファイル名に書き換えます。

投稿の編集 - パーマリンク

もしこれが新規で作ったWordPressだったら、特にhtmlという拡張子にこだわっているわけではないので /%year%/%monthnum%/%postname%/ にしてpostnameを英数字に書き換える形にしたと思います。

WordPressはページを日本語URLにすることができますが、アドレスバーに日本語が並ぶのはどうも嫌いでして(コピペしたりするとエンコードされたURLがやたら長くて美しくないし、そもそも見ばがどうもな…)。拡張子がhtmlだろうがスラッシュで終わろうが、SEO上はどうも関係無さそうだし。

※同様の理由で、「暮らし」「音楽」「梅仕事」など日本語のカテゴリーやタグのスラッグ(表示名)も、ちょっと手数が増えるけれどすべて英数字に書き換えています

MTからエクスポート/WPでインポートまで

とまあいろいろバタつきましたがやっとインポートの段です。

一点、インポートについて気になる記事があったけども…

まず1点は、記事毎のパーマリンクの設定(WordPressでは「スラッグ」と呼ぶ)にMTでいう「出力ファイル名(MTEntryBasename)」が引き継がれないこと。「出力ファイル名」の情報は飛んでしまい、代わりにスラッグには記事のタイトルと同じテキストが設定されます。なので記事のタイトルに日本語が使われているとスラッグにも日本語が入ってしまうわけで・・・、パーマリンクの設定をカスタマイズして%postname%を使用していると、URLはかなりひどいことになります。(WordPressに移行 | Like@Lunatic

これは昔のバージョンの話だったんでしょうかね。ままインポートしても、postnameはちゃんと引き継がれました。

Movable Type and TypePad Importerをインストールして、MovableType形式でエクスポートした記事をインポート。…あれー、タグが引き継がれない。そして記事ごとに設定していたキーワードがタグになっちゃったよ。

Movable Type and TypePad Importer(クリックで拡大)

ぎゃーやめてー。こんなことしたらタグクラウドが大変なことに。違うのだ、キーワードは単なる検索対策であって別に見せたいわけじゃないのだ…

知らなかったんですけど、WordPressってそのままだと投稿画面のキーワード設定とか、テンプレートのMETA descriptionやらkeywordsやらの記述が無いんですよね。迷った挙句、キーワード設定はさっくりやめました。最低限、descriptionはテンプレートに個別ページやカテゴリページで条件分岐して記述すればいいかなと。

なのでせめて、タグはタグとして出力して欲しい。これについては小粋空間さんに書いてありました。

WordPress 3.0にMovable Typeの記事をインポートするには、「Movable Type and TypePad Importer」というプラグインを利用しますが、このプラグインでは次の機能しか提供されていません。

  • Movable TypeのキーワードフィールドをWordPressの記事のタグとしてインポート
  • Movable Typeのタグフィールドはインポート対象外

理由は、MTの途中のバージョンから、インポートフォーマットに「TAGS」というタグを示すフィールドが追加(タグ自体も途中のバージョンから追加)され、「Movable Type and TypePad Importer」プラグインがその仕様に追従していないためと思われます。

本エントリーのカスタマイズを行えば、次のようにMovable Typeのインポート形式のフォーマットに設定されたタグ(青色部分)を、WordPressにインポートすることができます。

小粋空間: WordPress 3.0にMovable Typeのタグをインポートする

ということで、小粋空間の記事 WordPress 3.0にMovable Typeのタグをインポートする に書いてあるカスタマイズを施してからインポート。はぶふぁん!言われました。どうも。

つづく!