503エラーはすぐに復旧可能?原因と対処法を解説

コンテンツライティングチェックシート【30項目】
今すぐ無料ダウンロード
コンテンツライティングチェックシート【30項目】
今すぐ無料ダウンロード
目次
    1. 503エラー(Service Temporarily Unavailable)とは?
    2. 503エラーが出てしまう原因は?
      1. サーバーメンテナンスにより一時的に停止している
      2. 自サイトへ短時間にアクセスが集中したことが原因
      3. 同一サーバー内の他のサイトへのアクセスの集中
      4. 処理に時間がかかってしまっていることが原因
    3. 503エラーからすぐに復旧できる?
      1. 迅速な復旧はできないケースが大半
        1. すぐに復旧できるケースは?
    4. 503エラーが頻発する場合の対処法
      1. 転送量や同時接続数の上限に余裕のあるサーバーを選ぶ
      2. 転送速度を高めて負荷をかけないようにする
    5. 代表的なHTTPステータスコード
    6. まとめ

503エラーは急激なアクセス増加や、リクエストに対してサーバーの処理が追いつかないときなどに表示されるエラーです。

もし、運営しているWebサイトで503エラーが発生した場合は、どのような対応をすれば復旧可能なのでしょうか。

本記事では、WordPressなどのCMSを使用してメディア運用をしているような「サイト運営者」に向けて、503エラーが発生する原因と復旧方法、頻発する場合の対処法について解説します。

503エラーを回避するために準備しておくことは、SEO対策においても重要なため、ぜひ参考にしてください。

503エラー(Service Temporarily Unavailable)とは?

HTTP 503 Service Unavailableとは、サービス利用停止やサービス負荷を意味するHTTPステータスコードのエラー文です。

なんらかの理由で、Webサーバーへのアクセスが一時的にできない状態を意味しています。

「HTTP 503 Service Unavailable」という表示以外に、上段に「Service Unavailable」、下段に「HTTP Error 503.」と表示される場合や、「Service Temporarily Unavailable」とだけ表示される場合もあります。

サーバーやWebサイト側に問題が発生して起こるため、アクセスしたユーザー側は問題解消のためにできることはありません。

503エラーが出てしまう原因は?


503エラーのよくある原因は大きく分けて4つあります。

なんらかの理由によりサーバーの処理が追い付いつかなくなった場合や、もしくは処理が追い付かなくなる前に制限をかけた場合に503エラーは起こります。

エラーコードを見ただけでは、503エラーが発生した原因の特定はむずかしいですが、レンタルサーバーのログファイルなどでその原因を突き止めることが可能です。

それぞれ、詳しく解説していきます。

サーバーメンテナンスにより一時的に停止している

メンテナンスなどで一時的にサーバー機能が停止している状態の場合、ステータスコードとして503エラーを返すことがあります。

まずは、契約しているレンタルサーバーやホスティングしているサービス側の障害情報やメンテナンス情報を見て、使用しているレンタルサーバーに問題がないか確認しましょう。

エラー表示ではありますが、あらかじめ予定されていたメンテナンスであれば、とくにあわてる必要はありません。

ひとまずメンテナンスが終了するまで、落ち着いて待ちましょう。

またレンタルサーバーの緊急メンテナンスなどが理由の場合でも、Webサイト管理者ではどうすることもできません。

いずれもメンテナンスが終了すれば、503エラーは解消されます。

自サイトへ短時間にアクセスが集中したことが原因

多くのアクセスが一気に集まった場合、負荷がかかったサーバーを安定させるためにアクセスの制限やデータ転送量の制限をかけることがあります。

1台のサーバーを複数ユーザーで共有しているようなサーバーでは、同時接続数の上限が低く設定されていることもあり、あっという間に上限を超えてしまうケースもあるのです。

自分のサイトがSNSやテレビで紹介された場合に起こることがあります。

アクセス集中の場合、大量アクセスによるサーバーへの負荷が解消されるまで、エラーが解消されることはありません。

同一サーバー内の他のサイトへのアクセスの集中

共用レンタルサーバーなどでは、1つのサイトに一度に多くのアクセスが集まると、アクセスの限界値を超えないよう制限をかけます。

