WordPressを利用していると、突然「500 Internal Server Error」「HTTP ERROR 500」と表示され、サイトや管理画面にアクセスできなくなることがあります。
「何が原因なのか分からない」「サイトが壊れてしまったのでは」と、不安になる方も多いでしょう。

500エラーは、サーバー内部で何らかの問題が発生していることを示すエラーです。
プラグインやテーマの不具合、PHPエラー、.htaccessの設定ミス、メモリ不足など、さまざまな原因が考えられます。

この記事では、WordPressで500エラーが発生する主な原因と、原因を切り分ける手順、確認したいポイントを解説します。
WP_DEBUGやエラーログを利用した調査方法についても紹介しますので、慌てず一つずつ確認していきましょう。

結論
WordPressの500エラーは、サーバー側で問題が発生していることを示すエラーです。
すぐに復元や再インストールを行うのではなく、プラグインやテーマ、PHP、サーバー設定などを順番に切り分けながら原因を特定することが重要です。

こんな方におすすめ

  • 500 Internal Server Errorが表示された
  • WordPressや管理画面へアクセスできない
  • 500エラーの原因を調べたい
  • WP_DEBUGやエラーログの確認方法を知りたい
  • 同じトラブルを繰り返さないようにしたい

この記事で分かること

  • 500エラーとは何か
  • 500エラーが発生する主な原因
  • 原因を切り分ける手順
  • WP_DEBUGやエラーログを使った調査方法
  • 500エラーを予防するポイント

500エラーとは

500エラー(500 Internal Server Error)は、サーバー内部で問題が発生し、正常にページを表示できないことを示すHTTPステータスコードです。
原因は一つではなく、WordPress・PHP・サーバー設定など、さまざまな要因によって発生します。

500エラーはサーバーから返されるエラー

500エラーは、ブラウザではなくサーバー側で問題が発生した際に返されるエラーです。
WordPressのプログラムでエラーが発生した場合や、PHPが正常に実行できなかった場合などに表示されることがあります。

真っ白な画面との違い

「500 Internal Server Error」が表示される場合もあれば、画面が真っ白になるだけの場合もあります。
原因は似ていますが、500エラーはサーバーがエラーを返している状態であり、真っ白な画面とは表示のされ方が異なります。

真っ白な画面について詳しく知りたい方は、「WordPressが真っ白になったときの対処法」もあわせてご覧ください。

原因は一つではない

500エラーが表示されたからといって、必ずしもWordPress本体が原因とは限りません。
プラグインやテーマの不具合、PHPバージョンの変更、.htaccessの設定ミス、サーバー障害など、複数の原因が考えられます。

ポイント
500エラーは「サーバー内部で問題が発生している」というサインです。
表示された時点で原因が分かるわけではないため、まずは何が原因なのかを切り分けることが重要です。

500エラーの主な原因

500エラーは「サーバー内部で問題が発生している」ということしか分からず、表示されただけでは原因を特定できないため、まずは考えられる原因を整理し、可能性の高いものから順番に確認していきましょう。

プラグインの不具合

最も多い原因の一つが、プラグインの更新や追加による不具合です。
他のプラグインとの競合や、現在のWordPress・PHPとの互換性が原因で500エラーが発生することがあります。

テーマの不具合

テーマのアップデートやカスタマイズによって、PHPエラーが発生し500エラーとなることがあります。
functions.phpやテンプレートファイルを編集した直後は、テーマ側も確認しましょう。

PHPのエラー

PHPバージョンの変更や、PHP Fatal Errorが発生すると500エラーになる場合があります。
テーマやプラグインが現在のPHPバージョンに対応しているかも確認しましょう。

.htaccessの設定ミス

.htaccessの記述ミスや、リダイレクト設定・キャッシュ設定などが原因で500エラーが発生することがあります。
サーバー設定を変更した直後は、.htaccessも原因の候補になります。

サーバー設定やメモリ不足

PHPメモリ不足やパーミッション設定、サーバー障害などによって500エラーが発生するケースもあります。
特にレンタルサーバー側でメンテナンスや障害が発生している場合は、WordPress以外が原因となることもあります。

