500エラーが発生したときの基本的な対応方法
更新日:

500(Internal Server Error)エラーは、ホームページを表示しようとしたときに発生する一般的なエラーの一つです。画面には「500 Internal Server Error」「HTTP ERROR 500」「500 サーバーエラー」などと表示され、ページの中身は出てきません。
このエラーは、サーバー側で処理がうまくいかなかったことを示しています。見ている側のパソコンやスマホが原因ではないため、閲覧者としてできることは限られます。直せるのはサイトを運営している側です。
この記事では、500エラーの意味と502・503との違い、閲覧者として出会った場合の対応、運営者が確かめる順番、よくある原因ごとの直し方、放置したときの検索への影響、依頼する場合の料金までを順にご説明します。
500エラー(500 Internal Server Error)とは
ホームページを開くと、ブラウザはサーバーに「このページをください」と頼み、サーバーは結果を3桁の数字(ステータスコード)で返します。正常に表示できたときは200、ページが見つからないときは404です。
500は「サーバーの中で予期しないエラーが起きて、ページを作れなかった」という意味の番号です。どこで何が起きたかまでは画面に出ないため、原因はサーバーのエラーログや、直前に行った作業から絞り込みます。
閲覧者としてこの画面に出会った場合
ほかの会社のサイトを見ていて500エラーが出た場合は、次の順に試してみてください。
- ページを再読み込みする(一時的な混み合いなら、これで表示されることがあります)
- 数分〜しばらく時間を置いてから、もう一度開く
- 同じサイトのトップページなど、ほかのページも同じエラーになるかを見る
それでも表示されない場合は、サイト側の問題です。見ている側の設定で直すことはできないため、急ぎの用件であれば電話やメールなど別の方法で連絡を取ってください。ご自身が運営しているサイトであれば、次の節から読み進めてください。
500・502・503・504エラーの違い
500番台のエラーはどれも「サーバー側の問題」ですが、番号ごとに、サーバーが返しているエラーの中身が違います。
502エラーの原因と対応は「サーバー通信エラー「502 Bad Gateway」: 原因とユーザーへの対応策」で詳しくご説明しています。
運営者がまず確かめる順番
500エラーは原因の候補が多いので、当てずっぽうに設定を触るより、次の順に確かめるほうが早く片付きます。作業の前に、触るファイルを手元に控え、WordPressならデータベースもバックアップしておきます。戻し方を確かめてから、1つずつ変えていきます。
- 直前に何をしたか:プラグインやテーマの更新、ファイルの書き換え、サーバーのPHPバージョン変更、サーバーの引っ越しなど。直前の作業がある場合は、それが一番の候補です。ただし更新やサーバーの引っ越しは、ファイルだけ戻すとデータベースと食い違うことがあるため、バックアップから戻せるかを確かめてから戻します
- エラーログを見る:レンタルサーバーの管理画面にある「エラーログ」に、どのファイルの何行目で失敗したかが残っていることが多いです
- .htaccess を確かめる:書き換えた覚えがあれば、その部分を元に戻します(下の「サーバーの設定ミス」で詳しく)
- プラグイン・テーマを止めてみる:WordPressの場合(下の「プラグインやテーマの不具合」で詳しく)
- PHPのバージョンとメモリ上限を見る:バージョンを上げた直後なら、古いテーマやプラグインが新しいPHPで動かないことがあります
- ファイルの権限(パーミッション)を見る:特にCGIのプログラムや、新しくアップロードしたファイル
- サーバー会社の障害情報を見る:何も触っていないのに急に出た場合は、サーバー側の障害やメンテナンスのこともあります
サーバーの設定ミス
500エラーの原因の一つに、サーバーの設定ミスがあります。設定ファイルの記述ミスや、必要なモジュールがインストールされていない場合に発生することがあります。特にApacheやNginxなどのウェブサーバーソフトの設定ファイルは、1か所の誤りが500エラーやサイト全体が表示されない状態につながります。
Apacheを使うレンタルサーバーでよく見かけるのは、.htaccess ファイルの書き間違いです。リダイレクト(転送)の設定や、常時SSL化の設定を書き足したときに、1文字の誤りでサイト全体が500エラーになることがあります。
確かめ方と直し方
- FTPソフトやサーバーのファイルマネージャーで、.htaccess を手元にダウンロードして控えます
- サーバー上の .htaccess の名前を「.htaccess_old」などに変えて、表示が戻るかを見ます
- 戻った場合は .htaccess の中身が原因です。最後に書き足した部分を見直して、正しい内容でアップロードし直します
- 名前を変えたままにすると、転送やSSLの設定まで効かなくなります。原因が分かったら、必ず正しい .htaccess を戻してください
WordPressの場合は、管理画面の「設定」→「パーマリンク」で何も変えずに「変更を保存」を押すと、WordPressが使う部分の .htaccess を書き直してくれます。ただし .htaccess に書き込めない設定のサーバーでは書き直されず、画面に「手動で更新してください」という案内が出るので、保存後は必ず表示を確かめます(ほかのプラグインが書き足した設定は、それぞれ確かめ直します)。
専用のサーバーやVPSでNginxを使っている場合は、まずNginxのエラーログで、500が出た時刻の記録を確かめます。PHPで動いているページなら、PHP-FPMやアプリケーション側のログもあわせて見て、直前の更新やPHPのエラーと照らし合わせます。nginx.confなどの設定ファイルを変更したあとに起きた場合は、変更した箇所を見直します。PHPを動かす仕組み(PHP-FPMなど)が止まっていると、500ではなく502エラーになることもあります。
スクリプトエラー
ウェブサイト上で動作するスクリプト(PHP、Python、Perlなど)のエラーも、500エラーの原因となります。プログラムの書き間違い、読み込むファイルの場所の誤り、サーバーのPHPバージョンに対応していない古い書き方などで処理が止まると、500エラーになります。
たとえば、PHPのプログラムで読み込むファイルのパスを間違えた場合や、サーバーのPHPを新しいバージョンに上げた直後に、古いテーマやプラグインの書き方が通らなくなった場合です。

