ホーム » ブログ » サイトを一時停止のとき、503エラーを返したほうがいい
このエントリーをはてなブックマークに追加
@2013/02/01

スポンサーリンク
以下の場面を想定してください:サイトメンテナンス作業は何時間をかかってしまい、サイト停止中に万が一、検索エンジンのロボットを辿りついたら、悪い”イメージ”を付けられるのは嫌だね?

このとき、主にウェブサイトメンテナンスや想定外の障害などが発生してしまい、やむを得ずサイトを一時停止しなければいけない場合、自分のサイトに悪い影響を与えないように、503エラーに設定したのはお勧めです。
筆者はちょっと調べました、「サイトを何時間までの停止は悪い影響がありません」や「48時間がぎりぎりだ、それ以上だったら、検索ランキングは落ちる」などがインタネットでさまざまのコメントがあります。
本当なのか? 
それはケースバイケースだと思う。
検索エンジンクローラーの巡回頻度が少ないサイトに対して、何時間のサイト停止は問題が無いかもしれないですが、クローラー巡回頻度が多いサイトは、503エラー対策は安心ですね。
それでは、503エラーの設定方法です。
apacheのhttpd.confまたは.htaccessファイルに以下のコードを入れてください。
ErrorDocument 503 /maintenance.html

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_URI} !=/maintenance.html
  RewriteCond %{REMOTE_ADDR} !=192.168.0.2
  RewriteCond %{REMOTE_ADDR} !=192.168.0.3
  RewriteRule ^.*$ - [R=503,L]
</IfModule>

<IfModule mod_headers.c>
  Header set Retry-After "Sun, 3 Feb 2013 6:00:00 GMT"
</IfModule>
上記のコードを解説します。
RewriteCond %{REQUEST_URI} !=/maintenance.html
 ⇒ メンテナンス中に、アクセスがきったら、maintenance.htmlページに遷移してくださいと指示する。
RewriteCond %{REMOTE_ADDR} !=192.168.0.2
  RewriteCond %{REMOTE_ADDR} !=192.168.0.3
 ⇒IP:192.168.0.2と192.168.0.3を除外
RewriteRule ^.*$ - [R=503,L]
 ⇒503エラーコードを返す。
Header set Retry-After "Sun, 3 Feb 2013 6:00:00 GMT"
 ⇒メンテ終了予定時刻を指定します。日時はGMT(現在の協定世界時、UTC)で指定する。【指定した時刻以後にまたアクセスしてね】と検索ロボットに教える。

以上、対策完了となります。

♪ 当記事がお役に立ちましたらシェアして頂ければ嬉しいです。
0人
このエントリーをはてなブックマークに追加


★ 当記事を閲覧の方は下記の【関連記事】も閲覧していました。

お名前:

 

EMAIL:

 

URL:

 

認証コード:

zanmai.net-safecode

 


※会員の方は認証コードを要らないから、新規登録をオススメ!

check