SEOとは?SEO対策で上位表示する効果的な施策と事例
SEO対策
2025.01.08
更新日:2024.12.25
公開日:2022.03.25
500エラーまたはInternal Server Error(内部サーバーエラー)とは、サーバー側に問題が発生した際に表示されるHTTPステータスコードです。サイト所有者側の問題であるため、ネット上を探索していたときに遭遇した場合は、回復まで待つしかありません。
一方、自分のサイトが500エラーになっている場合は、その間はユーザーがアクセスできない状態であり、早急な回復が求められます。
このページでは、500エラーの原因や解消方法について解説、また再発防止策やSEOへの影響などの知っておくと役立つ知識についても紹介します。
500エラーとは、サーバー自体に異常が発生しているなどの原因で求める処理が実行されていないときに返されるHTTPステータスコードです。
サーバーとは、データの保管・情報処理などをおこなうシステムのことです。ユーザーからの「サイトを閲覧したい」といったリクエストに応じて、データの送受信や処理を行い、レスポンスする役割があります。500エラーは、このサーバー内に何らかのエラーが発生している状態です。
具体的な原因はサーバーの設定やプログラムに依存しており、さまざまな可能性が考えられます。
なお、500エラーはサーバー内部のエラーであるため、サイトを訪問した閲覧者側では解消させる術がありません。閲覧者側で500エラーが表示された場合は、一定時間を空けてから再度アクセスしてください。
HTTPステータスコードとは?
私たちがWebサイトを閲覧しようとしたとき、システム側では「閲覧したいというリクエストに対し、レスポンスを返す」という処理が行われています。
しかし様々な要因で、レスポンスを返せないことがあり、その理由を数字で返したものが「HTTPステータスコード」です。500番台(500、503など)のステータスコードは、基本的にサーバーにエラーがあることを示しています。
この記事の後半で、押さえておきたい主要なHTTPステータスコードを紹介していますので、気になる方はチェックしてみてください。
500エラーはあなたの操作ミスではなく、サイトの管理側で解決すべき問題です。閲覧者側で特に原因を気にする必要はありませんが、早くサイトにアクセスしたい場合は以下の方法を試してみてください。
繰り返しになりますが、500エラーはサーバーやプログラムの内部的な問題です。閲覧者が直接修正できるものではないため、基本的には回復を待つしかありません。
突然500エラーが起きた場合、原因の多くはWebサーバー上の問題または、Webサイトの技術的な問題によるものです。原因を特定のために、以下を確認してみてください。
それぞれ確認方法を説明します。
まず確認することは、お使いのレンタルサーバーで障害が発生していないかです。自分のサイトで使用しているレンタルサーバーの公式サイトやSNSアカウントなどで、障害情報を確認してみてください。
障害が発生している場合、自社でできることはないため復旧まで待つしかありません。
主なレンタルサーバーの障害情報は以下からご確認いただけます。
障害が発生していなければ、他の原因を探りましょう。
急激に多くのユーザーが同時にアクセスすることで、サーバーの処理能力を超える負荷がかかり、500エラーが発生することがあります。アクセス集中によって起こるエラーは、通常「503 Service temporarily unavailable」であることが多いですが、急激なアクセス数の上昇によってPHPやCGIの処理中に異常が発生することがあり、このときも500エラーのステータスコードが返ってくるケースがあります。
一過性のものであれば観察、継続的に発生するものであればサーバースペックを上げることも検討しましょう。リアルタイムのアクセス状況は、GA4の[レポート>リアルタイム]から確認してみてください。
一時的な負荷によるエラーである場合、負荷の原因となるアクセスが減少すれば自然に解消されます。ただし同様のエラーが頻発する場合には、負荷がかかっている原因を確認する必要があります。
どのような原因で500エラーが発生したのかは、サーバーのログファイルをチェックするとその理由を確認できます。もしエラーの原因に心あたりがない場合は、エラーログをダウンロードして確認しましょう。
スパムクローラー(リファラースパム)によるアクセス負荷が原因の場合には、.htaccessなどでアクセス拒否や制限をかけるなどの対策を行います。アクセスの急な増加にも耐えられるよう、プランを変更してサーバーを強化する方法を検討するのもよいでしょう。
リファラースパムの対処方法は以下の記事を参考にしてください。
WordPressを使用している場合は、高速化設定でサーバーへの負荷を軽減するのも効果的です。
Googleではサイト内の検索情報を収集するため、Googlebotと呼ばれるデータ収集プログラム(クローラー)を走らせます。通常はWebサイトに負荷をかけないような頻度でクローラーを回しますが、まれにとてつもない頻度でクローリングするケースがあるのです。
クロール状況については、Google Search Consoleの左サイドバーの[設定>クロールの統計情報]から確認してみてください。クローラーの頻度が異常に高くなっている場合、Webサイトへ一時的に大量のアクセスが集まったときと同じような状態になります。
とくにページ数の多いWebサイトなどでは、一度に全てのページをクロールすると負荷がかかり、500エラーの原因になっている可能性があります。
Googlebotのクロール頻度が高いことが原因で、500エラーが発生した場合、残念ながらその時点ではすぐにエラーを解消させる術がありません。まずはクロールが落ち着き、サーバーに余裕がでて自然とエラーが解消されるまで待ちましょう。
2023年まではクロール頻度の制限ツールがありましたが、現在はサポートを終了しています。これはクロールのロジックが改善されたためで、Googlebotは、サーバーがさまざまなURLに対して500 HTTPステータスコードを継続的に返す場合、自動的に(ほぼ即座に)クロール速度を落とします。同様に、リクエストの応答時間が大幅に長くなると、Googlebot は自動的にクロール速度を落とします。
今後発生させないためには、効率的にサイトをクロールできるように、サイト構造の見直しや読み込み速度の改善などを行いましょう。Googleのヘルプページが参考になります。
robots.txt を使用して、サイズが大きくても重要でないリソースが Googlebot によって読み込まれないようにします。重要でないリソース、つまりページの意味を理解する上で重要でないリソース(装飾画像など)のみをブロックするようにしてください。
ページの読み込みが速いことを確認してください。
クロールに悪影響を及ぼす長いリダイレクト チェーンには注意してください。
サーバー要求に応答する時間と、ページのレンダリングに必要な時間の両方が重要であり、画像やスクリプトなどの埋め込みリソースの読み込み時間と実行時間も含まれます。インデックス作成に必要な大量のリソースや遅いリソースに注意してください。
PHPやCGIなどのプログラムの記述に誤りがある場合にも、500エラーが発生します。
PHP、CGIとは?
PHPは主に動的なコンテンツを作成するときに使うプログラミング言語で、CGIはPHPなどで作ったWebサイトを動かすための仕組みのことです。
最近PHPのバージョン変更をした、もしくは古いままになっている、最近書き換えをしたなどの状況であれば、この原因を疑いましょう。
WordPressはPHPを使用して開発されており、CGIを組み合わせて動かしている方もいらっしゃるかと思います。サーバーはPHPとCGIを参照してWebページの中身を表示しているため、PHPとCGIの処理中に異常があると500エラーが起きる可能性があるということです。
具体的には、記述のミスやファイル不足のほか、PHPバージョンの相違などが主なエラーの原因となります。PHPの書き換えや更新を行った場合には、編集箇所にミスがあった可能性も大いに考えられます。
サーバーログファイルなどをチェックすると、原因が明確にわかりますのでチェックしてみるとよいでしょう。
PHPのバージョンが古いためにエラーが発生したのであれば、サーバーの管理画面などから推奨されているバージョンへアップデートを行うなどの対処を行いましょう。
もしWordPressの推奨環境に合わせて、PHPのバージョンをアップデートしたにもかかわらず、エラーが発生する場合は、インストールされているプラグインやテーマとの互換性が原因だと考えられます。
「PHP Compatibility Checker」など、PHPと別システムの互換性を調べるプラグインを使えば、スムーズに原因が突き止められますので、確認してみてください。
500エラーでCGIが動作していない場合の解決方法については以下の記事が参考になります。
参考サイト:Internal Server ErrorでCGIが動作しない時の直し方|iCLUSTA
.htaccess(ドットエイチティーアクセス)のファイルに記述ミスがある場合にも、500エラーが発生します。エラーの直前に.htaccessを編集した場合には、記述ミスがないか確認してみましょう。
よくあるのは、パスの記述をフルパスにしていないことが原因で、正しくプログラムが呼び出せずエラーになってしまうことです。
ほかにも
などの理由により.htaccessが正しく実行できないケースもあります。
.htaccessとは?
Apacheウェブサーバーの設定をディレクトリ単位で制御するための設定ファイルです。このファイルを使用することで、特定のディレクトリやそのサブディレクトリに対して、さまざまな設定を行うことができます。
まずは.htaccessの内容を確認し、記述ミスがあれば修正しましょう。もし誤っている箇所が突き止められない場合には、バックアップを取ったうえで.htaccessを初期化する方法もあります。
WordPressを使用している場合は、.htaccessを直接編集していなくても、プラグインやツールによって、.htaccessが自動的に書き換えられていることもあります。
直前にプラグインを追加、あるいはアップデートした場合には、.htaccessへの影響もチェックするとよいでしょう。
アップロードしたCGIファイルのパーミッション設定を誤っている場合にも、正常にファイルが読み込めず、500エラーが返ってきます。パーミッションとはファイルを実行するための権限設定や属性です。
レンタルサーバーによってはセキュリティの観点から、一般的なパーミッションと異なるパーミッション値が推奨されている場合もあります。CGIを動かす場合は、念のためレンタルサーバーが指定したパーミッションに設定されているか確認しましょう。
CGIや.htaccessのパーミッションの設定が誤っている場合は、適切なパーミッションに設定しなおすことで解消できます。
パーミッションとはフォルダやファイルに対する、ユーザーのアクセス権限のことです。正しく設定しないとサーバーが正常に動作せず、エラーにつながります。
ただし、一般的には正しいパーミッション設定でも、レンタルサーバーによってはセキュリティの関係上動作しないこともあります。
FTPソフトを使い、サーバーに適したパーミッションで再度アップロードするか、サーバーのファイル管理(ファイルマネージャー)などを利用して、正しく設定し直しましょう。
WordPressを使ってWebサイトを構築していると、たびたび500エラーが発生することがあります。WordPressを使用していて500エラーが発生した場合、以下の原因が考えられます。
プラグイン同士の相性や、プラグインとPHPのバージョンの互換性が原因となることがあります。またテーマのカスタマイズやPHPの編集ミスが、エラー発生の引き金となることもあるのです。
ほかにも、バックアップ系プラグインによるバックアップファイルが肥大化し、サーバーを圧迫するケースもあります。
WordPressプラグインやテーマとPHPのバージョンが合わず、エラーが発生するケースでは
などが主な解消法となります。
どのプラグインが原因か特定できない場合は、PHPバージョンの互換性をチェックできるプラグインを使用するなどし、適宜対処しましょう。
バックアップ系プラグインによるデータの肥大が原因であれば、
することで解消可能です。
解消が終わったら、今後はバックアップデータがサーバーを圧迫しないよう、バックアップデータの保存期限を短く設定するとよいでしょう。
下の記事で、WordPress初級者にオススメのプラグインについてまとめていますので、ぜひ参考にしてみてください。
ここでは、200~500番台の主なHTTPステータスコードを紹介します。
特に、300~500番台のHTTPステータスコードは、Webサイトを運営する上では重要な項目ですので、ぜひとも覚えておきましょう。
HTTPステータスコード例 | メッセージ | |
200番台(処理の成功) | 200 OK | サーバーへのリクエストが正しく処理され、ページが表示される状態です。 我々が通常見ているWebページの裏では、「200 OK」が返されていることが多いです。 |
---|---|---|
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を確認することができます。 |
502 Bad Gateway | サーバーの入り口であるゲートウェイやプロキシサーバーが、不正(異常)なリクエストを受け取り、そのリクエストを拒否したことを示しています。 | |
503 Service Unavailable | 一時的にWebページが利用できない際に返されるステータスコードです。 |
A.「問題のあるプログラムを発見できるかどうか」にかかっています。
500エラーは、PHPやCGIなどの「サーバーの動きに関わるプログラム」に問題がある結果として、起きるケースが多いです。
問題のある箇所を見つけて修正できれば、すぐに500エラーも解消されるはずなので、どれだけ迅速に問題のあるプログラムを発見できるかが重要でしょう。
直前にプログラムの設定・編集を行った場合は、触った箇所がエラーの原因となっている可能性が高いため、すぐに問題を発見できるかもしれません。
HTTPステータスコードとクロールエラーについて詳しくは、以下の解説していますのでぜひ確認してみてください。
もちろん、レンタルサーバーやサーバーとのネットワークに原因があり、サイト運営者側は待つしかないというケースもあります。
エラーが起きた際は、レンタルサーバーやホスティングしているサービス側の障害情報やステータスコードページで、使用しているレンタルサーバーに問題がないかどうか確認するようにしましょう。
A.長期的に500エラーを放置してしまうと、単なる機会損失だけでなく、クロールエラーが続き、インデックス削除につながる危険性があります。
500エラーが解消されないまま放置した場合、インデックスからWebサイトが削除される可能性があります。
インデックスから削除されるということは、検索結果上にWebサイトが表示されなくなるということです。
サイト運営者にとってはかなり深刻な問題となりますので、早いうちに解消するように努めましょう。
500エラーは、WebサイトのPHPやCGIが正しく処理できずに発生することが多いエラーです。
長期的にエラーを放置しなければ、SEOにおいてマイナスの影響をすぐに受けるようなことはありません。
まずはサーバーのログファイルなどを確認し、落ち着いてエラーの原因を探りましょう。
下記の記事では、SEOのマイナス評価を防ぐために重要な、「内部対策」全般について解説しています。
苦労して作り上げているサイトが、マイナス評価を受けてしまうと非常にもったいないので、気になる方はぜひ読んでみてください。
■株式会社PLAN-Bについて
SEO対策やインターネット広告運用などデジタルマーケティング全般を支援しています。マーケティングパートナーとして、お客様の課題や目標に合わせた最適な施策をご提案し、「ビジネスの拡大」に貢献します。
■SEOサービスについて
①SEOコンサルティング
5,200社を超える支援実績に基づき、単なるSEO会社ではなく、SEOに強いマーケティングカンパニーとして、お客様の事業貢献に向き合います。
②SEOツール「SEARCH WRITE」
「SEARCH WRITE」は、知識を問わず使いやすいSEOツールです。SEOで必要な分析から施策実行・成果振り返りまでが簡単に行える設計になっています。