blancブログ

Information&Blog

友だち追加

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

更新日:

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エラーが出た場合は、次の順に試してみてください。

  1. ページを再読み込みする(一時的な混み合いなら、これで表示されることがあります)
  2. 数分〜しばらく時間を置いてから、もう一度開く
  3. 同じサイトのトップページなど、ほかのページも同じエラーになるかを見る
閲覧者として500エラーに出会ったときの図。ページを再読み込みする。数分〜しばらく時間を置いてから、もう一度開く。トップページなど、ほかのページも同じエラーになるかを見る。それでも表示されなければサイト側の問題なので、急ぎの用件は電話やメールなど別の方法で連絡する。
閲覧者として500エラーに出会ったとき

それでも表示されない場合は、サイト側の問題です。見ている側の設定で直すことはできないため、急ぎの用件であれば電話やメールなど別の方法で連絡を取ってください。ご自身が運営しているサイトであれば、次の節から読み進めてください。

※お急ぎの場合は、ホームページ修正の代行(最短当日・相談無料)もご利用いただけます。

500・502・503・504エラーの違い

500番台のエラーはどれも「サーバー側の問題」ですが、番号ごとに、サーバーが返しているエラーの中身が違います。

番号

主な表示

意味

500

Internal Server Error

サーバーの中で処理が失敗した。設定ファイルやプログラムの誤りが多い

502

Bad Gateway

中継しているサーバーが、奥のサーバーから正しい応答を受け取れなかった

503

Service Unavailable

アクセスの集中やメンテナンスで、一時的に受け付けられない

504

Gateway Timeout

中継しているサーバーが、奥のサーバーからの応答を待ちきれなかった

502エラーの原因と対応は「サーバー通信エラー「502 Bad Gateway」: 原因とユーザーへの対応策」で詳しくご説明しています。

運営者がまず確かめる順番

500エラーは原因の候補が多いので、当てずっぽうに設定を触るより、次の順に確かめるほうが早く片付きます。作業の前に、触るファイルを手元に控え、WordPressならデータベースもバックアップしておきます。戻し方を確かめてから、1つずつ変えていきます。

  1. 直前に何をしたか:プラグインやテーマの更新、ファイルの書き換え、サーバーのPHPバージョン変更、サーバーの引っ越しなど。直前の作業がある場合は、それが一番の候補です。ただし更新やサーバーの引っ越しは、ファイルだけ戻すとデータベースと食い違うことがあるため、バックアップから戻せるかを確かめてから戻します
  2. エラーログを見る:レンタルサーバーの管理画面にある「エラーログ」に、どのファイルの何行目で失敗したかが残っていることが多いです
  3. .htaccess を確かめる:書き換えた覚えがあれば、その部分を元に戻します(下の「サーバーの設定ミス」で詳しく)
  4. プラグイン・テーマを止めてみる:WordPressの場合(下の「プラグインやテーマの不具合」で詳しく)
  5. PHPのバージョンとメモリ上限を見る:バージョンを上げた直後なら、古いテーマやプラグインが新しいPHPで動かないことがあります
  6. ファイルの権限(パーミッション)を見る:特にCGIのプログラムや、新しくアップロードしたファイル
  7. サーバー会社の障害情報を見る:何も触っていないのに急に出た場合は、サーバー側の障害やメンテナンスのこともあります
運営者がまず確かめる順番の図。1 直前に何をしたか(更新・書き換え・PHPの変更・引っ越し)、2 サーバーのエラーログで、どのファイルの何行目で失敗したかを見る、3 .htaccess を確かめる、4 WordPressならプラグイン・テーマを止めてみる、5 PHPのバージョン・メモリ上限、ファイルの権限、サーバー会社の障害情報を見る。作業の前に、触るファイルとデータベースを控えておく。
運営者がまず確かめる順番

サーバーの設定ミス

500エラーの原因の一つに、サーバーの設定ミスがあります。設定ファイルの記述ミスや、必要なモジュールがインストールされていない場合に発生することがあります。特にApacheやNginxなどのウェブサーバーソフトの設定ファイルは、1か所の誤りが500エラーやサイト全体が表示されない状態につながります。

Apacheを使うレンタルサーバーでよく見かけるのは、.htaccess ファイルの書き間違いです。リダイレクト(転送)の設定や、常時SSL化の設定を書き足したときに、1文字の誤りでサイト全体が500エラーになることがあります。

確かめ方と直し方

  1. FTPソフトやサーバーのファイルマネージャーで、.htaccess を手元にダウンロードして控えます
  2. サーバー上の .htaccess の名前を「.htaccess_old」などに変えて、表示が戻るかを見ます
  3. 戻った場合は .htaccess の中身が原因です。最後に書き足した部分を見直して、正しい内容でアップロードし直します
  4. 名前を変えたままにすると、転送やSSLの設定まで効かなくなります。原因が分かったら、必ず正しい .htaccess を戻してください
