WordPress内の特定文字列をMySQLのREPLACEで一括置換する方法

WordPressで、例えば移転したブログのURLなど、あっちこっちのページに散在している特定の文字列をすべて、いっぺんに書き替えたい(一括置換したい)という場合の方法です。MySQLのREPLACEコマンドを使います。

WordPressで、例えば移転したブログのURLなど、あっちこっちのページに散在している特定の文字列をすべて、いっぺんに書き替えたい(一括置換したい)という場合の方法です。

MySQLのREPLACEコマンドを使います。

REPLACE(対象となる文字列, '変更前の文字列', '変更後の文字列');

参考URL:MySQL :: MySQL 5.7 Reference Manual :: 13.2.8 REPLACE Syntax

記事本文内の置換

ページ本文の中の次のような状態のHTMLで、example.comを、newurl.net に変更したいとします。

URLは<a href="http://example.com/">http://example.com/</a>です。

<a>タグのhrefも含めてすべて一括置換するには

UPDATE wp_posts SET post_content = REPLACE(post_content, 'example\.com', 'newurl\.net');

とします。これだけで、すべてのページのURLを一瞬ですべて変更出来ます。注意点は3つです。

ドット . の前には\をつける。
この時、 . ドットは \ でエスケープしますが、わからなければそのまま、example.comでも大抵は問題ありません。(バックスラッシュの \ はキーボードひらがなの「ろ」にありますが、「Back Space」キーの左の円通貨記号を押しても同じです。というか、文字コードが同じなのでどちらを押しても円記号になってしまう)

この時の . ドットは、バックスラッシュ \ がない場合は何か一文字という意味で、comの前やnetの前の何か一文字を意味します。なので example.com ではなく example1comやexampledcomなどという文字列が偶然あれば、それもnewurl.netに変換してしまいます。

置換前文字列と置換後文字列は ‘ シングルクォートで囲む。
シングルクォート ‘ ではなく、ダブルクォート ” でもいいのですが、HTMLのタグの中にダブルクォートがたくさんあるので、シングルクォートの方が混乱しないかと思い、シングルクォートでと書いています。

上記の例の場合囲むのは ‘example\.com’ と ‘newurl\.net’ の2つです。

テーブル接頭辞の確認

phpMyAdmin

また、wp_postsはテーブルの名前ですが、「データベースが1つだけのサーバーでWordPressを複数設置する方法」のような理由で、テーブル接頭辞をつけている場合には、それに合わせます。どんな接頭辞をつけたかは、phpMyAdminの左側を探せばわかります。

phpMyAdminを使う場合、具体的には、下の図の赤枠にある「SQL」をクリックして、開いたページの入力欄に打ち込むか貼り付けます。

phpMyAdmin

入力欄の右下にある「実行」ボタンを押して、問題がなければ「何行変更しました」と表示されて完了です。

phpMyAdmin

コメント欄の文字列一括置換

コメント本文の特定文字列を置換するには次のようにします。

UPDATE wp_comments SET comment_content = REPLACE(comment_content, 'hoge\.com', 'fuga\.net');

Before
コメント置換

After
コメント置換

また、コメント本文ではなく、コメント送信者のURLを変更するには次のようにします。コメント本文では対象カラムがcomment_contentでしたが、送信者URLの場合は comment_author_url になります。

UPDATE wp_comments SET comment_author_url = REPLACE(comment_author_url, 'hoge\.com', 'fuga\.net');

通常、投稿者URLは個別ページのURLではなく、トップページのURLで固定です。その場合、次のやり方の方が正統派ですが、この例ではどちらでも同じ結果になります。SQLを知らない場合は、上の例でやってください。

UPDATE wp_comments SET comment_author_url = 'http://fuga.net/' WHERE comment_author_url = 'http://hoge.com/';

置換(置き換え)ではなく、特定文字列を削除したい

hoge.comをすべて削除するなら、最後の「置換後文字列」のシングルクォート(ダブルクォートでもよい)の中に何も入れず空にします。

コメント中のhoge.comをすべて削除する場合

UPDATE wp_comments SET comment_content = REPLACE(comment_content, 'hoge\.com', '');

データベースが1つだけのサーバーでWordPressを複数設置する方法