確かめ方と直し方
- サーバーのエラーログで、失敗したファイル名と行番号を確かめます
- 直前に書き換えたプログラムがあれば、控えておいた元のファイルに戻します
- PHPのバージョンを上げた直後であれば、いったん元のバージョンに戻せるかをサーバーの管理画面で確かめます。戻して表示されれば、テーマやプラグインを新しいPHPに合わせて更新するのが本来の直し方です
PHPのバージョンアップの進め方は「「PHPのバージョンを上げてください」と連絡が来た」で詳しくご説明しています。
サーバーのリソース不足
サーバーのリソース(メモリやCPU)が不足している場合にも、500エラーが発生することがあります。特にアクセスが集中している時間帯や、大量のデータを処理している場合にリソースが不足しがちです。
たとえば、セールや取材記事の公開でアクセスが急に増えたときや、画像の多いページで一度に大量の処理が走ったときです。レンタルサーバーでは、ひとつのプログラムが使えるメモリの上限(PHPの memory_limit)が決まっていて、これを超えると処理が止まります。
確かめ方と直し方
- エラーログに「Allowed memory size … exhausted」のような、メモリが足りないという記録がないかを見ます
- サーバーの管理画面でPHPのメモリ上限を変えられる場合は、上限を引き上げて様子を見ます
- アクセスの多い時間帯だけ起きる場合は、サーバー会社の管理画面で使用状況を確かめ、プランの変更やキャッシュの利用を検討します
データベースエラー
データベースの接続エラーやクエリのエラーも、500エラーの原因となることがあります。データベースサーバーがダウンしている、またはデータベースの設定に問題がある場合に発生します。
たとえば、サーバーの引っ越しやデータベースのパスワード変更のあと、サイト側に書いてある接続情報が古いままになっている場合です。WordPressでは、500ではなく「データベース接続確立エラー」と表示されることもあります。
確かめ方と直し方
- データベースの接続設定(WordPressなら wp-config.php のデータベース名・ユーザー名・パスワード・ホスト名)が、サーバーの管理画面の内容と一致しているかを確かめます
- サーバー会社の障害情報で、データベースサーバーに障害が出ていないかを見ます
- 接続情報が食い違っていた場合は、wp-config.php を控えてから、サーバーの管理画面の内容に合わせて書き直します。障害が出ている場合は、こちらの設定は変えずに、サーバー会社の復旧の案内を待ちます
プラグインやテーマの不具合
特にWordPressなどのCMSを使用している場合、プラグインやテーマの不具合が500エラーを引き起こすことがあります。新しくインストールしたプラグインやテーマ、更新した直後のプラグインに問題がある場合に発生しがちです。
最近のWordPressでは、プログラムのエラーが起きたときに500の画面ではなく「このサイトで重大なエラーが発生しました」と表示されることも多くなっています。この表示が出ている場合は「「このサイトで重大なエラーが発生しました」と表示されたら」もあわせてご覧ください。
確かめ方と直し方
- 管理画面に入れる場合は、直前に入れた・更新したプラグインを無効化して、表示が戻るかを見ます
- 管理画面にも入れない場合は、FTPソフトで wp-content/plugins の中にある該当プラグインのフォルダ名を変えると、そのプラグインが止まります。どれか分からないときは plugins フォルダごと名前を変えて全部止め、表示が戻ったらフォルダ名を元に戻します。このときプラグインは無効のままになることがあるので、管理画面で1つずつ有効化しながら原因を探し、最後にお問い合わせフォームなどが動くかも確かめます
- テーマが原因の場合も、wp-content/themes の中で使っているテーマのフォルダ名を変えると、WordPressに入っている別のテーマに切り替わります。ただし切り替え先のテーマ(「Twenty Twenty-Four」などの標準テーマ)が入っていない場合は表示が戻らないので、その場合はこの方法を使わず、エラーログとバックアップから確かめます
- 原因のプラグインやテーマが分かったら、修正版が出ていないかを確かめ、出ていなければ代わりのプラグインやテーマを検討します
エラーログが見つからない場合は、wp-config.php で「WP_DEBUG」と「WP_DEBUG_LOG」を有効にし、あわせて「WP_DEBUG_DISPLAY」を無効(false)にしておくと、訪問者の画面にエラーの詳細を出さずに、wp-content フォルダに debug.log というファイルが作られ、原因の手がかりが記録されます(サーバーの設定によっては作られないこともあるので、その場合はサーバーのエラーログを見ます)。調べ終わったら設定を元に戻し、debug.log も削除しておきます(外から見られる場所に作られるためです)。
WordPress以外のサイト(HTML・CGI)で出る場合
WordPressを使っていないHTMLのサイトでも、お問い合わせフォームやカウンターなどのCGI(Perlなどのプログラム)を動かしている部分で500エラーが出ることがあります。よくある原因は次の3つです。
- ファイルの権限(パーミッション)が、サーバー会社の決めた値になっていない(CGIは「実行できる」権限が必要です)
- プログラムの1行目に書くPerlの場所が、そのサーバーの場所と違う(サーバーを引っ越したあとに多い)
- FTPソフトでアップロードしたときに、改行の形式が変わってしまった(テキストモードとバイナリモードの違い)
権限の値(たとえばCGIは755・700、HTMLは644・604など)はサーバー会社ごとに推奨が違うため、サーバー会社のマニュアルにある値に合わせます。フォームだけが500エラーになり、ほかのページは表示される場合は、まずこの3つを疑ってください。
500エラーを放置するとどうなるか(検索への影響)
500エラーが出ている間は、お客様がページを見られず、お問い合わせや注文の機会をそのまま失います。
検索への影響もあります。Googleは500番台のエラーを返すサイトに対して、サーバーに負担をかけないよう巡回の頻度を落とします。数時間程度ですぐに直れば大きな影響は出にくいですが、エラーが長く続くと、検索結果からページが外れていくことがあります。
直したあとは、Google Search Consoleの「URL検査」でページを調べ、「公開URLをテスト」を押して、いまのページをGoogleが正常に読み取れるかを確かめます。必要なら「インデックス登録をリクエスト」も送れます(巡回や登録の時期が早まる保証はありません)。特定のページだけで出ていた場合も、同じように確かめておきます。
予防策
定期的なバックアップ:
ホームページのデータと設定ファイルを定期的にバックアップすることで、問題発生時に迅速に復旧できます。ファイルだけでなく、WordPressならデータベースも一緒に控えておくことが大切です。バックアップの取り方と戻せるかの確かめ方は「ホームページのバックアップは取れていますか」でご説明しています。

