PCやスマホでWebサイトを閲覧している時に、サイトの内容ではなく「Service Temporarily Unavailable」というメッセージの画面が表示されてしまうことがあります。これは通称「503エラー」と呼ばれています。ユーザーは突然表示されたこのエラーメッセージに戸惑うかもしれません。またサイト管理者は「503エラー」が長期化しないよう速やかに対処する必要があります。この記事ではユーザー、サイト管理者側それぞれの立場から503エラーの対処方法について解説していきます。
「503 Service Temporarily Unavailable」とは
「503 Service Temporarily Unavailable」とは、Webサイトへのアクセスが集中したためにWebサイトが一時的に表示できなくなってしまったことを言います。ユーザー側からのリクエストに対し、Webサーバーが応答できないためサイトが表示できない状態です。
503エラーの意味は「アクセス過多」?
503エラーの意味は「アクセス過多」です。通常、ユーザーからのリクエストを受けたWebサーバーはHTMLや画像、動画など必要なデータを返します。これらのリクエストが多過ぎるとサーバーが過負荷になってデータを返すのに時間がかかってしまい、最終的にはサイトに繋がらない状態に陥ります。
よく混同されがちですが、いわゆる「サーバーダウン」「落ちた」状態ではありません。あくまで一時的にアクセス制限がかかっている状態です。
ステータスコード
「ステータスコード」とは、Webサイトにアクセスした際にWebサーバーから返される数字3桁のコードのことです。数字ごとに意味が異なり、Webに関する仕様では500番台を「サーバーエラー」、その中で503を「サービス利用不可」と定義しています。
ステータスコードは以下の記事で解説しています。
「the service is unavailable.」の意味
The service is unavailable.画面
「the service is unavailable.」とは、「サービスが利用できません」と訳すことができます。言葉通り、そのサービスが現在利用できない状況にあります。
このメッセージはサーバーのリソース不足などでクライアントからのリクエストを処理しきれなくなった際に発生します。共用サーバーの場合、一時的に同時アクセス数を制限している場合もあります。
service maintenance
メンテナンス画面の例
似たようなエラーとして「service maintenance」があります。訳はそのまま「サービスメンテナンス」です。サイトが現在メンテナンス中であることを示しています。より親切なサイト管理者であれば、他コンテンツへのリンクや、復旧時間の見込みなどをメンテナンスページに記載することでしょう。
「http/1.1 Service Unavailable」とは
HTTP/1.1 Service Unavailable画面
「http/1.1 Service Unavailable」とは、「HTTP1.1 サービス利用不可」という意味です。「HTTP1.1」とはWebサイトをWebサーバーから取得して表示させるためのプロトコルのことです。このエラーメッセージも「503エラー」のようにアクセス集中やサーバーの問題によって発生し、復旧するまではWebサイトやサイト内の広告などが正しく表示されない状態となります。
「HTTP/1.1 Service Unavailable」はAmazonやYouTube、AppleサイトなどのWebサービスで問題が起こっている場合に見かけることがあります。
503エラーの復旧時間は?
「503エラー」が一時的なエラーであることは先に説明しましたが、いつエラーが復旧するのでしょうか?原因にもよりますが、概ね以下の項目に大別できます。
・「このサイトにアクセスできません」表示の場合:数分〜数時間程度
→サイト管理者のメールアドレス未登録やドメインの有効期限切れといった比較的軽微なものから、Webサーバーのメンテナンスといったある程度の時間を要するものまで、様々な原因にもよります。
・「サーバー管理の問題」の場合:数時間〜数日程度
→サーバーの劣化や破損、障害などが発生した場合、復旧するまでただ待つのみとなります。問題の程度によって復旧時間は前後します。
・「アクセス集中」の場合:数分〜数日程度
→一時的なアクセスであれば、アクセスが落ち着くことで復旧が見込めます。キャンペーンなどで数日に渡ってアクセス集中が続く場合、問題が長期化する恐れがあります。
503エラーの多発はSEOに悪影響?
「503エラー」が多発しサイトにアクセスできない状態が長引くことは、SEOに悪影響を及ぼす可能性があると言えます。アクセスできない状態はあくまで「一時的」なものに留める必要があり、さもなくば検索結果のランキングが下がるなど好ましくない結果になるおそれがあります。エラーが多発していつも見ることができないWebサイトを、ユーザーが辛抱強く待ち続けてくれる可能性は低いでしょう。
Webサイトを訪れる可能性があるのはユーザーだけでなく、Googleのクローラーなど、無人のプログラムを巡回させているサーチエンジンもまた対象です。ユーザーに対しては「503エラー」ページでの案内や事前にメンテナンス告知をすること等が親切でしょう。
またサーチエンジンに対しては、一時的なアクセス集中やメンテナンスで閲覧できなくなっていることを示すために「503 Service Temporarily Unavailable」のステータスコードを確実に返すようにしておく必要があります。「200 OK」や「404 Not Found」などの誤ったステータスコードは意図しない解釈をもたらします。サーチエンジンは返された「503エラー」により、サイトが一時的に繋がりにくい状態であることを正しく認識します。
「503 Service Temporarily Unavailable」の原因
「503 Service Temporarily Unavailable」となる主な原因は「アクセス集中」です。ひとえに「アクセス集中」と言っても、アクセス集中を引き起こしている根本原因は様々です。
・サーバーが攻撃を受けている
→悪意ある第三者がツールなどを使用してサーバーに高負荷をかけ、サービスを妨害している可能性があります。
・アクセスが集中するようなキャンペーンや、SNSによる拡散がある
→期限つきのイベントや人数限定キャンペーン等が目的で、短期間に大量アクセスが発生しているものと考えられます。また影響力を持ったインフルエンサーがSNSにサイトのリンクを公開することで、フォロワーからの大量アクセスが発生することもあります。
・Webサーバーのリソースが少ない
→サーバーのリソースが元々少ないため、アクセス集中に耐えられなくなっている可能性があります。リソースが少ないのは、サーバーの料金プランが安くて容量の小さいものであったり、用意したサーバー機器が低スペックでアクセス数とのバランスがとれていないことが考えられます。
・Webサイトが重い
→Webサイトを表示する際に様々なプログラムやデータの読み込みが行われており、サーバーに負荷が発生している可能性があります。
また、それ以外にもサーバー設定やサイトの構成などが問題になる場合もあります。
・Webサーバーが障害発生中またはメンテナンス中である
→お使いのサーバーに障害が発生していたり、メンテナンス中でアクセスができなくなっている可能性があります。
・WordPressプラグインに問題がある
→WordPressを利用している場合、「503エラー」のうちほとんどがプラグインの互換性に問題があることで発生しています。
「503 Service Temporarily Unavailable」の解決・回避方法
「503 Service Temporarily Unavailable」に対して、ユーザー側では特に何もすることが出来ません。しばらく時間を空けてからアクセスして下さい。以下、サイト管理者側での解決方法をまとめます。
・Webサーバーを再起動する
→サーバーの再起動はWebサイトを復旧させるために効果的です。複数のサーバーを利用している場合は全てのサーバーで再起動を行って下さい。
・Webサイトを軽くする
→Webサイトを構成しているHTMLのソースコードや画像、動画などの外部データのファイル数やファイルサイズを見直し、リクエストによるサーバー負荷を軽減します。今や高速回線が当たり前のインターネット環境ではありますが、凝った構成にしてユーザーにページ表示を待たせたり、読み込みが終わらずページの更新をさせるようなことは親切ではありません。
・キャッシュを持たせる
→キャッシュサーバーを置くことでWebサーバーの負荷を軽減します。Webサイトを閲覧しているPCやスマートフォンとWebサーバーの間にCDN(Contents Delivery Network)と呼ばれるキャッシュサーバーを置き、負荷を分散させます。CDNはクラウド型のサービスを提供している業者が複数あり、アクセス増加が見込まれる時期だけ契約するなども可能です。
・Webサーバーを強化する
→サーバーの料金プランを見直したり、サーバーの種類を変更することでアクセス集中に耐えられるようなサーバー環境を確保します。例えば月額料金を一つ上のプランにすることでサーバーの性能がアップすることが期待できます。また、サーバーの種類を一般的なレンタルサーバーや共用サーバーから専用サーバーに変更することでもパフォーマンスの改善が見込めます。
・ファイアウォールの設定を見直す
→ファイアウォールのアクセスに関する設定を見直して下さい。ファイアウォールは適切に設定されていれば悪意ある第三者の攻撃からWebサイトを守るものですが、過剰な防御は善良なユーザーからのアクセスをも妨げてしまいます。
・Webサイトのソースコードを確認する
→ソースコードの内容に誤りがないか、目視やツールなどでデバッグ作業を行って下さい。記述ミスやバグがあると、正しく処理が行われません。
・WordPressプラグインを無効にする
→プラグインを全て無効にし、エラーが解決するか確認します。「503エラー」発生中で管理画面にアクセスできないため、ブラウザではなくFTPクライアントによるアクセスを行う必要があります。
①WordPressのルートフォルダを開く
②(ルートフォルダ名は、”html”、”public”、”public_html”、”www”、”サイト名”など)
③wp-contentディレクトリを開く
④“plugins”というディレクトリ名を他の名前に一時的に変更する
⑤WordPressダッシュボードにアクセスし、「503エラー」が消えたか確認する
⑥“plugins”ディレクトリ名を元に戻し、ディレクトリ内の各プラグインが入ったサブディレクトリ名を変更する
⑦WordPressダッシュボードにアクセスし、「503エラー」が消えたか確認する
⑧問題のあるプラグインをアンインストールする
まとめ
「503 Service Temporarily Unavailable」の意味、原因、対策についてそれぞれ解説しました。「503エラー」はどこに原因があるのかをエラーメッセージから読み解くことが困難なため、想定される原因を一つずつ確認していくことになります。主にサイト管理者側の問題であり、速やかに原因を特定し対処する必要があります。ユーザーは直接解決ができない問題ということを踏まえ、サイト管理者側での対応をお待ち下さい。