ロリポップのロリポプランは格安で独自ドメインを50個まで使えますが、MySQLが1個しか使えません。では、独自ドメインがたくさん使えるのにブログはひとつしか作れないのかというとそうではなく、データベースのMySQLが1個しか使えなくてもWordPressを複数設置する方法はあります。

WordPressはデータベースにMySQLを使っているので、基本的に1つのWordPressを設置するごとにMySQLがひとつ必要になります。

お断り:このブログはMySQLが無制限に使えるバリューサーバーのスタンダードプランを使っています。ロリポップではありません。

たとえば、ロリポップ!のロリポプランは格安でドメインを50個まで使えますが、MySQLが1個しか使えません。では、ドメインがたくさん使えるのにブログはひとつしか作れないのかというとそうではなく、データベースのMySQLが1個しか使えなくてもWordPressを複数設置する方法はあります。

ひとつはマルチサイトにしてしまうことです。WordPressのインストール後にもマルチサイトへの設定変更はできます。ただし、マルチサイトではベースとなるドメインはひとつしか使えません。

マルチサイトの構成例

サブディレクトリ方式
  • http://example.com/山本のブログ/ <- ここで1ブログ
  • http://example.com/田中のブログ/ <- ここで1ブログ
サブドメイン方式
  • http://山本.example.com<- これで1ブログ
  • http://田中.example.com<- これで1ブログ

この例の場合、サブディレクトリ方式にせよ、サブドメイン方式にせよ、使えるドメインはexample.comのひとつだけです。

そうではなく、完全に別ドメインの hoge.comfuga.net の2つのWordPressサイトをひとつのデータベースで作るには、wp-config.php の $table_prefix を変更すれば出来ます。また、そのやり方で上のマルチサイトと同じ構成にも出来ます。

このページでは、マルチサイトの設定方法は説明しませんが、複数のWordPressをひとつのデータベースで設置する方法をロリポップを例にして書きます。

完全な別ドメインのWordPressサイトをひとつのデータベースで作る

wp-config.php の $table_prefix を変更してインストールするには、ロリポップの「簡単インストール」は使えません。

手動でWordPressをインストールする必要がありますが、そのやり方はロリポップ公式サイトのマニュアル「WordPress(ワードプレス)の設置」に書いてあります。

基本は上記ページの手順にしたがって、手動でインストールすればいいだけです。この時に wp-config.php の $table_prefix を変更します。

追記:
ロリポップの「簡単インストール」マニュアルに「WordPress(ワードプレス)複数インストール」というページが増えています。マニュアルページには「テーブル接頭辞」の設定をする項目がないのですが、自動で「テーブル接頭辞」を変えてくれるのであれば、ひとつのデータベースでも複数インストール出来ると思います。もし、できないのであれば今ご覧のこのページの通りにすればできます。

ロリポップを例にした複数ブログインストール方法

以下、ロリポップのマニュアルが古い部分と追加する手順だけをピックアップして書きます。

データベース作成
これは、ロリポップのマニュアル通りに行ないます。
アーカイブの入手
これも、ロリポップのマニュアル通りですが、2015年5月5日時点のWordPress最新バージョンは4.2.1です。
ファイルのアップロード
これも、ロリポップのマニュアル通りに行ないますが、アクセスして欲しいページが http://example.com/wordpress/ ではなく http://example.com/ であるなら wordpressという名前のフォルダは作らないでいいです。

wordpressというフォルダを作らないので、アップロード先は /wordpress ではなく / (スラッシュのみ)になります。

ただ、トップディレクトリに色々たくさん置きたくないという場合は、/wordpress など(名前は何でもいい)のディレクトリを作ってそこにまとめ、アクセスだけ http://example.com/wordpress/ ではなく、 http://example.com/ にする設定方法もあり、このブログはそうしています。その方法は、次のページを参考にしてください。

WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版

インストール
インストールを次の通りに実行します。

Webブラウザで、自分のWordPressを設置したURLを開きます。
/ (スラッシュのみ)にアップロードしたなら http://example.com/ などの自分が公開するURLです。

するとブラウザで次のページが開きます。

WordPressのインストール画面

一番下の「さあ、始めましょう!」をクリック。

切り替わった次のページで、上記4つには自分が作成したデータベースの情報を入力します。

WordPressのインストール画面

そして最後の「テーブル接頭辞」をブログごとに書き替えます。

