ウェブリブログからWordPressへのお引越しが何とか完了したので、このたびお引越しした際の手順をまとめておこうと思います。
期日まであまり間が無いけど、もしかしたら、まだ誰かの参考になるかもしれませんし⁉
1. ウェブリブログから記事データを取得
エクスポートでMT形式の記事データを取得。コメント、トラックバック、テーマのチェックボックスはとりあえず全部チェックつけて取得しておけばいいかなと思います。コメントは移行しないとか決まってたらチェックなしで。
※記事数が多いと「多すぎます」と言われるので、その場合は「取得範囲」を指定して区切って取得する必要があります。うちも記事の多い期間は3か月分くらいしか取れなくて、結果28ファイルになってしまいました。
2. ウェブリブログから画像を取得
「アップロードファイル一括ダウンロード」で画像を一括でダウンロードできます。数時間から数日かかる場合があるそうなので、早めに申請しといたほうがいいです。
3. 取得した記事データのリンクを置換
MT形式の記事データは普通のテキストファイルなので、エディタで記事のリンクを書き換えます。私はさくらエディタのGREP置換で28ファイル一気に書き換えました。(今回、GREP置換大活躍‼ 正規表現についてはさくらエディタで置換した際の例です。)
(1)ドメイン部分置換
(例)
http://neyan.at.webry.info/201001/article_1.html
↓
https://移行先WordPressドメイン/201001_article_1.html
※httpかhttpsかはSSL化してるかどうかによります。うちの場合はウェブリブログはhttpとhttpsが混在していて、移行先はhttpsだったので、
http://neyan.at.webry.info → https://www.neyan.net/blog
https://neyan.at.webry.info → https://www.neyan.net/blog
の2パターンで置換しました。
(2)記事URL(スラッグ)部分置換
(例)
https://www.neyan.net.blog/201001/article_1.html
↓
https://www.neyan.net.blog/201001-article-1
スラッグ部分は、私は上記のようにしましたが、ここは人によって違うかなと思います。WordPressでのパーマリンク設定は「%postname%」(投稿名)にしています。
私は2段階に分けて、
/article_
↓
-article-
と置換した後、正規表現を使って
(article-[0-9]+)\.html
↓
$1
と置換しました。(.htmlを消してます。)
もし、他に外部へのリンクなどがなければ、2段階目は正規表現を使わず単純に".html"を""に置換するだけでもいけると思います。
逆に、他のウェブリブログへのリンクがある場合は、そこも変わってしまうので、このやり方は使えません。
4. 画像URLの置換
ウェブリブログの画像URLは、
http://userdisk.webry.biglobe.ne.jp/nnn/nnn/nnn/N000/000/nnn/~.jpg
という形になっています。(nnn部分は任意の数字)
一括ダウンロードした画像も「N000/000/nnn」フォルダに分かれてますが、ファイル名は重複してなかったので、移行するにあたり、すべての画像ファイルを1つのフォルダにまとめました。
画像はまとめたフォルダごと、
{wordpressインストールフォルダ}/wp-content/uploads/
配下にアップロードしておきます。
その上で、記事内の画像URLを置換するわけですが、正規表現を使って
http://userdisk.webry.biglobe.ne.jp/.*?/.*?/.*?/N.*?/.*?/.*?/
https://userdisk.webry.biglobe.ne.jp/.*?/.*?/.*?/N.*?/.*?/.*?/
↓
https://www.neyan.net/blog/wp-content/uploads/まとめたフォルダ名/
と置き換えました。
メモ
移行してから確認した際、記事中の画像が表示されず、調べたら記事中で表示されている画像はサムネイルで、元の画像ファイル名に「-thumbnail2」というのがついていたのでした。この「~-thumbnail2.jpg」というファイルはウェブリブログが生成したものなので、一括ダウンロードには含まれず、ファイルが無いために表示されてなかったのでした。
なので、"-thumbnail2"を""にこの段階で置換しておくと良かったなと。私は移行してから気付いたので、WordPressの記事が格納されているテーブル(wp_posts)を直接SQLで修正しました。
5. ウェブリブログオリジナル絵文字を置換
ウェブリブログ独自の絵文字は使えなくなるので、WordPressでも表示できる絵文字に変換します。まぁまぁ近い感じの絵文字に変換しましたが、削除しても問題なさそうな場合は削除した絵文字もあります。
絵文字は、"\{%.*?%\}" 、または"{"で検索してコードごとに類似の絵文字のコードに置換。
twitter絵文字は使えるとのことだったので、「Let's EMOJI」を参考に、絵文字ごとに該当のHEXコードに置き換えました。(これ、一番面倒だったかも)
6. インポート用のプラグインをインストール
WordPressにインポート用のプラグイン(Movable Type・TypePad インポートツール)をインストールしておきます。
プラグインを少し修正する必要があって
~wp-content/plugins/movabletype-importer/movabletype-importer.php
を下記のように修正しました。(あちこち調べてたら、修正しないと上手くいかないようだったので)
※改行関連
455行目(コメント化)
if( !empty($line) )
↓
//if( !empty($line) )
456行目
$line .= “\n”;
↓
$line .= “
”;
※タグ反映
416行目あたりの
} else if ( 0 === strpos($line, 'DATE:') ) {
の上に下記を追加
} else if ( 0 === strpos($line, "TAGS:") ) {
$tags = trim( substr($line, strlen("TAGS:")) );
if ( '' != $tags ) {
$post->post_keywords .= str_replace('"', '', $tags);
}
上記のタグ反映用の修正を入れておくと、エクスポートした記事データのTAGSに設定されている内容がWordPressのタグとして連携されます。
もし、連携したくない場合は上記のタグ反映の修正を入れる必要はありません。このTAGSというのは、ウェブリブログでいうところのテーマが設定されています。
CATEGORYには何も設定されていませんが、ここにカテゴリを入れておくと、WordPressのカテゴリに連携されます。
メモ
うちの場合は5000記事以上もあったので、テキスト上にカテゴリを入れるのはちょっと大変ということで、とりあえずそのままWordPressに入れて、それから考えることにしたのでした。結局カテゴリ分けはそぐわないなということで、タグ運用にしています。(「未分類」というカテゴリは「全ての記事」と名前だけ変更してあります)
7. インポート
上記のプラグインを使って修正済みのエクスポートファイルをインポート。
8. 画像の整備
このままだと、投稿一覧に表示されるサムネイルがすべて「画像なし」になってしまうので、記事内の画像をサムネイルにしてくれるプラグインを使って、画像のある記事についてはセットされるようにしました。この手のプラグインはいろいろあるようですが、私が使ったのは、Auto Featured Imageというものです。
とまぁ、こんな感じで何とかかんとかブログのお引越しができたのでした。
もちろん、データ移行とは別に、デザインやその他プラグイン含め、WordPressの設定も必要です。WordPressについては素人なので結構試行錯誤しましたが、まぁまぁ何とか公開にこぎつけることができて良かったです。