2008年7月10日

ブログ移転と検索インデックスの移行

ブログを移転したが、検索サイトの結果も移転したい気がする。殆どアクセスが無いサイトだけど、結構 Google の検索順位は高かったので、勿体ない。いろいろ調べると 301リダイレクトを行えば良いらしい。

詳細は Google のヘルプ「サイトの移転に関するヒント」に記述があり、他の検索エンジンとかの対処法も同様らしい。

自前で運用してた typo は、Apache 2.0.x + mod_proxy -> mongrel -> Rails 1.2.x なので、色んな所に実装できそうだが、一番簡単な apache の方で対応してみた

対応

Blogger が生成する permalink は記事タイトルの適当に変換したもので、特定の文字列に変更することはどうも出来ないらしい。記事毎に旧ブログと新ブログのURLの対応づけを指定する必要がある。

対応付け毎に 301リダイレクトする設定に加えて、 移行済みの記事は railsのアプリサーバに渡さないようにすると、次のようになる。

ProxyPass <旧ブログのURLパス> !
redirect 301 <旧ブログのURLパス> <Bloggerでの対応するURL>

これを、記事毎に用意すれば良い。。。後は力技だわ。

力技

記事を移行しつつ、対応付けを下記の書式で一行毎に記録する。

redirect.conf.in

<旧ブログのURLパス片> <Bloggerでの対応するURLパス>

このファイルを上の設定に変換する perl スクリプトに通して、

cvt.pl

#!/bin/env perl

$dsite = "http://XXXXX.blogspot.com";

while (<>) {
 ($s, $d) = split(/\s+/);
 $surlpath = "/articles$s";
 $durl = "$dsite$d";
 print <<EOM
ProxyPass $surlpath !
redirect 301 $surlpath $durl
EOM
}

出てきた設定を include 命令で読み込むようにすれば良い。

# cvt.pl redirect.conf.in > redirect.conf
# /etc/init.d/httpd configtest
Syntax OK
# /etc/init.d/httpd graceful

この時点で、旧ブログで移行済みの記事を参照すると、Bloggerへ誘導されるようになる。

あとはクローラが認識するまで180日くらいは必要らしい。。。本当に移行できるんかいなぁ。

追記(2008/08/05)

RSS/Atom の移転に関しても、301のレスポンスを返すと参照先を変更してくれるらしい。なので、RSS/Atomに関しても301リダイレクトを返すようにした。。。

0 件のコメント:

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...