これは重複しなければ何でもいいのですが、たとえば http://hoge.com/ と http://fuga.net/ の2つのWordPressサイトを作りたいなら、 http://hoge.com/ の「テーブル接頭辞」を「hoge_」、 http://fuga.net/ の「テーブル接頭辞」を「fuga_」などとします。

データベース情報とテーブル接頭辞を入力したら、「送信」をクリック。

問題がなければ次の画面に変わります。

WordPressのインストール画面

「インストール実行」をクリック。

WordPressのインストール画面

「必要情報」を入力します。

この時のパスワードはデータベースのパスワードとは違う、WordPressにログインするためのパスワードを新たに作ります。パスワードを作る際はなるべく強力なものにします。

参考:gmailのパスワードは記号も使って複雑にした方がいいと思う話。WordPressもね

すべて入力が終わったら「WordPressをインストール」をクリック。

成功すれば次の画面に変わります。後は「ログイン」を押せばWordPressにログイン出来ます。

WordPressのインストール成功

その後、インストールしたファイルの「パーミッション変更」を忘れずに実行します。ロリポップの場合は次のとおりです。

./wp-config.php → 400
./wp-admin/install.php → 000

これでWordPressをひとつインストール出来ました。2つ目以降のインストールの際は、すでに済んでいる「データベース作成」と「アーカイブの入手」を飛ばし、「ファイルのアップロード」から始めます。そして「テーブル接頭辞」を違うものにしてインストールします。

インストールしたWordPressに、他のブログからデータをインポートする場合は、次のページを参考にしてください。

無料ブログからWordPressへデータを移動する手順

ちなみにですが、「テーブル接頭辞」を「hoge_」 と「fuga_」にして2つのWordPressをインストールした場合、MySQLの中では次のように、それぞれのブログ用に接頭辞で区別されたテーブルが作成されます。

mysql> show tables;
+-------------------------+
| Tables_in_wordpress     |
+-------------------------+
| fuga_commentmeta        |
| fuga_comments           |
| fuga_links              |
| fuga_options            |
| fuga_postmeta           |
| fuga_posts              |
| fuga_term_relationships |
| fuga_term_taxonomy      |
| fuga_terms              |
| fuga_usermeta           |
| fuga_users              |
| hoge_commentmeta        |
| hoge_comments           |
| hoge_links              |
| hoge_options            |
| hoge_postmeta           |
| hoge_posts              |
| hoge_term_relationships |
| hoge_term_taxonomy      |
| hoge_terms              |
| hoge_usermeta           |
| hoge_users              |
+-------------------------+
22 rows in set (0.00 sec)

参考:
wp-config.php の編集 – WordPress Codex 日本語版内の「$table_prefix : データベース・テーブル名の接頭辞

WordPress “Custom Permalinks”で引っ越したブログのURLを維持する

移転前のURLを元のブログから読み込んで、インポートした移転先ページのURLパスを同じように書き替える方法です。WordPressにはCustom Permalinksというプラグインがあって、これを使うとすべてのURLを自由に変更できます。ただ、その場合問題となるのが修正URLの入力です。1ページ毎に入力してURLを直していたんではキリがありません。そこでそれを一気に自動入力してくれるプラグインを作ってみました。

このスクリプトはPHPのバージョンが5.3以上でないと動きません。近々修正します。

WordPressにはCustom Permalinksというプラグインがあって、これを使うとすべてのURLを自由に変更できます。

もちろんドメインは変更できませんが、ドメイン以降のURLは自由に変えられます。

Custom Permalinksの設定は投稿の編集画面で出来ます。Custom Permalinksの設定画面

ただし、複数のページで同じURLを登録できてしまうという欠点もあります。注意すれば問題ないのですが、この世に同じURLのページは複数存在しないのが鉄の掟。同じURLを複数登録すれば、当然正しく表示されません。

このCustom Permalinksを使えば、引っ越した先のWordPressで、引越し前のブログと同じパスを維持できます。

ただ、その場合問題となるのが修正URLの入力です。1ページ毎に入力してURLを直していたんではキリがありません。

という事で、移転前のURLを元のブログから読み込んで、インポートした移転先ページのURLを書き替えるプラグインを作ってみました。

old permalinks keeper

自作プラグインの名前は、old permalinks keeper としました。

