背景
ライブドアブログから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