【番外編】SeesaaブログからWordPressに移行した話

釣りとは関係ない話で恐縮です(・_・)
この釣行記、ついこの前までSeesaaブログを使用していました。しかし表示が遅いのと広告がウザいので、思い切ってWordPressに移行しました。
その顛末をまとめておこうと思います。誰かの役に立てば良いのですが。
念の為に書いておきますが、自己責任でお願いしますね。

さて、今回移行した内容ですが
Seesaaブログ(独自ドメイン)からWordPress(別の独自ドメイン)への移行
です。

具体的には
https://blog.k04.net(中身はSeesaa)

https://fishing.k04.net(WordPress)
に移行しました。

元のブログは残しておきたかったので、敢えてURLを変えました。URLを変えない方法もありますが、元ブログにリダイレクトを仕込む以外は今回の内容と同じだと思います。

移行は以下の手順で行いました。

(1) Seesaaブログをエクスポート
(2) エクスポートしたファイルから画像のURLを抽出
(3) 画像ファイルを収集、新サーバにアップロード
(4) エクスポートファイルの画像URLを書き換えて新環境にインポート

画像URLの抽出と画像ファイルの収集はPythonを使用しました。
ちなみに使用した環境は
Mac OSX 10.10.5
Python3.4
です。

では順に説明します。

(1) Seesaaブログをエクスポート

これは難しことはないですね。
Seesaaブログの「設定」→「エクスポート」と進み、文字コードは「UTF-8」を選択。
期間は全期間、コメント、トラックバック、タグはお好みで良いと思います。
で、「エクスポート」をクリックするとファイルがダウンロードできます。

(2) エクスポートしたファイルから画像のURLを抽出

エクスポートしたファイル内の画像URLは、当たり前ですがSeesaaのURLが記述されています。
Seesaaには残念ながら画像を一括でダウンロードする仕組みは無いようですので、自前で作りました。
(画像数が少なければブラウザでこつこつと保存しても良いかもしれませんが…)

画像URLは
https://username.up.seesaa.net/image/aaaaa.jpg
という形式でしたので、正規表現を使ってこれを取ってきます。
拡張子は「jpg」「JPG」「png」「PNG」のみでした。他にある場合は適当に追加してください。

以下のスクリプトで、デスクトップに画像のURLのみがリストアップされた「log.txt」というファイルを吐き出します。多分。

import sys, re
fw = open('/Users/(ユーザ名)/Desktop/log.txt', 'w')
p = r"https://uno904(.*?)(jpg|JPG|png|PNG)"
f = open('(エクスポートファイル名)')
for x in f:
iterator = re.finditer(p ,x)
for match in iterator: fw.write(match.group()+"\n")
f.close()
fw.close()

とりあえず書いただけなので、エラー処理とかは入れていません…

(3) 画像ファイルを収集、新サーバにアップロード

吐き出された「log.txt」に画像URLがリストされていますので、順次アクセスして画像を取得します。
デスクトップの「image」ディレクトリに画像を保存します。ディレクトリ名は適当に変えてくださいね。

#coding:utf-8
import sys
import urllib2
output = "/Users/(ユーザ名)/Desktop/image/"
f = open("/Users/(ユーザ名)/Desktop/log.txt")
for x in f:
x = x.replace('\r', '')
x = x.replace('\n', '')
print x
i = urllib2.urlopen(x)
filename = x.split('/')[-1]
saveData = open(output + filename, 'wb');
saveData.write(i.read());
saveData.close()
f.close()

いま読むと「\r」を削除する必要は無い気がしますが、まぁご愛嬌です。
(たぶん要りません)

さて、これを実行するとデスクトップの「image」ディレクトリに画像が保存されているはずです。
その画像を新環境のWordPressにアップロードするわけですが、その前にWordPressの設定を変えます。

WordPressの「設定」→「メディア」で
「アップロードしたファイルを年月ベースのフォルダに整理」
のチェックを外します。
その後に画像をアップロードします。

アップロード方法は、WordPressの「メディア」から新規追加しても良いですし、FTPで直接アップロードしても良いらしいです。
僕は「メディア」で新規追加しました。ファイル数が多くて少し大変でしたが。

(4) エクスポートファイルの画像URLを書き換えて新環境にインポート

エクスポートファイル内の画像URL
https://username.up.seesaa.net/image/aaaaa.jpg

/img/aaaaa.jpg
に変更します。
これはお使いのテキストエディタで簡単に置換できると思います。

一点注意するのは、拡張子の大文字/小文字です。
元の画像の拡張子が大文字でも、WordPressのメディアでアップすると小文字に変更されるようです。
しかもWebサーバによっては画像URLの大文字小文字の区別をしますので、食い違いがあると画像が表示されない事態になります。
なので「.PNG」なども「.png」等に変更する必要があります。

それと、WordPressは連続の改行が反映されないので「brBrbr」というプラグインを入れました。
brBRbr

さて、これでようやくインポートできます。
WordPressの「ツール」→「インポート」で「Movable Type と TypePad」を選び、編集したエクスポートファイルをアップロードしてください。
(無かったらツールを検索してインストールしてください)

たぶん上手くいっていると思います。

以上です。お疲れ様でした。