サーバー監視ツールの導入:
サーバーの状態をリアルタイムで監視するツールを導入し、異常を早期に検知できるようにします。ページが表示されなくなったときにメールで知らせてくれる無料のサービスもあり、お客様より先に気づけるようになります。
プラグインやテーマの慎重な選択:
信頼性の高いプラグインやテーマを使用し、インストール前に評価やレビューを確認します。更新の前にファイルとデータベースのバックアップを取って戻し方を確かめておき、更新後は表示とお問い合わせフォームなどの動きを確かめる流れにしておくと、500エラーが出ても落ち着いて元に戻せます。WordPressを長く更新していない場合のリスクは「WordPressを更新せず放置すると危険?」をご覧ください。
500エラーの復旧を依頼する場合の料金
ご自身で確かめても直らない場合や、サーバーのファイルを触るのが不安な場合は、ご依頼いただけます。料金は料金表のとおりで、WordPressのエラーや更新失敗にともなう復旧は「WordPress復旧」の項目になります。
WordPress以外のサイトや、サーバー側など別の原因による500エラーは、作業の内容が変わるため、状況を伺ってお見積りします。ご依頼前のご相談とお見積りは無料です。
ページそのものが表示されない状態全般(真っ白になる・別のエラー画面が出る)の切り分けは「ホームページが表示されない」で、表示が崩れた場合は「ホームページの表示が崩れた!」でご説明しています。
よくある質問
特定のページだけ500エラーになるのはなぜですか
そのページだけで動いているプログラムに原因があることが多いです。たとえば、お問い合わせフォーム、予約や検索の機能、そのページにだけ使っているプラグインなどです。エラーログで失敗したファイル名を確かめると、どの部分か絞り込めます。
サーバーを引っ越したあとに500エラーが出ました
引っ越し先のサーバーで、PHPのバージョン、.htaccess の書き方、ファイルの権限、データベースの接続情報が引っ越し前と違っていることがよくあります。この4つを順に確かめてください。引っ越しの進め方は「ホームページのサーバーを引っ越したい」でご説明しています。
何も触っていないのに500エラーが出ました
サーバー会社の障害やメンテナンス、アクセスの集中、自動更新されたプラグイン、サーバー側で行われたPHPのバージョン変更などが考えられます。まずサーバー会社の障害情報を確かめ、次にエラーログを見てください。
.htaccess の名前を変えても、サイトは壊れませんか
ファイルそのものは消えないので、名前を戻せば中身は元のままです。ただし名前を変えている間は、そこに書かれた転送・SSL(https)・アクセス制限などが効かなくなります。表示が戻った場合は、原因の記述を直してから名前を戻します(直さずに戻すと、また500エラーになります)。戻したあとは、転送やhttpsが働いているかも見ておきます。すぐに直せない場合は、元のファイルに戻すと500エラーに戻ってしまうので、名前を変えたまま(ページは表示されるが、転送やhttpsは効かない状態)にして、早めにサーバー会社や制作会社に相談してください。作業の前に手元へダウンロードして控えておくと、安心して確かめられます。
まとめ
500(Internal Server Error)エラーは、ホームページにアクセスできなくなる深刻な問題ですが、その原因を特定し適切に対処することで解決できます。
サーバーの設定ミス、スクリプトエラー、サーバーのリソース不足、データベースエラー、プラグインやテーマの不具合など、様々な原因が考えられますが、「直前に何をしたか」と「エラーログ」から確かめると、多くの場合は早く絞り込めます。作業の前にファイルを控え、1つずつ元に戻しながら確かめてください。
ホームページの安定した運用のために、定期的なバックアップと更新、表示の確認が重要です。
ログを見ても原因が絞り込めない、サーバーの管理画面に入れないといった場合は、作業を人に任せる方法もあります。ホームページ修正の費用の目安は、作業内容別にまとめています。
ホームページの修正・更新でお困りではありませんか?
検索ボックスへキーワードを入力してください