サイトメンテ時には503

これは目からウロコ。よくやるのが200 OKのまま文面は「ただいまメンテナンスを行っております。しばらくしてから再度ごアクセスください。」って出している。auのEZwebだとApacheエラーは画面表示させてくれないのでユーザビリティ上しかたないとか(得に404に関してはレギュレーションで指定されているし)あるのでつい200 OKのままなんですよね。それだと検索エンジンのクロールでキャッシュされてしまう危険を伴う。403/404出していると次回からクロール来なくなる可能性があるし500は論外。でも下記URLの記事によれば503の場合は検索エンジンも次回のクロールの機会が来るまで待ってくれるみたいなので大丈夫だそうです。

サイトメンテナンス時には、HTTP 503エラーを使う » 海外SEO情報ブログ・メルマガ
http://www.suzukikenichi.com/blog/using-503-error-at-site-maintenance/

元記事ではドキュメントルートからメンテする場合の設定で困っているそうですが、とりあえず動作した設定をここで公開しておきます。

Alias /maintenance/ “/home/www/maintenance/”
ErrorDocument 503 /maintenance/503.html
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/maintenance/503.html$
RewriteRule ^.*$ – [R=503,L]
<Directory “/home/www/maintenance/”>
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

ドキュメントルート以下にメンテ用ファイルを置きたくなかったのでAliasにしましたが、R=503としたのでRewriteRule の飛び先はこの場合何書いても同じだったので – にしました。あと必ず ErrorDocument 503 を定義しておくことです。

他には外部サーバや内部でバーチャルホストを作ってそこにスクリプトを置き、リバースプロキシで転送という方法も思いつきましたがリソースの無駄遣いなので伏せておきます。(本当の理由は自宅サーバにProxy入れて無かった・・・)

mod_ktaiに画像変換モジュールを追加

最近登場した携帯サイト用Apacheモジュールのmod_ktaiに画像変換モジュールが追加され、端末の仕様に合わせて自動変換を行うようです。確かにGDやImageMagickで毎回変換すると大量アクセス時に重くなるし、だからといってファイルに変換して置くのも移設とか面倒になるし、Keitai Pictureはバージョンアップするごとに検索リスエストがスパム化して返って激重になるし・・・。ということでApacheモジュール大賛成です。負荷試験で効果の比較したのち本格導入検討しようかな。

ゆめみ、Apacheモジュール「mod_ktai」シリーズに画像変換モジュールを追加 – ITmedia +D モバイル
http://plusd.itmedia.co.jp/mobile/articles/0810/30/news130.html