
WordPressのサイトで「500 Internal Server Error」が出た場合の対処方法を紹介します。
このエラーが出た場合、ダッシュボードにもアクセスすることができないため非常に困る状況かと思います。ただし、作成した記事などのデータが消えてしまったわけではありませんので、落ち着いて対応していきましょう。
Internal Server Errorの意味は?
サーバー内部で起きたエラーということで、WordPress特有のエラーではありません。一般的にWebサーバーで起きる可能性のあるエラーです。何らかの理由でプログラムの処理結果を返すことができない場合に、「500 Internal Server Error」の画面が表示されます。ちなみに、500という数字はエラー番号です。
考えられる原因としては、大きく分けて次の3つがあります。
- .htaccessファイルによるトラブル
- テーマやプラグインのコードによるトラブル
- アクセス急増などでサーバーへの負荷が大きくなっている
順番に説明していきます。
.htaccessによるトラブルの場合
最も可能性が高いのが、.htaccessの記述内容による問題です。WebサーバーにApacheを使っている場合、WordPressは.htaccessを自動的に出力してアクセス制御を行っています。.htaccessの記述内容に問題によって「500 Internal Server Error」が起きる場合があります。
確認方法としては、.htaccessのファイル名を変更して一時的に無効化することです。
- FTP・SFTPなどでサーバーに接続する
- WordPressのインストール先のディレクトリにある.htaccessを見つける
- ファイル名を変更する(例:
backup.htaccess
) - トップページやダッシュボードにアクセスして正常に表示されるか確認する
この手順でエラーが解消された場合は、.htaccessの記述内容に問題があったと断定できます。その後、忘れずに.htaccessを再生成しましょう。
ダッシュボードのメニューの設定
>パーマリンク設定
の画面で、設定を変えずに「変更を保存」のボタンをクリックすると、.htaccessが再生成されます。各ページの表示を確認してエラーが起きていなければOKです。
プラグインのコードによるトラブルの場合
エラーが起きる前に、新しいプラグインの追加、アップデートなどを行った場合は、PHPのコードが問題を起こしている可能性が考えられます。ダッシュボードにアクセス出来ない場合は、次の手順でプラグインを無効化します。
-
- FTP・SFTPなどでサーバーに接続する
- プラグインのディレクトリを見つける(
/wp-content/plugins/
) - ディレクトリ名を変更する(例:
/wp-content/backu_plugins/
) - トップページやダッシュボードにアクセスして正常に表示されるか確認する
この手順でエラーが解消された場合は、有効化しているプラグインのいずれかに問題があったと考えられます。
ダッシュボードにアクセスすると、このようにプラグインが存在しない状態になります。
その後、プラグインのディレクトリ名を元に戻すと、全てのプラグインが無効化された状態で表示されます。ひとつずつ有効化していって、どのプラグインに問題があったのかを特定しましょう。
アクセス急増などでサーバーへの負荷が大きくなっている場合
.htaccessやプラグインなどに問題がない場合でも、急なアクセス不可の増加が原因で、「500 Internal Server Error」が発生する場合があります。時間が経ってアクセス数が落ち着けば解消されるかもしれません。
ただ根本的な問題解決にはなっていませんので、別の方法を検討する必要があるでしょう。具体的には、レンタルサーバーのプラン変更や、よりスペックの高いサーバーへの移転などが選択肢に入ってきます。