このプラグインは、インポートしたページのURLを読み込んでCustom Permalinksに登録するだけのプラグインです。登録後、old permalinks keeperは削除して構いませんが、Custom Permalinksを無効にするとURLは変更前に戻ってしまいます。

ダウンロード: old permalinks keeper

old permalinks keeperの使い方

old permalinks keeperを使う前に必ずCustom Permalinksをインストールして、有効化してください。

Custom Permalinksはプラグインの検索からインストールできます。
Custom Permalinks

old permalinks keeperの方は、検索しても出て来ません。ここからダウンロードして、圧縮されているファイルをローカルで展開します。

展開した状態で、フォルダごとまとめて”wp-content/plugins”にFTPでアップロードしてください。

アップロードが終わればプラグイン一覧に”old permalinks keeper”の名前があるので有効化します。

有効化できるとサイドバーの「設定」の中に「インポートページのURLを設定」という項目が増えていますので、そこへ移動してください。

opk2

移動すると次のように表示されます。

opk3

旧サイトのURL」には移転前のブログのトップページURLを入力してください。
例)http://www.example.com/ (一番最後のスラッシュはあってもなくても対応します)

記事一覧ページ最後のURL」は、トップページからたどれる記事一覧の最後のURLです。
例)http://www.example.com/index-123.html (省略せずに全部書く)

Seesaa Blog だと、http://xxx.seesaa.net/index-10000.html のように「そんなにたくさんないし」という位大きな数字を入れると自動で最後のページに飛びます。ただしブラウザのアドレスバーの表示は http://xxx.seesaa.net/index-10000.html のままなので、一歩進んで一歩下がるようなカンジでアドレスバーを変更させて、URLを取得してください。

まだトップページだけで収まっているページ数の場合は「記事一覧ページ最後のURL」は空欄にします。

個別ページURLの末尾から削除」は、URLがたとえば .html で終わっているけど、それいらないという時に書きこんでください。書き込んだ文字列と同じ末尾だった場合、それが削除されます。消したいものがない場合は空欄にします。

個別ページへのリンク識別タグ」は、記事一覧ページの中で、どこが個別ページへのリンクなのかを識別するために必要です。通常、記事一覧ページで各記事のタイトルをクリックすれば、そのページに移動するリンクになっています。そのタイトルリンクの開始タグをそのまま書きこんでください。

次のようなソースなら、<h1 class=”entry-title”> と書き込みます。
<h1 class=”entry-title”><a class=”new_link” href=”http://xxx.seesaa.net/article/xxxxx.html” rel=”bookmark”>かぎ針編みの湯たんぽカバー</a></h1>

入力が終わったら「送信」ボタンを押します。

送信ボタンを押すと、次のような表示に変わります。

opk4

この例では、現在のURL archives/2540 が article/301807656 に変更されます。移転前のURLが article/301807656.html なので、そこから .html を削除した形です。この .html は前のページで「個別ページURLの末尾から削除」の項目に書きこまなければ削除されません。

もし、同じタイトルのページが複数あった場合には次のように表示されます。そのページはURL変更の対象から外れますので、あとから個別に訂正してください。

opk5

また、公開していない下書きページのURLは取得できないので変更されません。必要ならプラグインを使う前に移転前のブログの下書き記事を公開するか、後から手動でURLを修正してください。

確認したら「送信」ボタンを押してください。次のように表示されて終了です。

opk6

最初に書いた通り、old permalinks keeperは削除して構いませんが、Custom Permalinksを無効にするとURLは変更前に戻ってしまうので注意してください。

MT形式からWordPressへ移行した際に画像をインポートするプラグイン

多くの無料ブログでつかっているMovable Type(MT)から引っ越す場合は画像ファイルまでは移動してくれません。そこで、MT形式からWordPressへ移行した際に画像をインポートするプラグインを作ってみました。英語がわからないのでネイティブに通じる名前なのかわかりませんが「Images importer from URL」という名前のプラグインです。ダウンロード:Images importer from URL 使い方

WordPressから他のWordPressに移行するツールでは、画像ファイルも同時に移動できます。でも多くの無料ブログで使っているMovable Type(MT)から引っ越す場合は画像ファイルまでは移動してくれません。

そこで、MT形式からWordPressへ移行した際に画像をインポートするプラグインを作ってみました。

Images importer from URL

英語がわからないのでネイティブに通じる名前なのかわかりませんが「Images importer from URL」という名前のプラグインです。

