突然500エラー(Internal Server Error)に!原因と解決方法は?

500エラーまたはInternal Server Error(内部サーバーエラー)とは、サーバー側に問題が発生した際に表示されるHTTPステータスコードです。サイト所有者側の問題であるため、ネット上を探索していたときに遭遇した場合は、回復まで待つしかありません。

一方、自分のサイトが500エラーになっている場合は、その間はユーザーがアクセスできない状態であり、早急な回復が求められます。

このページでは500エラーの原因や解消方法に加えて、再発防止策やSEOへの影響などの知っておくと役立つ知識についても紹介します。

※編集部注:この記事は、2022年3月に公開された記事を加筆・修正したものです。

404エラー、500エラーなど対処法解説付き!何かあってもこれ1つで安心!エラー・ステータスコードの一覧集
今すぐ無料ダウンロード

500エラー(Internal Server Error)とは?

サーバーの仕組み

500エラーとは、サーバー自体に異常が発生しているなどにより、求める処理が実行されていないときに返されるHTTPステータスコードです。原因はサーバーの設定やプログラムに依存しており、さまざまな可能性が考えられます。

500エラーの表示例

500エラーの表示例

なお500エラーはサーバー内部のエラーであるため、サイトを訪問した閲覧者側では解消する術がありません。そういった場合は、時間を置いて再度アクセスしてください。

💡HTTPステータスコードとは?

私たちがWebサイトを閲覧しようとしたとき、システム側では「閲覧したいというリクエストに対し、レスポンスを返す」という処理が行われています。

しかし、さまざまな要因でレスポンスを返せないことがあり、その理由を数字で返したものが「HTTPステータスコード」です。500番台(500、503など)のステータスコードは、基本的にサーバーにエラーがあることを示しています。

500エラーがSEOに与える影響

500エラーがSEOに与える影響は、発生の時間や範囲によって異なります。

数分から数時間程度の一時的なエラーであれば、SEOへの影響はほとんどありません。Googlebotがアクセスした際に一時的にエラーを返しても、再クロール時に正常に表示されれば問題なく処理されます。

しかし、半日から一日程度続くのであれば注意が必要です。Googlebotが何度アクセスしてもエラーが返される場合、一時的にクロール頻度が低下し、新規ページのインデックス登録や更新内容の反映が遅れる可能性があります。

さらに、数日以上にわたりエラーが解消されない場合は、強い影響を受けるかもしれません。Googleはそのページを「利用できない」と判断し、インデックス削除や順位下落につながる恐れがあります。長期間にわたってサイト全体が500エラーを返し続けると、検索結果からの流入が減少する可能性が高まります

【サイト運営者向け】500エラーの主な原因・解決策・再発防止策

突然500エラーが起きる場合、原因の多くはWebサーバー上の問題または、Webサイトの技術的な問題によるものです。それぞれの原因の危険度や解決策などを表にまとめましたので、ご覧ください。

おことわり

  • 「SEOへの影響が発生するまでの時間」は、弊社の調査による目安としてご認識ください。500エラーがSEOに影響を及ぼしはじめるまでの時間は、Googlebotがクロールする頻度やサイト全体の評価、エラーの継続性など、多くの要因に左右されます。Googleも、明確な時間の基準は公表していません。
  • 危険度は、影響範囲や復旧難易度を踏まえて評価しています。

※原因をクリックすると、詳しく解説している箇所にジャンプします。
※表を右にスクロールすると、全体を閲覧することができます。

原因危険度SEOへの影響が発生
するまでの時間
平均復旧時間解決策再発防止策
レンタルサーバーの障害が発生している★★★★★半日〜1日数時間〜半日
  • サーバーの障害情報を確認し、復旧を待つ
PHPやCGIの処理中の異常がある★★★★☆数時間数時間〜半日
  • 推奨バージョンへアップデートする など
.htaccessの編集ミスがある★★★★☆半日数分〜1時間
  • 記述ミスを修正する
WordPressに問題がある★★★★☆半日数十分〜数時間
  • プラグインを停止する、または最新バージョンにアップデートする
  • バックアップファイルを削除する
  • バックアップデータの保存期間を短くする
サーバーを引っ越した際に設定を変更し忘れている
★★★★☆半日〜1日数時間〜1日
  • エラーが起きている場所を特定し、修正する
一時的にアクセスが集中している★★★☆☆数時間数分〜1時間
  • .htaccessなどでアクセス拒否や制限をかける など
  • プランを変更しサーバーを強化する
