503 エラー
ユーザーがアクセスした際、HTTP ステータスコード(サーバからの応答番号)の「503」で返される、「現在、一時的にサービスが利用できません」というエラーのこと。アクセスの集中による「サーバの過負荷(パンク)」や、「システム障害」、あるいは「計画的なメンテナンス中」に表示される。Google の検索エンジンに対しては「いま一時的に閉めているだけなので、後でまた見に来てね」と伝える役割を持つ。
運用の要点:503 は「計画的に出し、短時間で復旧する」のが鉄則
現場で絶対に押さえておくべきなのは、503 は長期間出してはいけないということ。計画的なメンテナンスの際は、業者に指示して専用の「ただいまメンテナンス中です」という 503 ページを用意し、裏側の設定で Retry-After ヘッダ(検索エンジンに対する『〇時間後にまた来てね』という予約札)を仕込んでおくのがプロの運用。(※これをサボって、メンテナンス中なのに正常を示す『200』のまま真っ白な画面を出すと、Google に空っぽのサイトだと勘違いされて SEO評価が落ちる)。
現場でよくある「落とし穴」
「想定外の 503」を放置すると、売上と SEO 資産が同時に吹き飛ぶ。
- 「週末の放置」が引き起こす検索圏外への強制退場:StatusCake や UptimeRobot といった死活監視ツール(サーバ稼働率)(サイトが生きているか自動チェックするツール)を導入しておらず、サイト障害で 503 が出ていることに気づかない。悲惨な末路として、金曜の夜に SNS でバズってアクセスが集中し、サーバが 503 エラーで落ちた(本来はロードバランサーで負荷分散すべきだった)にもかかわらず、月曜の朝に出社するまで誰も気づかない。せっかくの集客チャンス(売上)をドブに捨てるだけでなく、数日間ずっと 503 を返し続けた結果、Google から「このサイトはもう閉鎖したんだな」と判断され、長年育てた検索順位までインデックスから削除され圏外に吹き飛んでしまう。
Web 担当者は、異常時に「5 分以内」に自分のスマホやチャットツール(Slack 等)へ通知が届く監視設定を必須にしておく必要がある。
言葉をよく利用する人
- 情シス
- Web 担当者(発注側)
- インフラエンジニア
- バックエンドエンジニア
会話上での使用例
長時間のメンテナンス計画を情シスと立てる場面
-
情シス
今度のメンテナンスで、5時間ほどサイトを止める予定なんです。
-
Web 担当者(発注側)
では 503 エラー のメンテナンスページを用意して、Retry-Afterヘッダで再アクセスの目安時刻も伝えるようにしましょう。そうすれば検索エンジンにも一時的な停止だと正しく伝わります。
-
情シス
了解です、終了予定時刻を入れたページを準備しますね。
障害が起きても気づけないという課題をプロデューサーと話す場面
-
プロデューサー
もしサイトが落ちて503が出ても、誰も気づかないのが不安なんですよね。
-
Web 担当者(発注側)
それは 503 エラー を検知する死活監視を入れて解決しましょう。StatusCakeで5分間隔で監視して、異常があればSlackに通知が飛ぶように設定しておけば、長時間の放置は防げます。
-
プロデューサー
では監視の設定をお願いします。安心できますね。