WordPressの500エラー(Internal Server Error)の原因と対処法
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:「500 Internal Server Error」は、サーバーの中で処理が途中で止まったときに出ます。WordPressでは、.htaccess の書き間違い、プラグイン・テーマ、PHPの版やメモリが関係していることがよくあります。
まずは直前にした変更を元に戻し、それでも直らなければ、.htaccess → プラグイン → テーマ → エラーの記録の順に確かめます。
目次
画面の出方と、その意味
| 画面の出方 | 意味 | 見るところ |
|---|---|---|
| 「500 Internal Server Error」「Internal Server Error」と英語で出る。サーバー会社のエラーの画面が出る | WordPressが動く前か、動いている途中で止まった可能性があります。.htaccess やPHPの設定が関係していることがあります |
手順1・手順2 |
| ブラウザに「このページは動作していません」「HTTP ERROR 500」と出る | サーバー側でエラーが起きています。この表示だけでは、原因までは分かりません | 手順1から順に |
| 「このサイトで重大なエラーが発生しました」と出る | WordPressの中のプログラムが止まっています(中では500のエラーとして返っています) | 重大なエラーの記事 |
| 管理画面だけが500になる | 管理画面で使うプラグインや、メモリの不足が関係していることがあります | 「管理画面だけが500のとき」 |
直前にしたことから、原因の見当をつける
| 直前にしたこと | よくある原因 | まず見るところ |
|---|---|---|
.htaccess を書き換えた。キャッシュやセキュリティのプラグインを入れた・設定を変えた |
.htaccess の書き間違い・食い違い |
手順2 |
| プラグイン・テーマを更新した・入れた | プラグイン・テーマのエラー | 手順3 |
| サーバーのPHPの版を変えた | プラグインやテーマが新しい版に合っていない | 手順1・PHPの版の記事 |
| サーバーを引っ越した・ファイルをアップロードし直した | ファイルの権限(パーミッション)や、ファイルの欠け | 手順5 |
| 何もしていないのに、急に出た | サーバーの障害・混雑、メモリの不足、改ざん | 手順4・サーバー会社の障害情報 |
作業の前に確かめること
- バックアップ:レンタルサーバーの自動バックアップなどがあるか。いつの時点のものか(保存日時)、ファイルとデータベースの両方が入っているか、元に戻す方法も見ておきましょう。
- 変更前の状態のメモ:PHPの版を変えた場合は元の版の番号、ファイルを書き換える・名前を変える場合は、元のファイルの写し(手元のパソコンに保存)。
500エラーの確かめ方(手順)
1. 直前の変更を元に戻す
- PHPの版を変えた:元の版に戻します。戻す前に、元の版の番号と、戻せるかどうか(サーバーによっては戻せない場合があります)を確かめましょう。
- ファイルを書き換えた:書き換える前のファイルに戻します。
- プラグイン・テーマを更新した・入れた:手順3で、そのプラグイン・テーマを止めて確かめます。
戻して表示されたら、その変更が関係している可能性があります。PHPの版を戻した場合は、プラグインやテーマが新しい版に対応しているかを確かめておきましょう。
2. .htaccess を確かめる
.htaccess は、サーバーへの指示を書いたファイルです。ふつうはサイトの公開のフォルダ(WordPressを置いた場所)にありますが、サイトの作りによって違うこともあります。1文字の書き間違いでも、サイト全体が500になることがあります。キャッシュやセキュリティのプラグインが、自動で書き足していることもあります。
.htaccess には、WordPressの分のほかに、転送・アクセスの制限・キャッシュなど、サーバーやプラグインが書いた設定が入っていることがあります。名前を変えると、それらも一時的に働かなくなります。会員だけに見せているページなど、公開を制限しているページがある場合や、中身が分からない場合は、名前を変える前にご相談ください。
- レンタルサーバーの「ファイルマネージャー」やFTPのソフトで、
.htaccessの写しを手元のパソコンに保存します。名前が「.」で始まるファイルは、隠れていて見えないことがあります。見えないときは、「隠しファイルを表示する」などの設定を入れます。それでも見つからないときは、新しく作らずに、サーバー会社に場所や使い方を確かめましょう。 .htaccessの名前を.htaccess_oldに変えて、サイトを開いてみます。同じ場所に.htaccess_oldがすでにあるときは、上書きせず、日付を付けた名前(.htaccess_old_1015など)にします。- 表示が戻った:
.htaccessが関係している可能性があります。管理画面の「設定」→「パーマリンク」を開き、何も変えずに「変更を保存」を押すと、WordPressの分の設定が書かれた.htaccessが作り直されることがあります。新しい.htaccessができたか、記事のページが開けるかを確かめます。転送やアクセスの制限を使っていた場合は、その動きも確かめましょう。元の設定は写しに残っていますが、新しいファイルには入っていないことがあります。 - 変わらない:名前を
.htaccessに戻して、手順3へ進みます。
.htaccess が作り直されない、管理画面に入れない、保存したらまた500になる、という場合は、そこで作業を止め、元の写しと試したことを添えて、サーバー会社かWP-ingにご相談ください。
参考までに、WordPressの分の基本の設定は次のとおりです(WordPress公式の案内より)。置いている場所や、複数のサイトをまとめた作りなどによって設定は変わるため、そのまま置き換えずに、参考としてご覧ください。
# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
3. プラグイン・テーマを止めて確かめる
プラグインやテーマが関係していることもあります。次の順で確かめます。
- 直前に入れた・更新したプラグインがあれば、まずそれを止めます。
- 分からなければ、プラグインをすべて一時的に止めて確かめます。
- それでも変わらなければ、WordPressに標準のテーマに切り替えて確かめます。
くわしい止め方(管理画面に入れないときの方法も)は、真っ白の記事の手順3「プラグインを止めて確かめる」・手順4「テーマを確かめる」と同じです。
4. エラーの記録とメモリを確かめる
レンタルサーバーの「エラーログ」には、止まったファイルの名前と行が残っていることがあります(主なレンタルサーバーでの場所)。
.htaccessの名前や、見慣れない設定の名前が出ている:手順2をもう一度確かめます。- プラグインやテーマの名前が出ている:そのプラグイン・テーマを止めて確かめます。
Allowed memory size of … bytes exhaustedと出ている:使えるメモリが足りなくなっています。サーバーの「PHP設定」などで、メモリの上限(memory_limit)を上げられるかを、サーバー会社の案内で確かめましょう。くわしくは、メモリ不足の記事をご覧ください。
何もしていないのに急に出たときは、サーバー会社の障害・メンテナンス情報も見ておきましょう(各社の障害情報のページ)。
5. ファイルの権限(パーミッション)を確かめる
サーバーを引っ越した直後や、ファイルをアップロードし直した直後なら、ファイルの権限が関係していることがあります。権限が原因のときは、500ではなく「403 Forbidden」になることもあります(「403 Forbidden」の記事)。
- まず、お使いのサーバー会社の案内で、決められた権限を確かめます。
- WordPress公式の案内では、共用のサーバーの一例として、フォルダは 755 か 750、ファイルは 644 か 640 が挙げられています。
- 変える前に、今の数値と、変えるファイル・フォルダの名前をメモします。サーバー会社が案内する場所だけを変え、フォルダの中身までまとめて変えないようにします。変わらなければ、元の数値に戻しましょう。
- 777(だれでも書き換えられる状態)は、サイトを乗っ取られる危険が高くなるため、使わないようにしましょう。
6. それでも直らないとき
WordPress公式の案内には、本体の wp-admin と wp-includes のフォルダを、今と同じ版のもので入れ直す方法もあります。記事や画像の入った wp-content は触りません。ただ、版を間違えると別の不具合になることもあるため、慣れていない場合はご相談ください。
心当たりが無いのに .htaccess などが書き換えられていたときは、改ざんの可能性もあります。改ざん・乗っ取りの記事をご覧ください。
管理画面だけが500のとき
サイトの表側は表示されるのに、管理画面や、特定の管理の画面(プラグインの設定の画面など)だけが500になることがあります。
- その画面に関係するプラグインを、直前に入れた・更新したなら、そのプラグインを止めて確かめます(手順3)。
- エラーの記録に、メモリの不足の文が出ていないかを確かめます(手順4)。
主なレンタルサーバーでの場所
| サーバー | エラーの記録 | PHPの版の切り替え |
|---|---|---|
| エックスサーバー | サーバーパネル「エラーログ」 | サーバーパネル「PHP Ver.切替」 |
| ConoHa WING | 「サイト管理」→「アクセス解析」→「ログ」 | 「サイト管理」→「サイト設定」→「応用設定」の「PHPバージョン」 |
| ロリポップ! | 記録を見る画面ではなく、「PHP設定」でエラーを画面に表示させる方法になります。訪問者にもエラーの中身が見えることがあるため、公開中のサイトでは、まずサーバー会社に、画面に出さずに確かめる方法をご相談ください | ユーザー専用ページ「PHP設定」 |
| さくらのレンタルサーバ | コントロールパネルの「エラーログ」(あらかじめ出力を有効にしておく) | 「スクリプト設定」→「言語バージョン設定」 |
画面の名前は変わることがあるため、くわしくは各社の案内をご覧ください。
自分で直すのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
.htaccessの中身が分からない・どこを直せばよいか分からない- プラグインを止めても、テーマを変えても直らない
- エラーの記録を見ても、何が原因か分からない
- お問い合わせフォームやネットショップなど、止められない機能がある
WP-ingでは、500エラーをはじめ、WordPressのエラーの修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
しばらく待てば直りますか?
サーバーの一時的な障害や混雑が原因なら、時間をおくと戻ることがあります。設定やファイルを変えた直後に出た場合は、自然には戻らないことが多いため、手順1・2をお試しください。
訪問者にも500のエラーが見えていますか?
サイトの表側で出ている場合は、訪問者にも見えています。管理画面だけで出ていることもあるため、ログインしていない状態やスマホでサイトを開いて、確かめてみてください。