.htaccess の確かめ方の図。1 .htaccess を手元にダウンロードして控える、2 サーバー上の名前を「.htaccess_old」などに変えて表示が戻るかを見る、3 戻ったら原因は .htaccess。最後に書き足した部分を見直して直す、4 直した .htaccess を戻し、転送やhttpsが働いているかを確かめる。名前を変えている間は、転送・https・アクセス制限が効かない。
.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を新しいバージョンに上げた直後に、古いテーマやプラグインの書き方が通らなくなった場合です。

くすんだ緑のフェルトの上に、木の歯車が一列にかみ合って並び、ひとつだけ離れて傾いている写真。
プログラムのどこか1か所が止まると、ページ全体を作れなくなります

確かめ方と直し方

  1. サーバーのエラーログで、失敗したファイル名と行番号を確かめます
  2. 直前に書き換えたプログラムがあれば、控えておいた元のファイルに戻します
  3. PHPのバージョンを上げた直後であれば、いったん元のバージョンに戻せるかをサーバーの管理画面で確かめます。戻して表示されれば、テーマやプラグインを新しいPHPに合わせて更新するのが本来の直し方です

PHPのバージョンアップの進め方は「「PHPのバージョンを上げてください」と連絡が来た」で詳しくご説明しています。

サーバーのリソース不足

サーバーのリソース(メモリやCPU)が不足している場合にも、500エラーが発生することがあります。特にアクセスが集中している時間帯や、大量のデータを処理している場合にリソースが不足しがちです。

たとえば、セールや取材記事の公開でアクセスが急に増えたときや、画像の多いページで一度に大量の処理が走ったときです。レンタルサーバーでは、ひとつのプログラムが使えるメモリの上限(PHPの memory_limit)が決まっていて、これを超えると処理が止まります。

確かめ方と直し方

  1. エラーログに「Allowed memory size … exhausted」のような、メモリが足りないという記録がないかを見ます
  2. サーバーの管理画面でPHPのメモリ上限を変えられる場合は、上限を引き上げて様子を見ます
  3. アクセスの多い時間帯だけ起きる場合は、サーバー会社の管理画面で使用状況を確かめ、プランの変更やキャッシュの利用を検討します

データベースエラー

データベースの接続エラーやクエリのエラーも、500エラーの原因となることがあります。データベースサーバーがダウンしている、またはデータベースの設定に問題がある場合に発生します。

たとえば、サーバーの引っ越しやデータベースのパスワード変更のあと、サイト側に書いてある接続情報が古いままになっている場合です。WordPressでは、500ではなく「データベース接続確立エラー」と表示されることもあります。

確かめ方と直し方

  1. データベースの接続設定(WordPressなら wp-config.php のデータベース名・ユーザー名・パスワード・ホスト名)が、サーバーの管理画面の内容と一致しているかを確かめます
  2. サーバー会社の障害情報で、データベースサーバーに障害が出ていないかを見ます
  3. 接続情報が食い違っていた場合は、wp-config.php を控えてから、サーバーの管理画面の内容に合わせて書き直します。障害が出ている場合は、こちらの設定は変えずに、サーバー会社の復旧の案内を待ちます

プラグインやテーマの不具合

特にWordPressなどのCMSを使用している場合、プラグインやテーマの不具合が500エラーを引き起こすことがあります。新しくインストールしたプラグインやテーマ、更新した直後のプラグインに問題がある場合に発生しがちです。

最近のWordPressでは、プログラムのエラーが起きたときに500の画面ではなく「このサイトで重大なエラーが発生しました」と表示されることも多くなっています。この表示が出ている場合は「「このサイトで重大なエラーが発生しました」と表示されたら」もあわせてご覧ください。

確かめ方と直し方

  1. 管理画面に入れる場合は、直前に入れた・更新したプラグインを無効化して、表示が戻るかを見ます
  2. 管理画面にも入れない場合は、FTPソフトで wp-content/plugins の中にある該当プラグインのフォルダ名を変えると、そのプラグインが止まります。どれか分からないときは plugins フォルダごと名前を変えて全部止め、表示が戻ったらフォルダ名を元に戻します。このときプラグインは無効のままになることがあるので、管理画面で1つずつ有効化しながら原因を探し、最後にお問い合わせフォームなどが動くかも確かめます
  3. テーマが原因の場合も、wp-content/themes の中で使っているテーマのフォルダ名を変えると、WordPressに入っている別のテーマに切り替わります。ただし切り替え先のテーマ(「Twenty Twenty-Four」などの標準テーマ)が入っていない場合は表示が戻らないので、その場合はこの方法を使わず、エラーログとバックアップから確かめます
  4. 原因のプラグインやテーマが分かったら、修正版が出ていないかを確かめ、出ていなければ代わりのプラグインやテーマを検討します
プラグインが原因かを確かめるの図。管理画面に入れる場合:直前に入れた・更新したプラグインを無効化して、表示が戻るかを見る。管理画面に入れない場合:FTPソフトで wp-content/plugins の中の該当フォルダの名前を変える。分からなければ plugins フォルダごと名前を変えて全部止め、戻ったら名前を戻して、管理画面で1つずつ有効化しながら原因を探す。
プラグインが原因かを確かめる

エラーログが見つからない場合は、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ならデータベースも一緒に控えておくことが大切です。バックアップの取り方と戻せるかの確かめ方は「ホームページのバックアップは取れていますか」でご説明しています。