ダウンロード:Images importer from URL

Images importer from URLがやること

このプラグインがインポートするのは画像だけです。ページの内容そのものは無料ブログからWordPressへデータを移動する手順を参考に移行してください。

移動したページの中ではインポート元となるブログの画像に、imgタグでリンクが張られています。そこで、Images importer from URLは次の動作をします。ユーザーが操作するのは赤い行の2点です。

  1. インポート元となる旧ブログのURLを入力
  2. imgタグのsrc属性で移行前のブログのURLから始まっているものと、/ から始まっているものをすべて抽出
  3. / から始まっている場合は、WordPress内にファイルがあるかを調べる。
  4. WordPressにファイルがない場合と、移行前のブログのURLで始まっている全ての画像ファイルにリンク切れがないか調べる
  5. リンク切れのない、移行前のブログにある画像一覧を表示
  6. スタートボタンで画像一覧をWordPressにインポート
  7. 各ページの画像URLをインポートした画像URLに自動で置換

使い方

Images importer from URLを使う前にページは全てインポートしておいてください。

関連記事:無料ブログからWordPressへデータを移動する手順

次にImages importer from URLをダウンロードします。

ダウンロード:Images importer from URL

ダウンロードしたファイルは .zip形式で圧縮されています。それをWordPressにアップロードする前に解凍してください。

フォルダの中身は次のとおりです。

  • css.php
  • form.php
  • import.php
  • properties.php
  • images_importer_from_url.php
  • js.php
  • xml_http_request_server.php
  • img/
    • pleasewait.gif
  • languages/
    • images_importer_from_url-ja.mo
    • images_importer_from_url-ja.po

アップロードと有効化

解凍したファイルをフォルダごと全部、インポート先のWordPressの “wp-content/plugins/” に、FTPでアップロードしてください。

2014年12月8日追記)上記はすでに訂正しましたが、先ほどまでアップロード先を間違えて “wp-content/uploads/” と書いていました。正しくは “wp-content/plugins/” です。書き間違いすみませんでした。

ファイルをフォルダから出して、wp-content/plugins/ に直接入れるのはやめましょう。他のプラグインも含め、すべてのファイルをフォルダに入れず wp-content/plugins/ に全部直接入れた場合、どれかのプラグインに全く同じ名前のファイルがあったらファイルのアップロードで上書きされてしまい確実に壊れます。

アップロード後の場所は “wp-content/plugins/images_importer_from_url” となります。

正しく配置されていれば、「インストール済みプラグイン」の一覧に「Images importer from URL」があります。

インストール済みプラグインへ

説明が「インポートしたページの画像ファイルを抽出して、”wp-content/uploads/” に保存し、画像リンクを差し替えます。MT2形式の旧ブログからWordPressに移行した際にお使いください。」となっているのがImages importer from URLです。

インストール済みプラグイン一覧

Images importer from URLを見つけたら「有効化」という文字をクリックします。クリックして表示が「停止」に変わったら、有効化に成功しています。

プラグインを有効に

有効化出来るとダッシュボードのサイドバーの設定に「URLから画像をインポート」という項目が増えています。その「URLから画像をインポート」をクリックすると画像をインポートするページヘ移動します。

URLから画像をインポート

画像のインポートとURLの置換

画像のインポート画面に移動すると次のようになっているので送信ボタンの左に、エクスポートした移転前のブログのトップページのURLを正確に入力してください。


http://hoge.example.com/
http://hoge.example.com  (最後のスラッシュはあってもなくてもどちらでも構いません)

インポートする画面

何度試しても次の画面が表示される場合は、このプラグインがお使いのサーバーでは使えない可能性があります。その場合は、あきらめてください。

エラーの場合は

旧ブログのトップページのURLを入力したら「送信」ボタンを押してください。すると次のように旧ブログに現存する画像の一覧が表示されます。

2014年12月8日追記

Seesaaブログの場合は、画像ファイルのURLが違うようです。そのため正しいURLを入力しても「旧ドメインの画像URLは見つかりませんでした。」と表示されてしまうという事が判明しました。

もし正しいURLを入力しても「旧ドメインの画像URLは見つかりませんでした。」と表示されてしまう場合は、ブログのURLではなく、画像ファイルの置かれているURLを入力してください。