ポイント
500エラーは原因が一つとは限りません。
直前に行った更新や設定変更を思い出し、可能性の高いものから一つずつ確認することが解決への近道です。

まず確認したいポイント:原因を特定したい

500エラーが表示された場合は、原因を一つずつ切り分けることが大切です。
一度に複数の設定を変更すると、原因が分からなくなってしまうため、可能性の高いものから順番に確認していきましょう。

直前に行った作業を思い出す

まずは、500エラーが発生する直前に何を行ったかを確認します。
プラグインやテーマの更新、PHPバージョンの変更、WordPress本体のアップデートなど、直前の作業が原因となっているケースが多くあります。

プラグインを停止して確認する

プラグイン更新後に発生した場合は、一度すべてのプラグインを停止して改善するか確認します。
管理画面へログインできない場合は、FTPやサーバーのファイルマネージャーからpluginsフォルダ名を一時的に変更する方法もあります。

PHPバージョンを確認する

PHPを更新した直後であれば、テーマやプラグインが対応していない可能性があります。
必要に応じて以前のPHPバージョンへ戻し、症状が改善するか確認しましょう。

.htaccessを確認する

.htaccessを編集した直後やリダイレクト設定を変更した場合は、記述ミスが原因となっていることがあります。
編集内容を見直し、誤りがないか確認しましょう。

サーバー障害情報を確認する

WordPressに問題がなくても、レンタルサーバー側で障害やメンテナンスが発生している場合があります。
サーバー会社の障害・メンテナンス情報も確認しておくと安心です。

ポイント
500エラーが発生したからといって、すぐにWordPressを再インストールしたり、複数の設定を変更したりするのはおすすめできません。
原因を一つずつ切り分けながら確認することで、短時間で解決できるケースも少なくありません。

原因別に確認したいポイント

500エラーの原因がある程度絞り込めたら、次は原因ごとに確認すべきポイントを整理します。
原因が分かったからといって、すぐに修正できるとは限りません。
まずは関連する設定や更新履歴を一つずつ確認していきましょう。

ポイント
WordPressのトラブルでは、原因を特定できた時点で半分以上解決したと言えます。
大切なのはその原因に対して一度に複数の修正を行わず、一つずつ確認しながら改善することです。

プラグインが原因だった場合

プラグインを停止して500エラーが改善した場合は、どのプラグインが原因かを確認します。
一つずつ有効化しながら表示を確認し、エラーが再発するプラグインを特定しましょう。

原因となるプラグインが分かったら、最新版が公開されていないか、開発元から不具合情報が出ていないかも確認します。

テーマが原因だった場合

テーマを切り替えて改善した場合は、テーマ側に原因がある可能性があります。
最近編集したfunctions.phpやテンプレートファイル、子テーマのカスタマイズ内容を確認しましょう。

自作テーマやカスタマイズが多いテーマでは、PHPの記述ミスや古い関数の利用が原因になることもあります。

PHPが原因だった場合

PHPバージョンを戻して改善した場合は、テーマやプラグインが新しいPHPに対応していない可能性があります。
対応状況を確認し、必要に応じてテーマやプラグインを更新してから、再度PHPアップデートを検討しましょう。

.htaccessが原因だった場合

.htaccessを編集した直後に500エラーが発生した場合は、記述ミスや不要なルールが原因の可能性があります。
リダイレクト設定やキャッシュ設定、WordPress以外の追記内容を中心に確認しましょう。

サーバー側が原因だった場合

サーバー障害やPHP設定、メモリ不足が原因の場合は、WordPress側だけでは解決できないことがあります。
サーバー会社の障害情報やエラーログを確認し、必要に応じてサポートへ問い合わせましょう。

WP_DEBUGとエラーログで原因を調査する

ここまで確認しても原因が特定できない場合は、WordPressのデバッグモード(WP_DEBUG)やサーバーのエラーログを利用すると、より詳しい原因を調査できます。

