WordPressサイトで「500 Internal Server Error」が発生すると、訪問者にとって非常に困る状況です。このエラーは、サーバー側で何らかの問題が発生したことを示しており、サイトが正常に表示されません。500エラーは、具体的な原因が明示されないため、トラブルシューティングにはいくつかの手順を踏む必要があります。本記事では、WordPressサイトでこのエラーを修正するための方法を完全かつ包括的に解説します。
1. サーバーのエラーログを確認する
まず最初に行うべきことは、サーバーのエラーログを確認することです。エラーログには、問題の具体的な詳細が記録されています。これを確認することで、500エラーの原因を絞り込むことができます。
- ログの確認方法: 通常、ホスティングプロバイダーの管理画面(cPanelやPleskなど)からエラーログにアクセスできます。また、SSHでサーバーにログインして、
/var/log/apache2/error.log(Apacheの場合)や/var/log/nginx/error.log(Nginxの場合)などのエラーログファイルを確認することができます。
2. プラグインの確認と無効化
WordPressサイトで500エラーが発生する原因として、プラグインの不具合が考えられます。特に、プラグインのアップデート後に問題が発生することが多いため、最近インストールまたは更新したプラグインが原因かもしれません。
- プラグインの無効化方法:
- FTPクライアント(FileZillaなど)を使用してサーバーに接続し、
wp-content/pluginsディレクトリにアクセスします。 - プラグインフォルダの名前を一時的に変更します(例えば、
pluginsをplugins_oldに変更)。 - サイトにアクセスし、エラーが解消されたか確認します。
- エラーが解消された場合、プラグインの1つまたは複数が原因です。その後、個別にプラグインを有効化して、問題を引き起こしているプラグインを特定します。
- FTPクライアント(FileZillaなど)を使用してサーバーに接続し、
3. テーマの確認
テーマの不具合も、500エラーの原因となることがあります。特に、テーマのアップデート後に問題が発生することが多いです。
- テーマの切り替え方法:
- FTPを使用して、
wp-content/themesディレクトリにアクセスします。 - 使用しているテーマのフォルダ名を変更して、WordPressのデフォルトテーマ(例えば、
twentytwenty)に切り替えます。 - サイトにアクセスし、エラーが解消されたか確認します。
- エラーが解消された場合、テーマが原因です。その後、テーマのアップデートや再インストールを試みます。
- FTPを使用して、
4. .htaccessファイルの修復
.htaccessファイルは、WordPressサイトにとって重要な設定ファイルであり、破損すると500エラーを引き起こすことがあります。このファイルをリセットすることで問題が解決することがあります。
- .htaccessのリセット方法:
- FTPでサーバーに接続し、サイトのルートディレクトリにある
.htaccessファイルをダウンロードしてバックアップします。 .htaccessファイルを削除または名前変更して、WordPressダッシュボードにアクセスします。- ダッシュボードにログインしたら、「設定」→「パーマリンク設定」に移動し、変更を保存します。この操作で、新しい
.htaccessファイルが自動的に生成されます。 - サイトにアクセスして、エラーが解消されたか確認します。
- FTPでサーバーに接続し、サイトのルートディレクトリにある
5. PHPのバージョンを確認する
PHPのバージョンが古い場合、WordPressの動作に支障をきたし、500エラーが発生することがあります。最新の安定版PHPにアップデートすることをおすすめします。
- PHPバージョンの確認と変更方法:
- ホスティングの管理画面にログインし、PHPバージョンを確認します。
- PHPバージョンが古い場合、最新版(例えば、PHP 7.4以上)に変更します。
- PHPバージョンを変更した後、サイトにアクセスし、エラーが解消されたか確認します。
6. サーバーリソースの確認
サーバーのリソース(メモリやCPUなど)が不足していると、500エラーが発生することがあります。この場合、サーバーの設定を見直す必要があります。
- リソースの確認方法:
- サーバーのリソース使用状況を確認するには、ホスティングプロバイダーの管理画面やSSHでコマンド(
topやhtop)を実行して確認します。 - サーバーのリソースが不足している場合、サーバープランのアップグレードを検討します。
- サーバーのリソース使用状況を確認するには、ホスティングプロバイダーの管理画面やSSHでコマンド(
7. デバッグモードを有効にする
WordPressのデバッグモードを有効にすることで、エラーの詳細情報を確認できることがあります。これにより、500エラーの原因を特定しやすくなります。
-
デバッグモードの有効化方法:
- FTPで
wp-config.phpファイルを開き、以下のコードを追加または修正します。
phpdefine('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);wp-content/debug.logファイルにエラーログが記録されます。これを確認することで、エラーの原因を特定できます。
- FTPで
8. サーバーの再起動
場合によっては、サーバーの設定変更後に再起動が必要な場合があります。ホスティングプロバイダーの管理画面からサーバーを再起動するか、サポートチームに依頼して再起動を行ってもらいます。
結論
500 Internal Server Errorは、様々な原因によって発生する可能性がありますが、上記の方法を試すことで、問題の解決に近づくことができます。まずは、エラーログを確認し、プラグインやテーマ、.htaccessファイルの問題を解決することが重要です。それでも解決しない場合は、PHPバージョンの確認やサーバーリソースの確認を行い、最終的にサーバーの再起動を試みてください。
