500エラー(Internal Server Error)の解決方法│原因と特定方法を解説

500エラー(Internal Server Error)を放置するとSEO上の深刻な問題に発展しかねません。本記事では、500エラー(Internal Server Error)が発生する原因や、エラー解消の方法、SEOに対する影響など、具体的な内容を絡めて解説します。迅速なエラー解消のためにお役立てください。
特徴 | 説明 |
---|---|
定義 | サーバー内部エラー。サーバーがリクエストを処理できなかった場合に発生する |
原因 | コードのバグ、サーバーの設定ミス、過負荷など |
影響 | WEBサイトが正常に表示されない、ユーザーにエラーメッセージが表示される |
対処方法 | サーバーのログを確認し、エラーの原因を特定して修正する |
よくある原因 | ・アクセスの過多によるサーバーへの過負荷 ・PHPの記述ミス ・.htaccessの書き間違え ・Google bot(クローラー)の過剰アクセス ・パーミッションの誤設定 ・悪質なbot攻撃 |
SEOへの影響 | 長期間発生し続けるとインデックスから削除される可能性がある |
500エラー(Internal Server Error)の意味
500エラー(Internal Server Error)とは、WEBサイトが表示できない際に出るHTTPステータスコードのひとつで、WEBサイトを動かしているサーバー側に何らかの問題が起きている状態を意味します。
もう少し簡単に言うと、「サーバー(WEBサイトのデータが置かれているコンピューター)側にエラーが起きていて、ブラウザ(ChromeやSafariなど)からのリクエストを正しく処理できないため、ページが表示できない状態」のことです。
500エラーが出た場合、サイトを閲覧している訪問者側でできる対処方法は限られており、基本的にはサイトの管理者が対応する必要があります。
500エラーが発生した場合はブラウザ上に次のようなエラーメッセージが表示され、ユーザーはコンテンツが閲覧できない状態となります。
Internal Server Error
HTTP 500 - Internal Server Error
500. That’s an error.
HTTP Error 500
Server Error in '/' Application
500 Internal Server Error. Sorry, something went wrong.
500 Error. The server encountered an unexpected condition.
HTTP 500 - Server Error
500 Service Unavailable
We're sorry, but something went wrong on our end.
※ 表記内容は、ブラウザやサーバーの種類によって異なります。
ただし、500エラーは原因が特定しづらいエラーです。その理由について次の項目で解説します。
「500エラー」は原因が特定しづらいエラー
500エラーは「Internal Server Error)」と呼ばれる通り、サーバー内部で何らかの問題が起きていることを示す非常に汎用的なエラーコードです。
例えば、503エラーは「サービスが一時的に利用できない」504エラーは「サーバーの応答がタイムアウトした」など、ある程度原因特定された状態で出されるエラーです。
しかし、500エラーは「何か問題があるが、詳細はわからない」という状態で表示されるため、ユーザーにもサーバー管理者にもエラーの原因が一見してわかりにくいという特徴があります。
このように、500エラーは「結果的な症状」でしかなく、「原因の詳細」は管理者側で調査しない限りわからないエラーとなります。
次の項目で、500エラーの原因と特定方法・解決方法について詳しく解説します。
500エラーの原因と解決方法
500エラーを引き起こす可能性がある6つの原因と、その解決方法について解説します。
アクセス過多による500エラーの解決方法
PHPなどプログラムの記述ミスによる500エラーの解決方法
.htaccessの書き間違いによる500エラーの解決方法
パーミッションの誤設定による500エラーの解決方法
Googleクローラーの過剰アクセスによる500エラーの解決方法
外部APIとの接続エラーによる500エラーの解決方法
原因①:アクセス過多による500エラーの解決方法
大量のアクセスが短時間に集中すると、サーバーが処理できずに500エラーが発生することがあります。例えば、SNSでバズった場合やセールやキャンペーンの時間帯にユーザーが急増する場合などに発生します。
アクセスの集中によるサーバー過負荷では、本来「503 Service Unavailable」が表示されるのが一般的ですが、アクセス増加に伴いサーバー内部のアプリケーションやプログラムにエラーが発生した場合、500エラーが返されることがあります。
つまり、過負荷そのものではなく、それに起因する内部処理エラーが原因で500エラーになっているため、アクセス過多による500エラーが頻発する場合はサーバーの容量を上げるなどして対応しましょう。
サーバーの管理画面やモニタリングツールで、CPUやメモリなどのリソース使用率が極端に高くなっていないか確認する。
サーバーのプランの見直しを行い処理能力を強化する(スケールアップ、オートスケーリング機能の活用)
CDN(コンテンツデリバリーネットワーク)を活用して負荷を分散させる
ページキャッシュやオブジェクトキャッシュを導入して、処理の負担を軽減する
アクセス過多の原因が万が一悪質なスパムクローラーによるクロールだった場合は、スパムクローラーのアクセスを特定し、制限する必要があります。
スパムクローラーのアクセスを特定したら、.htaccessやnginxの設定を利用して、スパムクローラーのIPアドレスやUser-Agentからのアクセスを拒否する設定をしましょう。
原因②:PHPなどプログラムの記述ミスによる500エラーの解決方法
PHPなどのプログラミング言語のコードの誤記がある場合は、500エラーが発生する原因となります。また、PHPのバージョンが古くなりサーバーと互換性がなくなってしまった場合や、ファイルが不足している場合などもコードの誤記と同様に500エラーが発生します。
「エラーログ」という記録ファイルを確認し、「syntax error」「Call to undefined function」や「failed to open stream」と表示されていれば、コードの中で書き方を間違えている可能性があります。
syntax errorと表示された場合は、コードの書き方に間違いがあります。カッコが閉じていなかったり、「;」の記述にミスがないか確認しましょう。
Call to undefined functionと表示された場合は、書いた関数の名前が間違っているか、その関数が入っているファイルが読み込まれていない可能性があります。
failed to open streamと表示された場合はファイルの場所が間違っているか、そもそもそのファイルがサーバーにない可能性があります。ファイルのパスが正しいか、ファイルがちゃんとアップロードされているかを確認しましょう。
なお、PHPのバージョンが古い場合はバージョンアップしてサーバーと互換性が合うようにしてみましょう。
原因③:.htaccessの書き間違いによる500エラーの解決方法
.htaccess という設定ファイルに書き間違いがあると、サーバーが正しく動かず「500 Internal Server Error」が出ることがあります。また、サーバーで使えない命令を書いていたり、必要なモジュールが動いていない場合、ファイルの権限設定がおかしい場合にも500エラーが発生する原因になります。
レンタルサーバーの「エラーログ」を見ると、何が原因でエラーになっているかヒントが書かれていることがあります。また、.htaccess のファイル名を一時的に変えてみましょう。エラーが消えたら、.htaccess に問題があります。
スペルミスや、書き方のミスがないか確認し間違っている部分を修正します。
ファイルの保存形式をチェックして、「BOMなしのUTF-8」または「Shift-JIS」などで保存します。
使っているレンタルサーバーの公式サイトで、「.htaccessで使える命令」を調べて利用できない命令があれば修正しましょう。
原因④:パーミッションの誤設定による500エラーの解決方法
ファイルやフォルダの「パーミッション」が正しくないと、サーバーがうまく動かず、500エラーになることがあります。パーミッションとは、ファイルやフォルダに対して「誰が何をできるか(読み取り・書き込み・実行)」を決める権限設定のことです。
例えば、PHPを設置しているディレクトリやCGIなど、プログラムにアクセスする権限が不足している場合や、アクセスの許可がゆるすぎる場合はサーバーが正しく動かず500 Internal Server Error が発生します。
FTPソフトやレンタルサーバーのファイルマネージャーを開き、パーミッションの数字を確認します。
ファイルやフォルダのパーミッションが適切な設定になっているか確認し、必要に応じて修正します。
パーミッションは755や644といった設定が一般的ですが、サーバーの種類や設定によって異なることがあるため、レンタルサーバーのドキュメントやサポートから適切なパーミッションの数値を確認した上で設定しましょう。
原因⑤:Googleクローラーの過剰アクセスによる500エラーの解決方法
ごく稀に、GoogleのクローラーがWEBサイトの情報収集をする際に、過剰にアクセスしてしまい500エラーが発生することがあります。
Google側もアクセス過多にならないように自動調整を行っているため、Googleクローラーによるアクセスが原因で500エラーが発生することはほとんどありません。
ただし、ページ数の多い大規模サイトの場合は、複数のページに対して情報収集するためにクロール頻度が急激に上がるため、場合によってはサーバーに掛かる負荷が大きくなり500エラーの原因になる可能性があります。
Googleサーチコンソールの「設定」から「クロールの統計情報」を確認して、Googleクローラーのアクセスが急激に増加していないか確認します。
以前はサーチコンソールから自サイトへのクロール頻度を指定できましたが、現在その機能は終了となっているため、直接的な解決策はありません。
ただし、Googleのクローラーがスムーズに巡回できるようなサイト構造にするなど、クローラビリティを改善することで、過剰なアクセスを防ぐことができます。
原因⑥:外部APIとの接続エラーによる500エラーの解決方法
WEBサイトやアプリが外部APIと連携している場合、その外部API側で不具合が発生したり、通信が上手くいかなかった場合に、500エラーが発生することがあります。
例えば、決済サービス・地図情報などを表示するために外部のAPIを使っている場合、外部APIからの応答が返ってこなかったり、エラーを返したりすると、WEBサイトのプログラム側で処理ができず、500 Internal Server Error になる可能性があります。
ここまで説明してきた原因とは異なり、自分のサーバーやコードに直接的な問題がなくても、連携している外部の不具合が原因による500エラーであるという点がポイントです。
エラーログに cURL error、timeout、500 Internal Server Error from remote server などの記述があるか確認する
外部APIを使っているページだけでエラーが発生しているかどうかを確認する
外部API自体の不具合が原因による500エラーは、自サイトに原因があるわけではないため、解決方法はありません。
ただし、APIキーやアクセストークンの有効期限が切れている場合や、APIの使用回数制限に達している場合は、自社に原因があるため、管理画面などで確認を行いすぐに対応するようにしましょう。
WordPressで500エラーが起こる原因と解決方法
WordPressでエラーが起こる原因は、大きく3つです。
WordPress本体やプラグインのアップデートによるPHPプログラム同士の不具合
サーバー側PHPのバージョンと、WordPressのPHPのバージョンに互換性がない
.htaccessの書き間違え
WordPressを利用している中で、画面が真っ白になってしまったり、500エラーが返ってくることは多くの方が経験しているのではないでしょうか。
500エラーが出ていると、ブラウザからWordPressの管理画面にアクセスできなくなってしまいますので、皆さん焦った記憶をお持ちだと思います。とはいえ、WordPressもサーバーもアップデートしなければセキュリティ上問題がありますので、なるべく最新の状態に保っておきたいものです。
こうしたアップデートのタイミングは、500エラーを引き起こしやすいので、FTPの接続が可能であることを確認し、バックアップデータを作成して習慣化することをおすすめします。
いずれにしても、WordPressで500エラーを引き起こす原因は、更新されたプログラムによることが多いので、まずはアップデートに関わるプログラムの所在を把握し、元に戻せる状態を確保しておきましょう。
WordPressで500エラーが発生した場合の解決方法
サーバーのログを確認して修正箇所の特定を行うのが本来好ましいのですが、単純に表示の復元をするだけであれば、更新前のプログラムをサーバーに設定し直してしまうのが最も簡単です。
ディレクトリの復元をした後に行ってみるべき作業は、以下に書き出します。
表示が復元された場合
更新プログラムが溜まっている場合、一度に更新を実行したくなるのですが、ひとつずつ更新を行うことでどの更新プログラムが干渉しているのかを特定できます。
更新したことによってエラーを引き起こすプラグインがあった場合、FTPを接続し、該当のプラグインが置かれたディレクトリを削除してみる(または名称を変更する)と良いでしょう。
ローカルに落としたコアファイルで更新作業を行っていた場合、ローカルのファイルが破損している場合もありますので、再度コアファイルをダウンロードし直す必要があります。
また、更新を長い期間怠ったサイトの更新を行う場合、コアファイルの更新をいきなり最新にするのではなく、インストール済で稼働できているバージョンに近いバージョンのファイルで、複数回に分けて更新することを推奨します。
表示が復元されない場合
サーバーのPHPのバージョンが、WordPressのバージョンに互換性がないことがあります。
PHPのどのバージョンで動作可能なのかを確認する必要がありますので、サーバーのコントロールパネルで利用可能なPHPのバージョンを確認し、WordPressの公式サイトでサーバーの設定に適したバージョンを調べましょう。
ステージ環境を用意し、上で調べたバージョンで動作可能か検証し、PHPのバージョンを変更しながら互換性のあるバージョンを探ります。
wp-config.phpを編集してPHPのメモリ制限を増やします。これは、サーバーリソースに制限がかかっていることが想定される場合の処置となり、wp-config.phpの編集については推奨されるものではありません。条件の絞り込みができている場合に試してください。
500エラーに関する質問
500エラーが発生するとSEOにどのような影響がありますか?
500エラーが発生してもすぐに解決すればSEOに悪影響はありません。
ただし、長期的に500エラーが発生した場合はインデックスが削除されるなど、SEOに深刻な悪影響が出ます。GoogleのクローラーはWEBサイトに定期的にアクセスしますが、そのたびにWEBぺージの読み込みができないと存在しないページと判断しインデックスから削除します。
一度インデックスから削除されたページは再度インデックスされるまでに時間がかかるため、その期間はユーザーのアクセスが減少し機会損失となります。
500エラーが出たとき、まず何をすればいいですか?
ユーザー側:500エラーが表示されたら、まずはF5キーを押してページを再読み込みしてみましょう。一時的なサーバーの負荷やエラーであれば、再表示されることがあります。それでも改善されない場合は、時間を置いて再度アクセスします。
管理者側:まずはサーバーのエラーログを西遊性で確認します。また、500エラーが発生する直前に変更したプログラムや設定、ファイルのアップロードなどがある場合は、そこから原因を調査すると特定しやすくなります。
まとめ
500エラーはHTTPステータスコードのひとつで、エラーを表す番号。
表示される内容はブラウザやサーバーの設定で異なる。
・Internal Server Error
・500 Internal Server Error
・HTTP 500
・500 Error など表記の仕方が異なっても、サーバー内部で起きている原因のわからない不具合で、ユーザー側からは対処の仕様がないため復旧を待つしかない。
長い期間エラーを放置すると、Googleクローラーからはサイトが機能していないと判断され、インデックスから外されることがある。
エラーの原因は、プログラムの誤記・.htaccessの誤記・アクセス過多によるリソース不足・パーミッションの設定ミスなどによって起きることが多い。
500エラーが発生してもすぐに対応すればSEOへの悪影響はないため、まずは原因を特定して対応するようにしましょう。
以上、500エラー(Internal Server Error)についての解説でした。
ぜひ、読んで欲しい記事
- SEO対策被リンクを重要視しているWEB担当者が多数【WEBサイトの被リンクに関する市場調査】2025/04/22
2025/04/22
- SEO対策500エラー(Internal Server Error)の解決方法│原因と特定方法を解説2025/04/17
2025/04/17
- SEO対策地域SEO完全ガイド│地域名やエリア名で上位表示させる方法を解説2025/04/17
2025/04/17
- SEO対策SEO会社おすすめ32選!選び方と比較のポイントをプロが徹底解説2025/04/11
2025/04/11
- SEO対策生成AIが台頭する今、SEO担当者に求められる新スキル~戦略立案からLLMOまで徹底解説2025/04/11
2025/04/11
- SEO対策重複コンテンツとは?│SEOペナルティになるケース・対策方法・調べ方を解説2025/04/01
2025/04/01