WP_DEBUGを有効にする

WordPressでは、wp-config.phpに設定を追加することでデバッグモードを有効にできます。
画面へエラーを表示するのではなく、ログファイルへ記録する設定がおすすめです。

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

この設定を有効にすると、wp-content/debug.logへエラー内容が記録されます。

最近ではエラー内容をAIに質問することで、原因を予測してくれる場合もあります。
理解できる範囲で活用できると原因の特定・解決に繋がりやすいです。

サーバーのエラーログも確認する

500エラーはWordPressだけではなく、PHPやサーバー設定が原因となっていることもあります。
レンタルサーバーの管理画面からエラーログを確認すると、より詳細な原因が分かる場合があります。

ログから原因を推測する

ログには、エラーが発生したファイル名や行番号、関数名などが記録されることがあります。
特定のプラグインやテーマのPHPファイルが繰り返し表示されていれば、その箇所が原因となっている可能性があります。

運用のポイント
WP_DEBUGやエラーログは、原因を特定するための重要な情報です。
ただし、本番環境では調査が終わったらWP_DEBUGを無効に戻し、不要なログを残さないようにしましょう。

よくある質問

500 Internal Server Errorとは何ですか?

500 Internal Server Errorは、サーバー内部で問題が発生し、正常にページを表示できないことを示すHTTPステータスコードです。原因はプラグインやテーマの不具合、PHPエラー、.htaccessの設定ミス、サーバー障害などさまざまです。

500エラーが表示されたら、まず何を確認すればよいですか?

まずは直前に行った作業を思い出しましょう。プラグインやテーマの更新、PHPバージョンの変更、WordPress本体のアップデートなどが原因となるケースが多くあります。一度に複数の設定を変更せず、一つずつ切り分けながら確認することが大切です。

500エラーは自然に直ることがありますか?

サーバー障害や一時的な高負荷が原因であれば、時間を置くことで復旧する場合があります。ただし、プラグインやテーマ、PHPなどが原因の場合は自然には改善しないため、原因を調査する必要があります。

WP_DEBUGは本番環境でも利用できますか?

利用できます。本番環境では、画面にエラーを表示しないようWP_DEBUG_DISPLAYfalseに設定し、debug.logへ出力する方法がおすすめです。調査が終わったら、WP_DEBUGは無効に戻しましょう。

原因が分からない場合はどうすればよいですか?

WP_DEBUGやサーバーのエラーログを確認しても原因が分からない場合は、制作会社や保守会社、レンタルサーバー会社へ相談しましょう。問い合わせの際は、エラーログや発生状況をあわせて伝えることで、原因の特定がスムーズになります。

500エラーを防ぐために日頃から心掛けたいこと

500エラーは突然発生することもありますが、日頃の保守・運用によってリスクを減らせる場合があります。
特にアップデートやPHP変更、サーバー設定の変更を行う前には、事前準備をしておくことが大切です。

更新前にバックアップを取得する

WordPress本体・テーマ・プラグインを更新する前には、必ずバックアップを取得しておきましょう。
万が一500エラーが発生しても、正常だった状態へ戻せる可能性があります。

PHPの対応状況を確認する

PHPをアップデートする前には、利用中のテーマやプラグインが対応しているか確認しましょう。
古いテーマやプラグインを利用している場合、新しいPHPバージョンでエラーが発生することがあります。

不要なプラグインやテーマを削除する

使用していないプラグインやテーマは、停止するだけでなく削除しておくことをおすすめします。
古いプログラムが残っていると、互換性やセキュリティの問題につながる場合があります。

変更内容を記録しておく

プラグインの追加、テーマの編集、PHP設定の変更などを行った場合は、変更内容を簡単に記録しておきましょう。
トラブルが起きたときに、直前の変更を思い出しやすくなり、原因の特定にも役立ちます。

運用のポイント
500エラーを完全に防ぐことは難しいですが、バックアップ・更新管理・変更履歴の記録を行っておくことで、トラブル発生時の復旧や原因特定がスムーズになります。