パーミッションの設定が間違っている★★★☆☆半日数十分〜数時間
  • 適切なパーミッションに設定しなおす
Googlebotのクロール頻度が過剰になっている★★☆☆☆数日数時間〜数日

レンタルサーバーの障害が発生している

まずは、利用中のレンタルサーバーで障害が発生していないかを確認します。自分のサイトで使用しているレンタルサーバーの公式サイトやSNSアカウントなどで、障害情報を確認してみてください。

障害が発生している場合、自社でできることはないため復旧まで待つしかありません。障害が発生していなければ、他の原因を探りましょう。

PHPやCGIの処理中の異常がある

500エラーの原因2

PHPやCGIなどのプログラムの記述に誤りがある場合にも、500エラーが発生します。

💡PHP、CGIとは?

PHPは主に動的なコンテンツを作成するときに使うプログラミング言語で、CGIはPHPなどで作ったWebサイトを動かすための仕組みのことです。

最近PHPのバージョン変更をした、もしくは古いままになっている、書き換えをした場合は、PHPやCGIなどのプログラムの記述に誤りがある可能性が高いです。

WordPressはPHPを使用して開発されており、CGIを組み合わせて動かしている方もいるかと思います。サーバーはPHPとCGIを参照してWebページの中身を表示しているため、PHPとCGIの処理中に異常があると500エラーが起きる可能性があります。

記述のミスやファイル不足のほか、PHPバージョンの相違などが、主なエラーの原因です。PHPの書き換えや更新を行った場合には、編集箇所にミスがあった可能性も大いに考えられます。

原因を明確にするには、サーバーログファイルなどを確認してみるのがよいでしょう。

PHPやCGIのエラーが原因の場合の解決策

PHPのバージョンが古いためにエラーが発生したのであれば、サーバーの管理画面などから推奨されているバージョンへアップデートするなどの対処を行いましょう。

もしWordPressの推奨環境に合わせて、PHPのバージョンをアップデートしたにもかかわらず、エラーが発生する場合は、インストールされているプラグインやテーマとの互換性が原因だと考えられます。

PHP Compatibility Checker」など、PHPと別システムの互換性を調べるプラグインを使えば、スムーズに原因が突き止められますので、確認してみてください。

500エラーでCGIが動作していない場合の解決策については、以下の記事が参考になります。

参考サイト:Internal Server ErrorでCGIが動作しない時の直し方|iCLUSTA

.htaccessの編集ミスがある

.htaccess(ドットエイチティーアクセス)のファイルに記述ミスがある場合にも、500エラーが発生します。エラーの直前に.htaccessを編集した場合には、記述ミスがないか確認してみましょう。

💡.htaccessとは?

Apacheウェブサーバーの設定をディレクトリ単位で制御するための設定ファイルです。このファイルを使用することで、特定のディレクトリやそのサブディレクトリに対して、さまざまな設定を行うことができます。

特に注意すべきなのは、パスの記述をフルパスにしていないことが原因で、正しくプログラムが呼び出せずエラーになってしまうことです。

他にも、以下が原因で.htaccessが正しく実行できないこともあります。

.htaccessが正しく実行できない原因

  • ファイル内に全角スペースや全角文字を使用している(正しく読み込めない)
  • アップロードする際のパーミッション設定が誤っている
  • 最後の行の改行が抜けている(末尾に改行が必要)

.htaccessの編集ミスが原因の場合の解決策

まずは.htaccessの内容を確認し、記述ミスがあれば修正しましょう。もし誤っている箇所が突き止められない場合には、バックアップを取ったうえで.htaccessを初期化する方法もあります。

WordPressを使用している場合は.htaccessを直接編集していなくても、プラグインやツールによって、.htaccessが自動的に書き換えられていることもあります。

直前にプラグインを追加、あるいはアップデートした場合には、.htaccessへの影響もチェックするとよいでしょう。

WordPressに問題がある

WordPressを使ってWebサイトを構築していると、たびたび500エラーが発生することがあります。WordPressを使用していて500エラーが発生した場合、以下の原因が考えられます。

WordPressを使用している場合の500エラーが発生する原因

  • PHPのバージョン変更
  • WordPressのアップデート
  • テーマのアップデート
  • プラグインの更新や追加
  • テーマのカスタマイズ(PHP編集)
  • バックアッププラグインの挙動

プラグイン同士の相性や、プラグインとPHPのバージョンの互換性が原因となることがあります。またテーマのカスタマイズやPHPの編集ミスが、エラー発生の引き金となることもあるのです。

