500エラー(internal server error)とは?原因や調査・解決方法、似たステータス一覧!
500エラーとは、「internal server error」とも呼ばれ、Webサーバー内部にエラーが発生した際に表示されるHTTPレスポンスステータスコードです。 今回は500エラーに焦点を当て、その概要やSEOに与える影響、発生原因、対処方法などをご紹介します。気になるポイントを一挙確認してしまいましょう。
500エラー(internal server error)とは?
500エラーとは、「internal server error」とも呼ばれ、Webサーバー内部にエラーが発生した際に表示されるHTTPレスポンスステータスコードです。
HTTPレスポンスステータスコードとは、ユーザーリクエストに対して、Webサーバーからのレスポンス結果を表す3桁の数字コードです。
HTTPレスポンスステータスコードは、100番台〜500番台まであり、数字ごとに意味は異なります。
特に、500番台のHTTPレスポンスステータスコードは、「サーバーエラー」と呼ばれており、サーバーがブラウザからのリクエストの処理に失敗したことを表すエラーコードです。
なお、HTTPレスポンスステータスコードはHTTP/1.1の仕様にて決められています。
気になる方はぜひ読んでみてください。
500エラー(internal server error)がSEOに与える影響
500エラーが発生した場合、SEOにマイナスの影響を及ぼす可能性があります。
例えば、500エラーが発生したページを長時間放置すると、Googleがページの問題としてだけでなく、エラーを放置しているWebサイト全体の問題として捉える場合があります。
つまり、低品質のWebサイトであると判断され、WebサイトやページのGoogle検索順位が大きく下落する可能性があるのです。
そのため、500エラーが発生した場合は明確な原因を特定し、適切な対処を行いましょう。
500エラーはすぐに解消可能か?
500エラーは、PHPやCGIなど「サーバーの動きに関わるプログラム」に問題がある可能性が高いことを意味します。問題のある箇所を見つけて修正できれば、すぐにエラーは解消可能なので、問題のある部分を早く発見することが非常に重要です。例えば、直前にプログラムの設定・編集を行った場合は、触った箇所がエラーの原因となっている可能性が高いので、発見が容易です。ただし、レンタルサーバーやサーバーとのネットワークに原因がある場合ですと、サイト運営側は外部の対応を待つしかないので、思っているより時間がかかることもあります。
500エラー(internal server error)の発生原因と対策
500エラーが表示された場合は、以下の原因を考えてみましょう。
|
WebサーバーのPHPメモリ制限が使い果たされた
500エラーが発生する原因の一つに、WebサーバーのPHPメモリ不足があります。一般的にサーバーにはメモリの設定値が設定されています。メモリを超えるサイズのファイルをアップロードしようとするとエラーが発生します。メモリ不足かどうかの判別はエラーが発生している時点のサーバーのリソース状況を確認することで判別可能です。エラーを解決する対策としては、純粋にPHPのメモリ制限を増やすことがあります。Apacheやphp.ini、wp-config.phpファイルで制限を増やすことが可能です。
サーバーの空き容量が無くなっている
サーバーに空き容量がほとんどないことでエラーが出ることがあります。自動バックアップを使用し、気付かない間に画像や動画などの容量が大きくなっているケースもみられます。500エラーにならなかった場合も、サーバーに容量がない時には動作に支障が出てしまうため、空き容量には注意を払うことが必要です。対策としては、不要なファイルの削除によって、サーバーの空き容量を増やせるので、一度試してみてください。それでも足りない場合、容量の多いサーバーに変更することも検討することが重要です。
CGIやPHP、.htaccessのソースコードに間違いがある
CGIとは、WebサーバーがWebブラウザなどからの要求に応じてプログラムを実行する仕組みの1つです。.htaccessとは、Webサーバーの動作をディレクトリ単位で指定・制御できる設定ファイルのことを言います。対策としては、内容を確認し、記述ミスがあれば修正をすることがあります。ミスの場所が見つけられない場合は、バックアップを取り、.htaccessの初期化によって解消できることもあります。その他、アクセス制限の設定やApacheの設定ミス、Digest認証の設定方法なども確認するようにしましょう。
CPIのパーミッションに問題がある
パーミッションとは、ファイルへのリクエストを実行するための属性や権限設定のことを言います。パーミッションの設定が誤っていることもエラーの発生に関与しています。また、サーバーがレンタルサーバーの場合には、セキュリティ対策として通常とは異なるパーミッションが推奨されていることもあるので、確認しておくようにしましょう。もし、パーミッションの設定に不備があると分かれば、適切なパーミッションに修正すればよいので、設定を確認して、適宜対策をとることが重要です。
アクセス超過
Webサイトへのアクセス数の増加によってエラーが発生することがあります。一時的にサイトへのアクセス数が増加している場合には、サーバーに負荷が掛かりエラーが起こってしまいます。アクセスの集中が落ち着けばエラーも自動的に解消されるため、時間を置いて観察することで改善する場合もあります。しかし、エラーが頻発する場合には契約しているプランを見直し、アクセス数の増加にも耐えられるようにすることも検討してください。
過剰なGooglebotのクローリング
Googleのサイト表示順を決めるクローラーの訪問頻度が高いことでエラーになることがあります。通常クローリングはサイトに負担を掛けない程度で行われますが、異常な頻度でクローリングされることがあります。そうするとサーバーへの負荷が高まってエラーになってしまいます。対策として、管理画面から、Google の最大クロール頻度を制限することで、クロールの回数を減らすことができます。ただし、SEOに悪影響が出ることも考えられるため、一時的な対処法として利用することがおすすめです。
サーバー側がメンテナンスや再起動を行っている
サーバー会社側のWebサーバーに問題が生じ、500エラーが発生している場合があります。もしくはサーバーのメンテナンスが行われている可能性も考えられます。サーバー側の問題か確認する方法はサーバーのホームページやTwitterアカウントに障害やメンテナンスの情報が掲載されていないかをチェックすることです。こちら側で対応できることはほとんどなく、サーバー側の対応や復旧を待つしかありませんが、原因が判明することで余裕をもって回復まで待つことができます。
WordPressで起こりやすい500エラーの原因
WordPressは世界中で利用されているサイトやブログの作成ができるコンテンツ管理システムの1つです。WordPressを使うことで簡単にサイトを作ることができますが、WordPressを使ってWebサイトを構築している場合には、500エラーが発生することがよくみられます。500エラーが起きる原因として以下のようなものが考えられるので、エラーが起きたときにはそれぞれについて確認するようにしましょう。
|
そもそもHTTPステータスコードとは?
HTTPステータスコードとはブラウザ等を閲覧していて、サイトが表示されず、エラーページに遭遇した際に表示されるものです。例えば、何かを検索していてページを開いた瞬間に404:not foundという数字が表示されるなどのケースがあります。これらの数字はHTTPステータスコードと呼ばれており、Webサーバーからのレスポンスの結果を、3桁の数字コードで表したものです。HTTPレスポンスステータスコードは、100番台〜500番台まで多くの種類があり、数字ごとに意味が異なります。
ブラウザがWebサイトの情報を受け取る仕組み
何らかのURLをクリックしてWebページを閲覧するまでには、下記のような順序になっています。
|
500エラー(internal server error)と混同しやすいHTTPレスポンスステータスコード
ここでは、500エラーと混同しやすいHTTPレスポンスステータスコードについていくつか解説します。
ちなみに500番台は2022年2月現在で、11種類あります。
以下に、よくみられるHTTPレスポンスステータスコードをまとめたので、ぜひ参考にしてみてください。
エラー名 | 詳細 |
---|---|
100番台 | 情報レスポンス |
200番台 | 成功レスポンス |
300番台 | リダイレクションメッセージ |
400(Bad Request) | 不正なリクエスト。 400番台のエラーコードのどれにも当てはまらない場合に表示される漠然としたエラーコード |
401(Unauthorized) | 未認証。 Webサイトへログインする際、認証に失敗した場合やそのサイトへのアクセス権限がない場合に表示されるエラーコード |
403(Forbidden) | 権限なし。 アクセス権限を持っていないユーザーを除外する場合に表示されるエラーコード |
404(Not Found) | 見つかりません。 サーバーがリソースを見つけられなかった場合に表示されるエラーコード |
408(Request Timeout) | リクエストが時間切れ。 サーバーが設定している時間内にリクエストの返事を返せなかった場合に表示されるエラーコード |
426(Upgrade Required) | アップグレードを要求。 サーバーを新しいバージョンのHTTPの方式で接続して欲しい場合に表示されるエラーコード |
500(internal server error) | サーバー内部にエラーが発生した場合に表示されるエラーコード |
501(Not Implemented) | 未実装のメソッドを使用した場合に表示されるエラーコード |
502(Bad Gateway) | あるサーバーが別のサーバーから受け取ったレスポンスが有効でなかった場合に表示されるエラーコード |
503(Service Unavailable) | あるサーバーが別のサーバーから受け取ったレスポンスが有効でなかった場合に表示されるエラーコード |
511(Network Authentication Required) | クライアントがネットワークでアクセスするために認証が必要な場合に表示されるエラーコード |
HTTPレスポンスステータスコードには、他にも多数の種類があるため、気になる方は以下の公式ページを参照してみてください。
【公式ページ|HTTPレスポンスステータスコード】
500エラーに関するよくある質問
レスポンス500エラーとは?
500エラーとは、サーバー側に問題が発生した際に表示されるHTTPステータスコードのことを言います。サーバー自体に異常が発生していたり、アクセスが多すぎてリソースが逼迫していたりと様々な原因があるので、対策を立てるためにも原因を把握することが最も大切です。
400番台エラーと500番台エラーの違いは?
400~500番台のステータスコードは実際に何らかのエラーが発生していることを示します。400番台はクライアントからのリクエストにエラーがあった事を示しています。一方、500番台はサーバーがリクエストの処理を失敗したことを表しています。起こるエラーの大半がこの400~500番台のものです。
ユーザー側の500エラーの直し方は?
ユーザー側の5003エラーはページの再読み込みをしたり、ブラウザのキャッシュを削除したりすることで改善する場合があります。しかし、サーバー側の問題であることが多く、基本的にユーザーは何もすることができないので、しばらくたってから接続し直してみるようにするようにしてください。
500エラー(internal server error)は適切な対処で改善しよう!
このページでは、500エラーに焦点を当て、その概要やSEOに与える影響、発生原因、対処方法などについて解説しました。
ソースコードが原因で500エラーが発生している場合、問題の発見や対処に時間がかかります。
また500エラーを放置し続けると、SEOに悪影響を及ぼし、せっかく制作したWebサイトやページのGoogle検索順位が大幅に下落する可能性があります。
500エラーが発生した際は、ぜひ本記事を参考に改善/対策を試みましょう。
「HTTPレスポンスステータスコードのエラー」やSEOでお悩みの場合は株式会社ipeにご相談ください。株式会社ipeではSEOでの大手クライアント実績多数!SEOを検討する際にはぜひ一度ご相談ください。
SEOに関するご相談があれば、ぜひipe(アイプ)へご相談ください。