その際、共有サーバー内に割り当てられているほかのWebサイトも含めて、制限がかけられてしまうことがあるのです。

共有サーバー内の他サイトが理由で503エラーが発生してしまった場合も、Webサイト管理者側ができることは何もありません。

アクセスが落ち着き、サーバーエラーが解消されるまで待ちましょう。

もし、同様の理由で何度も503エラーが起こるようであれば、サーバーの移転をオススメします。

処理に時間がかかってしまっていることが原因

Webサイト内のデータ読み込みに時間がかかり、処理が追いつかなくなったためにサーバーに負荷がかかってしまうケースもあります。

アクセスの集中など、なんらかの要因でWebサイトの読み込みや処理に時間がかかった際に、これ以上サーバーに負担がかからないように制限をかけてしまうのです。

Webサイトの読み込みや処理に時間がかかる場合には、いくつかの要因が考えられます。

  • アクセス数に対して処理が追い付いていない
  • ページや画像などが重く読み込みに時間がかかる
  • CGI/PHPなどの負荷が大きい
  • MySQLなどデータベースの負荷が大きい
  • WordPressプラグインなどが誤動作を起こしている など

上記のうち複数の要因が重なり、503エラーが発生するケースもあります。

503エラーからすぐに復旧できる?

迅速な復旧はできないケースが大半

ほとんどの場合、「サーバーへのアクセス量(負荷)が、使用しているサーバーの許容能力を超えたとき」に、503エラーは発生します。

つまり、503エラーから復旧するには、アクセス量(負荷)を減らす方法、サーバーの許容能力を増やす方法、の2つの方法しかないということです。

「アクセスが集中しているうちに復旧したい」と思う方も多いかもしれませんが、最も手っ取り早いと思われるサーバーの利用プランの変更でさえ、最大数日かかってしまいます。

503エラーが出てしまった場合は、残念ながらアクセス数が収まるまで待つしかない場合が、ほとんどでしょう。

「復旧にかかる時間=アクセスが収まるまでの時間」であるため、どれぐらいで復旧できるかはケースによってさまざまです。

また、一時的にアクセスが増加しただけで、わざわざサーバーのプランを変更することはオススメしません。

恒常的に503エラーが発生する場合は、サイトの規模に対してサーバーの許容能力が不足していると考えられるので、サーバーのプランの変更を検討してもよいでしょう。

すぐに復旧できるケースは?

まれに、アクセスの収束を待たなくて503エラーから復旧できるケースがあります。

それは、

  • 自分が接続しようとしている環境に問題があるケース
  • 503エラーにつながる「設定ミス」を行ったケース

です。

まれに使用するネット環境によって、503エラーが個人的に発生するケースがあります。

その場合は、使用しているルーター、モデム、パソコン(またはスマホ)を再起動することで復旧する可能性があります。

また、直前に503エラーにつながりかねない設定ミスを行ってしまったケースもありえます。

具体的には、ファイアウォールやCDN、WordPressプラグインやAPIの設定などです。

503エラーが発生する直前に、上記のような設定変更を行った場合は、設定にミスがないかどうか注意深く確認するようにしましょう。

503エラーが頻発する場合の対処法

前述の通り、503エラーから復旧するには、基本的にアクセスの収束を待つしかありません。

しかし、頻繁に503エラーが発生してしまう場合、自分のサイトの規模に対してサーバーの許容能力が小さい可能性があります。

長期的な503エラーは単なる機会損失に加え、クロールエラーによるSEO上のマイナス効果を招くこともあります。

クロールエラーに関しては、以下の記事で分かりやすくまとめています。気になる方はぜひ参考にしてみてください。

可能であれば503エラーが発生しないよう、事前になんらかの防止策を講じることも重要です。

転送量や同時接続数の上限に余裕のあるサーバーを選ぶ

同時接続数の上限が低い共用サーバーのために、爆発的なアクセス増加に耐えられない場合は、専用サーバーや別のレンタルサーバーへの乗り換えも検討しましょう。

基本的には、同じサーバーを使用しているサイトが多ければ多いほど、いちサイトあたりのサーバー許容能力は少なくなります。

ただし専用サーバーは共用サーバーと比べると、レンタル費用も高いため十分検討したうえで決めることが大切です。

