サイトを開こうとしたら「500 Internal Server Error」という白い画面だけが表示されて、どこにも問い合わせできない状態に焦った経験はないでしょうか。500エラーはサーバー内部で問題が起きているサインで、訪問者には原因がわかりません。本記事では、500エラーが発生する主な原因と、自力で確認・対処できる手順を解説します。
500 Internal Server Errorとは
500エラーは「サーバーの内部でなんらかの問題が起きた」ことを示すHTTPステータスコードです。サーバーはリクエストを受け取りましたが、処理の途中でエラーが発生し、正常なレスポンスを返せない状態です。
400番台のエラー(404・403など)は「ユーザー側の問題」を示すことが多いのに対し、500番台は「サーバー側の問題」を意味します。ただし実際には、サイトの設定ファイルや動作するプログラムの問題が原因であることがほとんどです。
主な原因
1. .htaccessの記述ミス
.htaccess ファイルに文法エラーがあると、Apacheがファイルを読み込んだ瞬間に500エラーを返します。プラグインの操作やリダイレクト設定を追加した後に発生することが多いです。
2. PHPのメモリ上限超過
PHPスクリプトが使用できるメモリの上限(memory_limit)を超えた場合、処理が強制終了されて500エラーになります。画像の一括処理やプラグインの重い処理が引き金になることがあります。
3. プラグイン・テーマの競合
WordPressではプラグインやテーマのコードがお互いに干渉して、致命的なエラーを引き起こすことがあります。更新直後に突然500エラーが出た場合、直前の操作が原因である可能性が高いです。
4. ファイルパーミッションの問題
PHPファイルやディレクトリのパーミッション(権限設定)が適切でない場合、サーバーがスクリプトを実行できずに500エラーになることがあります。
5. PHPバージョンの不整合
サーバーのPHPバージョンを変更したとき、テーマやプラグインが新しいバージョンに対応していないと500エラーが出ることがあります。
WordPressでの典型例と対処法
プラグインを無効化してみる
すべてのプラグインを一時的に無効化して、エラーが解消されるか確認します。FTPやサーバーのファイルマネージャーで /wp-content/plugins/ フォルダの名前を変更する(例:plugins_backup)と、WordPressが全プラグインを自動で無効化します。
エラーが解消したら、プラグインを1つずつ有効化して、どれが原因かを特定します。
テーマをデフォルトテーマに切り替える
テーマが原因の場合、/wp-content/themes/ 内のアクティブなテーマフォルダの名前を変更すると、WordPressが自動でデフォルトテーマ(TwentyTwenty系)に切り替えます。これでエラーが消えれば、テーマ側に問題があります。
WordPressのデバッグモードを有効にする
wp-config.php の次の行を変更すると、エラーの詳細が画面やログファイルに出力されます。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
確認後は必ず false に戻してください。デバッグ情報をそのまま公開サイトに出し続けるのはセキュリティ上好ましくありません。
.htaccessを初期化する
.htaccess が原因の場合は、ファイル名を .htaccess_bak などに変更して一時退避してから、WordPressの「設定 → パーマリンク」画面で「変更を保存」を押すと、新しい .htaccess が自動生成されます。
エラーログの確認方法
500エラーの詳細はサーバーのエラーログに記録されています。エラーログはサーバーの管理画面またはFTPで確認できます。
- エックスサーバー:サーバーパネル → ログ → PHPエラーログ
- さくらインターネット:コントロールパネル → ウェブサイト/データ → アクセス解析・ログ
- ConoHa WING:管理画面 → サイト管理 → ログ
ログには「どのファイルの何行目でエラーが起きたか」が記録されていることが多いので、原因特定の大きな手がかりになります。
まとめ
- 500エラーはサーバー内部のエラーで、設定ファイルやプログラムの問題が原因
- .htaccessの記述ミス・プラグイン競合・PHPバージョン不整合が三大原因
- WordPressではプラグイン無効化 → テーマ変更 → デバッグモードの順で確認
- エラーログを見ると原因の手がかりが得られる
エラーログを確認しても原因がわからない場合や、ファイル操作に不安がある場合は無理せずご相談ください。Web Gear ではサーバーのエラーログ確認から復旧まで対応しています。お問い合わせはこちら