Seesaaブログの場合
ブログのURLが http://xxxxx.seesaa.net/ ですと
画像のURLは http://xxxxx.up.seesaa.net/ という風に seesaa.net の前に up. というのが追加されるようです。

もしかしたら、これはSeesaaブログに限らず、ご使用されているブログによっては起こることかもしれませんので、その場合は、画像の置かれている基準となるURLを調べて入力してください。

追記)コメント欄で情報をいただきました。「はてなブログ」の場合の画像URLは
http://cdn-ak.f.st-hatena.com/images/fotolife/m/※はてなID
となるそうです。情報有難うございます。

追記)アメブロからも移行できたというコメントをいただきました。

アメブロにはエクスポート機能はありませんが、本文の移行はつぎの記事の要領で出来るみたいです。「アメブロからWordPressへの移転方法(記事エクスポート編)

それでも、画像の移転はできないのですが、当ページのプラグインで次のようにURLを打ち込んで画像をインポートされたようです。以下、頂いたコメントです。

アメブロは画像フォルダを右クリックし、プロパティを出します。
そこに表示されてるアドレス(URL)のコピペで移行できました。
全部選択すると移行できないので、ユーザー名までとか、日付までとか、色々ためしてみてください。

iifu6

問題がなければ「スタート」ボタンを押してください。画像がたくさん表示されるのを想定して「スタート」ボタンはページの上と下についていますが、どちらを押しても同じです。

「スタート」ボタンを押すと、次のようにインポートが終わったものから背景がクリーム色に変わっていきます。その際、画像の横に表示されているURLが旧URLから移行後の新URLに変更されます。おそらく100個ほどの画像なら1分かからずにインポートが終わると思います。

インポートの途中

この時、インポートに失敗した画像はクリーム色の背景ではなく、ピンク色の背景になります。

クリーム色になったものはインポートが成功しているので、新しいWordPressのブログの中に画像があります。それらはクリーム色になった時点でページの中の画像URLも新しい画像のものへ書き替えられています。

ですから、URLを入れるところからもう一度やり直すと失敗した画像だけを再取得する事になります。ピンク色の背景になった画像があった時は、URLの入力からもう一度試してください。

すべての画像のインポートが終わると画面のいちばん下に次のように終了した旨が青い文字で表示されます。

インポート完了

インポートが成功していれば、各ページの画像URLはインポートした画像のURLに書き替えられています。

インポートした画像は メディア » ライブラリ で確認できます。ただし(タイトルなし)となっているので、必要なら編集してください。

メディアライブラリ

インポートが終われば、このプラグインは必要ありません。プラグインを停止してから、削除してください。

無料ブログからWordPressへデータを移動する手順

無料ブログの多くは、Movable Typeを使っているのでWordPressへの引越しは簡単に出来ます。今回はSeesaa Blogを例に方法を説明しますが、他のブログでも同じように出来ると思います。この方法はWordPressにすでにコンテンツのある場合でも使えます。元からあるページはそのままでインポートしたページが追加される形です。以下の手順で、MT形式からWordPressに移行するツールを使えば、複数のブログをひとつにまとめる事も出来ます。関連記事:MT形式からWordPressへ移行した際に画像をインポートするプラグイン

無料ブログの多くは、Movable Typeを使っているのでWordPressへの引越しは簡単に出来ます。今回はSeesaa Blogを例に方法を説明しますが、他のブログでも同じように出来ると思います。

この方法はWordPressにすでにコンテンツのある場合でも使えます。元からあるページはそのままで、そこに引っ越したページが追加される形です。ですから、以下の手順でMT形式からWordPressに移行すれば、複数のブログをひとつにまとめる事も出来ます。

関連記事:MT形式からWordPressへ移行した際に画像をインポートするプラグイン

無料ブログからWordPressへの引越し方法

データの出力をエクスポート、入力をインポートといいます。Movable Type形式の無料ブログからWordPressへ移行するためには、次の2つの手順が必要です。

  1. 無料ブログをMovable Type形式でエクスポートして、ファイルに保存
  2. 保存したファイルをWordPressにインポート

Seesaa BlogやFC2ブログなど多くの無料ブログでは、標準でエクスポート機能が使えます。ただし、ライブドアブログの無料版ではエクスポート機能は使えません。ライブドアからWordPressへ移行する場合は1ヵ月だけ有料契約する必要があります。