素焼きのタイルの上の浅い素焼きの皿に、同じ形の真ちゅうの鍵が2本並んでいる写真。
ファイルとデータベースを控えておくと、落ち着いて元に戻せます

サーバー監視ツールの導入:

サーバーの状態をリアルタイムで監視するツールを導入し、異常を早期に検知できるようにします。ページが表示されなくなったときにメールで知らせてくれる無料のサービスもあり、お客様より先に気づけるようになります。

プラグインやテーマの慎重な選択:

信頼性の高いプラグインやテーマを使用し、インストール前に評価やレビューを確認します。更新の前にファイルとデータベースのバックアップを取って戻し方を確かめておき、更新後は表示とお問い合わせフォームなどの動きを確かめる流れにしておくと、500エラーが出ても落ち着いて元に戻せます。WordPressを長く更新していない場合のリスクは「WordPressを更新せず放置すると危険?」をご覧ください。

500エラーの復旧を依頼する場合の料金

ご自身で確かめても直らない場合や、サーバーのファイルを触るのが不安な場合は、ご依頼いただけます。料金は料金表のとおりで、WordPressのエラーや更新失敗にともなう復旧は「WordPress復旧」の項目になります。

作業

料金

備考

WordPress復旧(重大なエラー・画面崩れ・更新失敗)

33,000~110,000円(税込)

※原因調査・切り分け込み。被害状況により増減します。

WordPress保守プラン(スタンダード)

月額11,000円(税込)

本体・プラグインの更新、月次バックアップ、更新失敗時の復旧対応を含みます(最低契約期間3ヶ月)

WordPress以外のサイトや、サーバー側など別の原因による500エラーは、作業の内容が変わるため、状況を伺ってお見積りします。ご依頼前のご相談とお見積りは無料です。

ページそのものが表示されない状態全般(真っ白になる・別のエラー画面が出る)の切り分けは「ホームページが表示されない」で、表示が崩れた場合は「ホームページの表示が崩れた!」でご説明しています。

よくある質問

特定のページだけ500エラーになるのはなぜですか

そのページだけで動いているプログラムに原因があることが多いです。たとえば、お問い合わせフォーム、予約や検索の機能、そのページにだけ使っているプラグインなどです。エラーログで失敗したファイル名を確かめると、どの部分か絞り込めます。

サーバーを引っ越したあとに500エラーが出ました

引っ越し先のサーバーで、PHPのバージョン、.htaccess の書き方、ファイルの権限、データベースの接続情報が引っ越し前と違っていることがよくあります。この4つを順に確かめてください。引っ越しの進め方は「ホームページのサーバーを引っ越したい」でご説明しています。

何も触っていないのに500エラーが出ました

サーバー会社の障害やメンテナンス、アクセスの集中、自動更新されたプラグイン、サーバー側で行われたPHPのバージョン変更などが考えられます。まずサーバー会社の障害情報を確かめ、次にエラーログを見てください。

.htaccess の名前を変えても、サイトは壊れませんか

ファイルそのものは消えないので、名前を戻せば中身は元のままです。ただし名前を変えている間は、そこに書かれた転送・SSL(https)・アクセス制限などが効かなくなります。表示が戻った場合は、原因の記述を直してから名前を戻します(直さずに戻すと、また500エラーになります)。戻したあとは、転送やhttpsが働いているかも見ておきます。すぐに直せない場合は、元のファイルに戻すと500エラーに戻ってしまうので、名前を変えたまま(ページは表示されるが、転送やhttpsは効かない状態)にして、早めにサーバー会社や制作会社に相談してください。作業の前に手元へダウンロードして控えておくと、安心して確かめられます。

まとめ

500(Internal Server Error)エラーは、ホームページにアクセスできなくなる深刻な問題ですが、その原因を特定し適切に対処することで解決できます。

サーバーの設定ミス、スクリプトエラー、サーバーのリソース不足、データベースエラー、プラグインやテーマの不具合など、様々な原因が考えられますが、「直前に何をしたか」と「エラーログ」から確かめると、多くの場合は早く絞り込めます。作業の前にファイルを控え、1つずつ元に戻しながら確かめてください。

ホームページの安定した運用のために、定期的なバックアップと更新、表示の確認が重要です。

ログを見ても原因が絞り込めない、サーバーの管理画面に入れないといった場合は、作業を人に任せる方法もあります。ホームページ修正の費用の目安は、作業内容別にまとめています。

ホームページの修正・更新でお困りではありませんか?

お電話でのお問い合わせはこちらまで

フリーダイヤル0120-781-437

受付時間 平日 9:00~18:00(時間外も応相談)

他社で制作したサイトもOK。軽微な修正は最短当日対応します

ホームページ修正・更新の詳細を見る(相談無料)

検索ボックスへキーワードを入力してください

ホームページ制作、更新、SEOに関する
お問い合わせ・お見積もり依頼は、
電話もしくはフォームでも受け付けております。

フリーダイヤル0120-781-437

受付時間 平日 9:00~18:00

まずは無料相談する