ほかにも、バックアップ系プラグインによるバックアップファイルが肥大化し、サーバーを圧迫するケースもあります。

WordPressのプラグインやテーマが原因の場合の解決策

WordPressプラグインやテーマとPHPのバージョンが合わず、エラーが発生するケースでは主な解決策として以下が挙げられます。

WordPressプラグイン・テーマとPHPのバージョンが合わない場合の解決策

  • WordPressのプラグイン(テーマ)を停止する
  • WordPressのプラグイン(テーマ)を最新バージョンにアップデートする

どのプラグインが原因か特定できない場合は、PHPバージョンの互換性をチェックできるプラグインを使用するなどし、適宜対処しましょう。

バックアップ系プラグインによるデータの肥大が原因であれば、以下を実施するのがおすすめです。

バックアップ系プラグインによるデータが肥大している場合の解決策

  • プラグイン(またはバックアップ作業)を停止する
  • ファイルマネージャーやFTPソフトでバックアップファイルを削除する

解消が終わったら、今後はバックアップデータがサーバーを圧迫しないよう、バックアップデータの保存期限を短く設定するとよいでしょう。

下の記事で、WordPress初級者におすすめのプラグインについてまとめていますので、ぜひ参考にしてみてください。

サーバーを引っ越した際に設定を変更し忘れている

今まで使っていたサーバーから他のサーバーに引っ越した後、設定し忘れている部分があると、サイトが正しく動作せず500エラーが出てしまうことがあります。

よくある設定忘れとして、以下が挙げられます。

よくある設定忘れの例

  • パス設定の不整合:CGIやPHPのプログラムを呼び出すパスが、旧サーバーのままになっていることがあります。

  • .htaccess の記述ミスや移行漏れ:古いサーバーでは有効だった記述が、新しいサーバーでは使えずエラーになってしまうことがあります。

  • PHPバージョンやモジュール設定の違い:新サーバー側の環境に合わせたバージョン変更をしておらず、プログラムが動かないことがあります。

  • パーミッションの設定不備:サーバー移行時にファイルの権限が引き継がれず、実行できなくなることがあります。

設定の変更し忘れが原因の場合の解決策

まずエラーログを確認し、どのファイルや設定でエラーが起きているか把握します。

次に.htaccess の内容を見直し、旧サーバーの設定がそのまま残っていないかを確認します。特にモジュールの指定やディレクトリのパス指定が原因になりやすいため、注意が必要です。さらに、プログラムを呼び出すパスが新しいサーバーの構造に合っているかを確認し、必要であれば修正しましょう。

PHPのバージョンやモジュール設定については、管理画面から推奨バージョンに切り替えたり、必要なモジュールが有効になっているかを確認したりしましょう。特にWordPressのようなCMSを利用している場合は、推奨環境に合わせて調整することで、安定して稼働させることができます。

パーミッションの設定不備の解決策に関しては、次の「パーミッションの設定が間違っている」をご覧ください。

一時的にアクセスが集中している

500エラーの原因

急激に多くのユーザーが同時にアクセスすることで、サーバーの処理能力を超える負荷がかかり、500エラーが発生することがあります。アクセス集中によって起こるエラーは、通常「503 Service temporarily unavailable」であることが多いですが、急激なアクセス数の上昇によってPHPやCGIの処理中に異常が発生し、500エラーのステータスコードが返ってくるケースがあります。

リアルタイムのアクセス状況は、GA4のレポート>リアルタイムから閲覧することが可能です。

一時的にアクセスが集中している場合の解決策

一時的な負荷によるエラーが起こっている場合、負荷の原因となるアクセスが減少すれば自然に解消されます。ただし同様のエラーが頻発する場合には、負荷がかかっている原因を確認する必要があります

500エラーの原因は、サーバーのログファイルから特定できます。もしエラーの原因に心あたりがない場合は、エラーログをダウンロードして確認しましょう。

スパムクローラー(リファラースパム)によるアクセス負荷が原因の場合には、.htaccessなどでアクセス拒否や制限をかけるなどの対策を行います。アクセスの急な増加にも耐えられるよう、プランを変更してサーバーを強化する方法を検討するのもよいでしょう。

リファラースパムの対処方法については、以下の記事をご覧ください。

WordPressを使用している場合は、高速化設定でサーバーへの負荷を軽減するのも効果的です。

パーミッションの設定が間違っている

アップロードしたCGIファイルのパーミッション設定を誤っている場合にも、正常にファイルが読み込めず、500エラーが返ってきます。パーミッションとは、ファイルを実行するための権限設定や属性です。

