仕事で、LivedoorブログからWordPressへ引っ越し作業を行ないました。
引っ越しの手順と注意点をまとめます。
WordPressへの移行手順
- データのエクスポート(記事、画像)
- 記事データの変換
- WordPressのパーマリンクを設定
- データをアップロード(記事、画像)
① ライブドアブログからデータをエクスポート
記事データのエクスポート
ライブドアブログの管理画面から、
「ブログ設定」→「バックアップ(エクスポート)」をクリックします。
「ブログの書き出し」画面が表示されます。
- カテゴリ:すべてのカテゴリ
- 期間:すべての期間
- コメント/TB:コメントを含める
- 記事:すべてにチェック
- 改行:改行をそのまま出力
- 圧縮:チェックしない
改行を「改行をそのまま出力」にチェックしていることを確認して、「ブログのデータを書きだす」をクリックします。
記事データ「backup.txt」をダウンロードできます。
ブログ画像のダウンロード
Livedoorブログには画像をエクスポートする機能がありません。
別途スクレイピングツールなどで画像を抽出して保存する必要があります。
Macではいい感じのツールが見つからなかったため、pythonでプログラムを書いて、画像を取得しました。

②記事データの文字列を置き換える
記事データ「backup.txt」の文字列を書き換えます。
Sublime Text、Atomなど一括置換の機能がついているテキストエディタを使いましょう。
backup.txtを開いて、ライブドアブログのURLからWordPressのブログになるように文字列を一括置換します。
私はこちらも、Pythonで置き換えちゃいました↓

置き換え箇所1:画像のURL
旧: https://livedoor.blogimg.jp/ライブドアID/imgs/●/●/
新: https://独自ドメイン/wp-content/uploads/images/
●の部分は半角英数字(記号も含む?)1文字で、画像ごとに変わります。
正規表現では[ -~]と検索するとひっかかります。
検索文字列
https://livedoor.blogimg.jp/ライブドアID/imgs/[ -~]/[ -~]/

置き換え箇所2:タグ
旧:TAG
新:TAGS
置き換え箇所3:内部リンク
旧:http://blog.livedoor.jp/ライブドアID/archives/
新:https://独自ドメイン/archives/
置き換え箇所4:記事を下書きにする
もし、記事を下書き状態に変更してアップロードしたい場合は下記のように変更しましょう。
旧:STATUS: Publish
新:STATUS: Draft
③WordPressのパーマリンクを設定
LivedoorブログからWordPressへ自動転送させたい場合、WordPressのパーマリンクをLivedoorブログの記事URLに合わせて設定する必要があります。
(特にパーマリンクにこだわらない場合はこの手順はスキップしてOKです)
旧:http://blog.livedoor.jp/ライブドアID/archives/記事番号の.html
↓
新:https://独自ドメイン/archives/記事番号の.html
とすることで、
「カスタム構造」を選択して、下記のいずれかを設定します。
手動で設定:「/archives/%postname%.html」
数字ベース:「/archives/%post_id%.html」
④WordPressにデータをインポート
画像のアップロード
FTPソフトを使って、画像フォルダをWordPressのサーバーにアップロードします。(ここでは画像をまとめて「images」というフォルダに入れています。)
画像フォルダのアップロード場所
/ドメイン/public_html/wp-content/uploads/
フォルダをアップロードした時点では、管理画面のメディアライブラリに画像が表示されません。「Bulk Media Register」というプラグインを使うと見えるようになります。
記事データのインポート
WordPressに記事データ「backup.txt」を取り込みます。
WordPressの管理画面から「ツール」 → 「インポート」を選択します。
「Movable Type と TypePad」を「今すぐインストール」します。
インストール完了後、 「インポーターの実行」をクリック。
「backup.txt」を選択します。
投稿者の割り当ては任意のユーザー名を入力します。
「実行」を押すとインポートが開始されます。
これで記事のインポートが完了しました。
途中、記事がインポートできない事情が発生しました。
どうやら、文字数が多いとうまくいかない場合があるみたい。
下記記事を参考にして、
プラグイン内の「movabletype-importer.php」102行目
function fgets($fp, $len=8192) {
を
function fgets($fp, $len=8192000) {
に変更して、無事インポートできました。
WordPressブログにお引っ越し完了
以上で、記事がインポートできたら、引っ越し完了です。
最後に、各記事の画像やリンクが表示されているかを確認しましょう。
プラグイン 「Broken Link Checker」を使うと、リンク切れの箇所をお知らせしてくれます。