下の記事で、「レンタルサーバーの選び方」を分かりやすく解説していますので、ぜひ参考にしてみてください。

転送速度を高めて負荷をかけないようにする

ユーザーがサイトへアクセスしてきた際に、サーバーがスムーズにリクエストに応答できるよう、転送速度を高めておく方法も有効です。

具体的には

  • 画像のサイズを小さくする
  • キャッシュ対策を行い読み込み時の負担を減らす
  • HTML/CSS、JSなどの最適化や圧縮

などを行うのがおすすめです。

WordPressであれば画像サイズを圧縮するプラグインや、キャッシュを処理するためのプラグインなどが豊富にあります。

またHTML/CSSやJSのソースを最適化するプラグインなども、いくつかありますので、適宜利用してみるとよいでしょう。

ほかにもmod_pagespeedを設定(インストール)して画像、HTML、JavaScript、CSSを最適化する方法もあります。

mod_pagespeedはGoogleが開発リリースした、ページの読み込み速度を上げるモジュールで、WordPress環境でなくても利用が可能です。

https://developers.google.com/speed/pagespeed/module/

通常、インストールや設定には専門的な知識が必要となりますが、エックスサーバーなどではドメインのサーバーパネル上で簡単に設定できます。

ほかにもレンタルサーバーの設定で高速化を図るツールが用意されている場合には、試してみるのもよいでしょう。

また、CDNを導入する方法も効果的です。

CDNとは、簡単に言うとキャッシュを保存しておくサーバーを導入したネットワークのことで、Webサーバーの負担軽減や、ページ表示速度の向上が期待できます。

CDNについては、以下の記事で分かりやすくまとめていますので、気になる方はぜひ読んでみてください。

代表的なHTTPステータスコード

ここでは、主要なHTTPステータスコードの例を紹介します。

300~500番台のステータスコードは、Web担当者は押さえておくべきエラーですので、ぜひ確認してみてください。

 HTTPステータスコード例メッセージ
200番台(処理の成功)200 OK

サーバーへのリクエストが正しく処理され、ページが表示される状態です。

我々が通常見ているWebページは、このHTTPステータスコードを返していることが多いです。

202 Accepted

サーバー側がリクエストを受け取ったうえで、処理は完了していない状態を表します。

外部のプログラムでデータを生成する場合などに返されるステータスコードです。

300番台(リダイレクト)301 Moved Permanently

リクエストしたページが恒久的に移動されている場合に返されるステータスコードです。

サイトリニューアルでURLが変更される際などに利用します。

302 Found

301 Moved Permanentlyと同様にリクエストページが移動されている場合に返されるステータスコードですが、

一時的な移動を表します。期間限定のページを使用する際などに利用します。

400番台(処理の失敗)403 Forbidden

権限を与えられた特定の者にのみページへのアクセスが許可されている状態です。

権限が無い場合は閲覧ができません。

404 Not Found該当アドレスのページがない、またはそのサーバーが落ちている状態です。
500番台(サーバーエラー)500 Internal Server Error

サーバーの内部にエラーが発生している状態です。

Googleサーチコンソールのサーバーエラーの項目で該当のURLを確認することができます。

503 Service Unavailable一時的にWebページが利用できない際に返されるステータスコードです。

まとめ

503エラーは下記のような原因により発生するエラーです。

  • 急激なアクセス増加で同時アクセス数の制限を超えた
  • サーバーへの過度な負荷やリクエスト処理の低下による制限

ひとまずは様子を見て復旧を待つのがベターですが、しばらく待っても解消されない場合には、アクセス制限やプラグインの停止などの対処が必要です。

頻発するようであれば、サーバーの乗り換えなどの予防策を講じることをオススメします。

下記の記事では、もっとも目にすることの多いHTTPステータスコードである、「404 not Found」について解説しています。

その他のHTTPステータスコードについても解説していますので、気になる方はぜひ読んでみてください。

SEO対策の中でも、エラーなどマイナスを防ぐための「内部対策」は非常に重要です。

以下の記事で、内部対策の全般について分かりやすくまとめていますので、ぜひ参考にしてみてください。

成果に直結する、オウンドメディア立ち上げサービス