レンタルサーバーによってはセキュリティの観点から、一般的なパーミッションと異なるパーミッション値が推奨されている場合があります。CGIを動かす場合は、念のためレンタルサーバーが指定したパーミッションに設定されているか確認しましょう。

パーミッション設定が原因の場合の解決策

CGIや.htaccessのパーミッションの設定が誤っている場合は、適切なパーミッションに設定しなおすことで解消できます

ただし一般的には正しいパーミッション設定でも、レンタルサーバーによっては、セキュリティの関係上動作しないことがあります。

FTPソフトを使い、サーバーに適したパーミッションで再度アップロードするか、サーバーのファイル管理(ファイルマネージャー)などを利用して、正しく設定し直しましょう。

Googlebotのクロール頻度が過剰になっている

Googleではサイト内の検索情報を収集するため、Googlebotと呼ばれるデータ収集プログラム(クローラー)を走らせます。通常はWebサイトに負荷をかけないような頻度でクローラーを回しますが、まれに過剰な頻度でクローリングするケースがあるのです。

クロール状況は、Google Search Consoleの左サイドバーの設定>クロールの統計情報から確認できます。クローラーの頻度が異常に高くなっている場合、Webサイトへ一時的に大量のアクセスが集まったときと同じような状態になります。

特にページ数の多いWebサイトなどでは、一度に全てのページをクロールすると負荷がかかり、500エラーの原因になっている可能性があります。

Googlebotのクロール頻度が過剰になっている場合の解決策

Googlebotのクロール頻度が高いことが原因で500エラーが発生した場合、残念ながらその時点ではすぐにエラーを解消させる方法がありませんまずはクロールが落ち着き、サーバーに余裕がでて自然とエラーが解消されるまで待ちましょう。

今後発生させないためには、効率的にサイトをクロールできるように、サイト構造の見直しや読み込み速度の改善などを行いましょう。Googleのヘルプページが参考になります。

  • robots.txt を使用して、サイズは大きいが重要でないリソースが Googlebot によって読み込まれることを防ぎます。重要でないリソース、つまりページの意味を理解するうえで重要でないリソース(装飾画像など)のみをブロックしてください。
  • ページの読み込みが速いことを確認します。
  • 長いリダイレクト チェーンはクロールに悪影響を及ぼすため、ご注意ください。
  • サーバー リクエストに応答する時間と、ページのレンダリングに必要な時間の両方が重要です。これには、画像やスクリプトなどの埋め込みリソースの読み込み時間と実行時間も含まれます。インデックスへの登録が必要な大きいリソース、つまり読み込みが低速なリソースにご注意ください。

引用:大規模サイト所有者のためのクロールバジェット管理ガイド|Google検索セントラル

💡クロール頻度を制限する方法はある?

2023年まではクロール頻度の制限ツールがありましたが、現在はサポートを終了しています。

これはクロールのロジックが改善されたためで、Googlebotは、サーバーがさまざまなURLに対して500 HTTPステータスコードを継続的に返す場合、自動的に(ほぼ即座に)クロール速度を落とします。同様に、リクエストの応答時間が大幅に長くなると、Googlebot は自動的にクロール速度を落とすという仕様です。

【サイト運営者向け】500エラーの予防策

エラー発生後の対処法だけでなく、エラーを未然に防ぐ予防策の検討も重要です。以下の方法も、ぜひ検討してみてください。

ステージング環境を活用する

PHPのバージョンアップやプラグインの更新、.htaccessの編集など、サーバーに影響を与えるような変更をする場合は、本番環境に適用する前にテスト環境(ステージング環境)で動作確認を行うのがおすすめです。

テスト環境で事前に試すことで、本番環境でのエラーを防げる可能性が高まります

メンテナンス時に503エラーを利用する

503エラーとは、Webサイトが何らかの理由により閲覧制限がかかっている状態になっているときに表示されるHTTPステータスコードです。この503エラーを使えば、一時的な問題であることを検索エンジンに伝えることが可能です

503エラーが設定されていないと、メンテナンス中のページが、通常の公開ページ扱いでクローラーに読み込まれてしまう恐れがあります。その場合、SEOにおける評価が低下することも考えられます。

カスタムエラーページを用意する

500エラーの画面は、サーバーが自動的に表示する標準ページです。ただ、この500エラーの画面はユーザーに伝わりづらいため、ユーザーの離脱やブランドイメージの低下につながる原因となります。

これを防ぐには、サイトのデザインを適用したカスタムエラーページを用意するのが効果的です。