Seesaa BlogからWordPressへの移行手順

Seesaa Blogでの作業(エクスポート)

まず、管理画面の「設定」ページで「その他」にあるエクスポートをクリックします。(その右横に「お引越し機能」というボタンがありますが、これはよそのブログからSeesaaへ引っ越す時のボタンです)

管理画面でエクスポートをクリック

開いた画面では次のようになっています。WordPressへ引っ越す場合、ここで「文字コード」はUTF-8を選びます。「取得範囲」と「コメント/トラックバック/タグ」はお好みで選択してください。

Seesaa Blogの設定画面

「エクスポート」ボタンをクリックするとファイルが自動でダウンロードされます。ページの量によりますが、ダウンロードにかかる時間はおそらく一瞬だと思います。

ダウンロードされたファイルはmtarchive-xxxx-20yy-mm-20yy-mm.logというようにmtarchive(MTアーカイブ)で始まる名前です。

Seesaa Blog側での作業はこれで完了です。あとはダウンロードしたファイルをWordPressへインポートします。

WordPressでの作業(インポート)

Movable Type(MT)形式のデータをWordPressにインポートするツールは無料で用意されています。

WordPressのダッシュボードで ツール » インポートと進みます。

WordPress管理画面

「インポート」ページの項目に「Movable Type と TypePad」というリンクがあるのでクリックします。

Movable Type and TypePadをクリック

次のようなウインドウが開いたら右下の「いますぐインストール」ボタンを押します。上の方に「注意: このプラグインは現在使用している WordPress のバージョンではテストされていません。」と書いてありますが、2014年8月時点のWordPress(バージョン3.9)では問題なく動きました。

いますぐインストールをクリック

画面が変わったら「プラグインを有効化してインポートツールを実行」というリンクをクリックします。インストールしようとしているのはプラグインです。インポート後に削除したいなら、プラグインページで「Movable Type and TypePad Importer」という名前を探して削除します。

プラグインを有効化してインポートツールを実行

「Import Movable Type or TypePad」という画面に変わったら「ファイルを選択」ボタンを押します。この時「ファイルをアップロードしてインポート」というボタンは薄くなっていて、押すことが出来ません。

ファイルを選択ボタンを押す

使っているOSによって画面は違いますが、ファイル選択画面になるので、先程エクスポートしたmtarchiveで始まるファイルを選択します。選択が済むと、色が薄くて押せなかった「ファイルをアップロードしてインポート」というボタンが押せるようになるのでクリックします。

ファイルをアップロードしてインポートをクリック

Assign Authors」というページに変わるので、インポートするページの作者の名前を選びます。初期値ではエクスポート元のブログでの名前が表示されています。もし新しいブログで別の名前を使っているのなら、その下の「or map to existing」の右のSelectでWordPressに登録されている名前が選べるので、それを選びます。

名前を選択

下の図の場合、ページ作者の名前は「Tom」でインポートされます。ここが「Tom」ではなく「Select」のままだと、その上に表示されている、昔の名前「えったん」でインポートされます。

ウソです。えったんがWordPressのユーザーにいない場合、えったんは無視され登録してあるユーザーの名前で登録されます。登録ユーザーが複数いる場合、おそらくauthor IDが1のユーザーになるのではないかと思います。

昔の名前えったん

名前を設定したら「Submit」ボタンを押します。

するとすぐに画面が変わり、インポートしたページタイトル一覧が表示されています。その一覧の一番最後に「All done. Have fun!」と表示されていたら、インポートは成功です。

All done. Have fun!

先ほど書いたように、インポートツールはプラグインです。インポートが終わって削除したいなら、プラグインページで「Movable Type and TypePad Importer」という名前を見つけて削除します。

注意!MTからWordPressへの移行ツールでは画像ファイルは移動されません

実際にやってみると、あっという間に移行は終わります。ただ、ひとつだけ問題があります。画像は移行してくれないようです。

移行後にインポートしたページを見ると普通に表示されていますが、画像ファイルは元のブログにあるままです。このままでも画像は表示されていますが、元のブログを削除すると画像もなくなってしまうので表示されなくなります。

そこで、MT形式からWordPressへ移行した際に画像をインポートするプラグインを作ってみましたのでご利用ください。

MT形式からWordPressへ移行した際に画像をインポートするプラグインのページヘ移動する。