別ブログでしばらく前から使っていたFeedBurnerですが、日本でもProサービス, マイブランドが使えるようになったので移行をしてみましたのでメモ。使用blogソフトはWordPress 2.2.1。独自ドメイン運用です。なにか問題が発生したりサービスが停止しても自ドメインを使っていればなんとかなるだろうという目論見。
移行手順は以下の通り
- FeedBurner側の設定
ログインして一番上の"マイアカウント"から"マイブランド"に移動し、有効にする。
ここでfeedburner側のフィードURLをhttp://feeds.feedburner.jp/<MyFeed>とする。
マイブランドで使う自ドメインをfeeds.<mydomain>.jpと仮定する。
- DNSのCNAME設定
使っているレジストラもしくは自DNSサーバの設定で
feeds CNAME feeds.feedburner.jp.
- autodetectのアドレス変更
WordPressにログイン。テンプレートのヘッダからRSS/ATOMを指定している部分を"http://feeds.<mydomain>.jp/<MyFeed>"に変更する。FeedBurnerのスマートフィードを使えば問題なさげなのでATOMも同じアドレスにする。
- feed URLの変更
RSSアイコンやURLの部分を新しいURLに変更。
うちはfeedburnerの"最適化"-"スマートフィード"を有効にして、”集客支援"-"フィードブックマーク"から適当なアイコンのものを使用。注意として、feedburnerから提供されるHTMLコードはfeedburnerのフィードURLなのでマイブランドのURLに変更する。
- RSSリーダに登録されるURL
feedburnerの"最適化"-"ブラウザフレンドリ"から"ワンクリックボタンの転送"というところでマイブランドのFeed URLを入れる。
- .htaccessでリダイレクト
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^feed$ http://feeds.<mydoman.jp>/<MyFeed> [L,R=permanent]
RewriteRule ^feed/atom$ http://feeds.<mydomain>.jp/<MyFeed> [L,R=permanent]
注)最初は"=permanent"を付けないほうがいいかもです。
- テストしてみる
WP-Cacheを使っている場合キャッシュをクリアして、Shift+リロードしてテストしてみる。
最低ブラウザのアドレスバーのフィードアイコンと、ページ内の登録リンクの二箇所。
うまく見えていたらテスト記事を投稿してみてRSSリーダで見る。オンラインのRSSリーダはping更新か1時間位のポーリング間隔なのでFeedBurnerの場合遅延が大きくなり最悪2時間近く更新されない可能性あり。テスト投稿時には次項のping設定をするか直接RSSリーダにpingするなどすれば更新が早まるかも。 - 更新の遅延を少なくする
忘れずにpingのリストの先頭にping.feedburner.jpを入れておく。他のサイトへのRSSの配信はFeedBurnerがpingを受け付てRSS読み込み後になるため必ず先頭に。
またfeedburnerの"集客支援"からpingショットを有効にしておく。短い時間で再送信すると後のpingは無視されるかもしれないためpingショットで指定したサイトへのWPからの送信は避ける。
まあpingばかり撃っても仕方がないのですが、どうしても早く更新したい場合には以下の方法がいいかもしれません。送りすぎは意味がない上相手サーバに無視されるので御注意。
- 記事を更新したら速攻でfeedburnerのping送信画面からpingを送信
WPのping送信は遅延があるため、記事更新後すぐに送れば間に合うかも。
FeedBurner - FeedBurnerにPingを送信
- または最初の投稿から5分くらいおいて微妙な修正後、再度更新
最初の更新では新しいRSSが読めないかもなので、少し時間を開けて送る。お手軽だがあまりいい方法ではないかも。
- ping送信CGI
うちでは簡単なping送信cgiを作ってwpからのpingを受けて分配するようにしてます。feedburnerに送ってから30秒程度空けて他のサイトにpingを送っています。
- 記事を更新したら速攻でfeedburnerのping送信画面からpingを送信
現在既に購読済みのフィードがどうなるんだろうとか、ちょくちょく見ているWebScouterがどうなるんだろうとか思いつつ。というほど購読していただいてるわけでもないんですが笑。やるならサイト開設後、早いうちがいいかもしれませんね。 また自宅サーバはトラフィックが少しでも減って嬉しいかもです。
追記) permanentなリダイレクトをする設定で自動的に登録RSSが変わったのはhatena, bloglines, webscouterで数日かかります。Google Readerは変わらないようです。他は調べていません。
注意する点として、フィードの内容が正常なRSSでないとRSS登録時やfeedburner内での設定変更で問題が発生します。私のところではwp-slimstatがエラーを吐いていて無効なRSSを出力していておかしくなりました。またwp-cacheを入れると警告が出たりもします。フィードにエラーがあるとfeedburnerから配信されるfeedやURLが指定と違うようになったり、素のフィードが表示されたりします。feedburnerは結構デリケートなので、一度feed validatorで確認したほうがいいかもしれません。
でも設定次第でRSSのURLを元フィードのままのように見せかけて使ってもらうことも出来ますし、マイブランドにこだわる必要もないかもしれないですね。