カスタムエラーページの例

  • 謝罪・状況説明:専門用語を使わず、わかりやすい言葉で記載します。
  • 共通デザインを使用:サイトのロゴやヘッダーを使い、安心感を与えます。
  • トップページなどへのリンクの設置:ユーザーがサイト内に留まるよう、トップページやサイト内検索、主要コンテンツへのリンクを設置します。

【サイト閲覧者向け】500エラーに遭遇したらすること

500エラーはあなたの操作ミスではなく、サイトの管理側で解決すべき問題です。閲覧者側で特に原因を気にする必要はありませんが、早くサイトにアクセスしたい場合は以下の方法を試してみてください。

  • ページを再読み込みしてみる:一時的な問題であれば、「F5キー」やブラウザの再読み込みボタンで直ることがあります。
  • しばらく時間を置いてからアクセスする:サーバーが一時的に負荷を抱えている場合、少し時間を置くことで問題が解消されることがあります。
  • サイト管理者に連絡する:問い合わせ窓口があれば、500エラーについて連絡すると解消が早まるかもしれません。

繰り返しになりますが、500エラーはサーバーやプログラムの内部的な問題です。閲覧者が直接修正できるものではないため、基本的には回復を待つしかありません。

よくある質問

500エラーはすぐに解決できる?

500エラーをすぐに解決できるかは、「問題のあるプログラムを発見できるか」にかかっています。

500エラーは、PHPやCGIなどの「サーバーの動きに関わるプログラム」に問題がある結果として、起きるケースが多いです。

問題のある箇所を見つけて修正できれば、すぐに500エラーも解消されるはずなので、どれだけ迅速に問題のあるプログラムを発見できるかが重要です。直前にプログラムの設定・編集を行った場合は、触った箇所がエラーの原因となっている可能性が高いため、すぐに問題を発見できるかもしれません。

HTTPステータスコードとクロールエラーについて、詳しくは以下で解説していますのでぜひ確認してみてください。

もちろん、レンタルサーバーやサーバーとのネットワークに原因があり、サイト運営者側は待つしかないというケースもあります。エラーが起きた際は、レンタルサーバーやホスティングしているサービス側の障害情報やステータスコードページで、使用しているレンタルサーバーに問題がないか確認するようにしましょう。

500エラーを放置するとどうなりますか?

長期的に500エラーを放置してしまうと、単なる機会損失だけでなく、クロールエラーが続き、インデックス削除につながる恐れがあります

500エラーが解消されないまま放置した場合、インデックスからWebサイトが削除される可能性があります。インデックスから削除されるということは、検索結果上にWebサイトが表示されなくなるということです。

サイト運営者にとってはかなり深刻な問題ですので、早いうちに解消するように努めましょう。

まとめ

500エラーは、WebサイトのPHPやCGIが正しく処理できずに発生することが多いです。早期に解消できれば、SEOにおけるマイナスの影響は生じにくいと考えられます。

まずはサーバーのログファイルなどを確認し、落ち着いてエラーの原因を探りましょう。

下記の記事では、SEOのマイナス評価を防ぐために重要な「内部対策」全般について解説しています。苦労して作り上げているサイトが、マイナス評価を受けてしまうと非常にもったいないので、気になる方はぜひ読んでみてください。

株式会社PLAN-Bについて
SEO対策インターネット広告運用などデジタルマーケティング全般を支援しています。マーケティングパートナーとして、お客様の課題や目標に合わせた最適な施策をご提案し、「ビジネスの拡大」に貢献します。

■SEOサービスについて
SEOコンサルティング
SEO事業歴18年以上、SEOコンサルティングサービス継続率95.3%の実績に基づき、単なるSEO会社ではなく、SEOに強いマーケティングカンパニーとして、お客様の事業貢献に向き合います。

SEOツールSEARCH WRITE
SEARCH WRITE」は、知識を問わず使いやすいSEOツールです。SEOで必要な分析から施策実行・成果振り返りまでが簡単に行える設計になっています。

■その他
関連するサービスとしてWebサイト制作記事制作CROコンサルティング(CV改善サービス)なども承っております。また、当メディア「PINTO!」では、SEO最新情報SEO専門家コラムも発信中。ぜひ、SEO情報の収集にお役立てください。

※弊社「SEOコンサルティングサービス」を1ヶ月を超える契約期間でご契約のお客様が対象
※集計期間(2024/01~2024/12)中に月額最大金額を20万円以上でご契約のお客様(当社お客様の87%は月額最大金額が20万円以上)が対象

売上につながる戦略を明確にする SEOコンサルティング