背景

ライブドアブログからWordPressへのデータ移行を依頼されました。

何年か前に実施したことがありました。そのときはFTPを使用できたので、画像ファイルの移行もやりやすかったのですが、今はFTPを利用できないのでちょっと苦戦しました。

そんな苦戦したことをメモします。

考え方

ローカルで検証

基本的なことですが、ローカル環境で検証してから本番環境に適用が必須です。

記事

ライブドアブログは無料でもMovableTypeの形式でエクスポートできます。なので、記事はWordPressにインポートすればよいです。

ただ、1行が長いので、確実にインポートされるようにプラグインのカスタマイズは必要です。

画像

ひと手間かけるのは画像の移行です。

エクスポートファイルから画像のURLを抽出して、ローカルにダウンロードが必要です。

blogパーツはライブドアの資産なので移行できません。

画像のダウンロード

エクスポートファイルから検索で以下を抽出します。

以下はhttpsとしていますが、長いこと書いているブログはhttpの場合もあるので注意が必要です。

https://livedoor.blogimg.jp/ブログID/imgs

抽出したURLの一覧をirvineに食わせます。

https://forest.watch.impress.co.jp/library/software/irvine/

このとき、画像ファイルの階層構造はキープしたままにします。そうすることで、画像URLの置換がやりやすくなります。

あとは、画像の内部リンクを変更します。

インポート後はリンクチェックをかけることが大事です。

記事の内部リンク変更

記事は8桁数字.htmlで表現されます。そのため、以下で検索します。

ちなみに、httpとhttpsの両方で検索することは大事です。

(http|https)://blog.livedoor.jp/avianwing/archives/([0-9]{8}.html)

で、検証環境だったら以下のように置換します。

http://192.168.1.49:8081/archives/$2

たまに日付に対してリンクしている場合があるので、その場合は手で変更するのが早いです。

このパターンがいいかも。検索ワード。

(http|https)://blog.livedoor.jp/avianwing/archives/(.+?.html)

置換後。

http://192.168.1.49:8081/archives/$2