SeesaaブログからWordpressへurlをそのままにしたまま移行した方法を紹介します。

無料ブログからwordpressなど自分でいろいろいじくれるCMSへ移行しようという方は多いと思います。
私の場合はSeesaaブログでも独自ドメインを利用していたのでこの方法が可能です。
独自ドメインを使って無料ブログサービスを利用していた方はこので紹介するのとは違う方法が必要になります。
(リンクから新しいURLへ飛ばす方法です)
でもこの記事の内容が参考になる部分もあると思います。

まず、引越しに当たり2つの案が浮上しました。
案1.URLを本当にそのまま移行する
案2.新しく移したところではURLを別にしてredirectなどで過去のurlから飛ばす。

SeesaaブログではUrlの部分が連番でつけられています。
その為、案1で移行すると新しいブログでも連番でいくことになってしまいます。
カテゴリ名も番号でしたので、どうせなら少しでもSEOに強そうなURLにしたいと考えていました。
ですので今回は案2で移行することにしました。

1.シーサーブログでエクスポートする
シーザーブログでの出力形式はMT形式になります。
ここは普通にエクスポートするだけでいいです。

2.新しいWordpressの準備

wordpressのインストールとパーマリンクの設定まで行います。
wordpressのインストールや初期設定はとても簡単ですので省略します。

3.とりあえずwordpressにエクスポートした記事を入れてしまう。
MT形式のインポートでとりあえず記事が入ると思います。
しかしながらこのままではURLが違う同じ記事が出来てしまいます。

4.元URLから新URLへのredirectを作成
このページは結局この部分の方法を書きたいだけです。

新しいサーバで.htaccessがおけることが条件になります。
.htaccessに 
Redirect permanent 旧url 新url
をずらーっと書けば昔のリンクに来た人も新しいurlに到達します。

そこで必要になるのが旧ページのURL一覧と、新ページURLの一覧。

旧ページ(シーザーブログ)のURL一覧の出力方法
デザイン・コンテンツの記事のHTMLを編集してURLを出力させます。
あくまでも一例ですが以下のようなタグを書いてやれば、書く記事のURLをタイトルが一覧で表示されます。

<% loop:list_article -%>

[URL]<% article.page_url %>[TITLE]<% article.subject %>

<% /loop -%>

シーザーはTOPに300記事まで表示できますので最大300行を一覧表示できます。
最新のものから表示されますので、1500記事あるなら5ページめくってそれをコピー
エクセルなどの表にメモッておきます。

新ページ(Wordpress)のURL一覧出力方法

記事をインポートした新ブログのURL一覧を出力します。
こちらはphpでうまくテンプレートに入れてやればよいです。
例えばインデックステンプレートに

“;
for( $i=200; $i–; $i < 0){ $mes = get_page($i); if ($mes->post_status ==”publish”){
echo $mes->post_title;
echo “[“.$i.”]”;
echo get_permalink($i);
echo “
“;
}
}
?>
こんな感じでいいかもしれません。ブログを表示すれば挿入した部分に一覧がでます。
こちらも先ほどのエクセルの横の列などにコピペしてみましょう。

そうするとエクセル上で横の列で新・旧のURLが表示されます。
ここまで来ればあとはエクセルの置き換えや他のテキストエディタを使って
Redirect permanent 旧url 新url
この形のテキストファイルにします。

最後に作ったテキストを.htaccessに書き込めば完了です。

要点は新旧のURLを一覧出力する方法です。これができれば他にも応用が効くと思います。