WordPressのサイトにアクセスしたら「500 Internal Server Error」と表示されて、ページが開けなくなった。
あるいは、エラーの文言ははっきり見えないけれど、サイトが正しく表示されず困っている。
そんなとき、初心者の方は「何が起きたのか分からない」と不安になりますよね。
この記事では、WordPressで発生する「500 Internal Server Error」の意味と、初心者の方でも試せる原因の切り分け方・解決方法をやさしく解説します。
まずは慌てず、自分のエラーが本当に500エラーなのかを確認するところから始めましょう。
500 Internal Server Errorとは?
500 Internal Server Errorとは、サーバー内部で何らかの問題が起き、処理を完了できなかったときに表示されるエラーです。
「Internal Server Error(内部サーバーエラー)」という名前の通り、サーバー側の処理でトラブルが起きていることを示しています。
ただし、このエラーは「どこで何が起きたか」までは教えてくれない、いわば原因がひとつに特定されていない汎用的なエラーです。
そのため、原因をひとつずつ切り分けていく作業が必要になります。
そもそも自分のエラーは「500」なのか確認する
対処を始める前に、まず自分が今直面しているのが本当に500エラーなのかを確認しましょう。
サイトが表示されないトラブルには、画面が真っ白になるもの、404エラーが出るもの、データベース接続エラーなど、さまざまな種類があります。
原因や対処法が異なるため、まずは種類を見分けることが大切です。確認のポイントは次の通りです。
画面に表示されている文言を確認する
もっとも分かりやすいのは、画面に表示されている文字です。
「500 Internal Server Error」「HTTP ERROR 500」「Internal Server Error」などと書かれていれば、500エラーと考えてよいでしょう。
一方で、何も表示されず画面が完全に真っ白な場合は、500エラー以外の可能性もあります。その場合は真っ白画面のトラブルとして別途確認が必要です。
別のページや別の端末でも確認する
サイト全体で出ているのか、特定のページだけで出ているのかを確認すると、原因の手がかりになります。
また、スマホや別のブラウザでも同じエラーが出るかを確認することで、自分の環境だけの問題かどうかを切り分けられます。
サーバーのエラーログを確認する
もっとも確実なのは、契約しているレンタルサーバーの管理画面にあるエラーログを確認する方法です。
ここに500エラーや具体的なエラー内容が記録されていれば、原因を特定する大きな手がかりになります。
対処の前にまず試すこと
本格的な対処に入る前に、簡単に試せることがあります。
ひとつは、直前に行った操作を思い出すことです。プラグインの有効化や更新、テーマの編集、.htaccessの編集など、直前の操作が原因であることが多いです。
もうひとつは、ブラウザのキャッシュをクリアして再読み込みすることです。一時的な表示の問題であれば、これだけで解決する場合もあります。
原因①:.htaccessファイルの記述ミス
WordPressの500エラーでもっとも多いのが、.htaccessファイルの記述ミスです。
.htaccessは、サーバーの動作を制御する大切な設定ファイルです。
サイトの引っ越しや手動での編集、プラグインによる書き換えなどで内容が壊れると、500エラーが発生します。
.htaccessをリネームして切り分ける
原因が.htaccessかどうかを確認するには、ファイル名を一時的に変更して切り分けます。
- FTPソフトかサーバーのファイルマネージャーでサイトのルートフォルダにアクセスする
.htaccessというファイルを探す- ファイル名を
.htaccess_oldなどに変更する - サイトを再読み込みしてエラーが消えるか確認する
これでエラーが消えれば、原因は.htaccessにあったと判断できます。
その後、WordPressの管理画面で「設定」→「パーマリンク設定」を開いて「変更を保存」を押すと、正しい.htaccessが自動で再生成されます。
なお、.htaccessは重要なファイルなので、編集や削除の前に必ずバックアップを取っておきましょう。
原因②:プラグインの不具合
プラグインの不具合も、500エラーのよくある原因です。
この点は「画面が真っ白になる」トラブルと共通するため、以下の別記事でも解説していますが、この記事でも一応おさえておきます。
原因については結構似たようなこと書いてるので、どちらの記事を参照してもらってもOKです

新しいプラグインを有効化した直後や更新直後にエラーが出た場合は、そのプラグインが原因の可能性が高いです。
管理画面に入れない場合は、FTPソフトやファイルマネージャーでwp-content内のpluginsフォルダを開き、対象プラグインのフォルダ名を変更すると強制的に無効化できます。
どれが原因か分からない場合は、pluginsフォルダ自体の名前を変えて全プラグインをまとめて無効化し、エラーが消えたら一つずつ有効化して原因を特定しましょう。
原因③:テーマやfunctions.phpの問題
テーマやfunctions.phpの編集ミスも、500エラーの原因になります。
こちらも真っ白画面のトラブルと共通しますが、この記事でも触れておきます。
特にfunctions.phpを編集した直後にエラーが出た場合は、その編集が原因であることがほとんどです。
編集した部分を元に戻すのが最優先です。原因がテーマかどうかを確認したい場合は、FTPでwp-content内のthemesフォルダを開き、使用中テーマのフォルダ名を変更すると、標準テーマに自動で切り替わり切り分けられます。
原因④:PHPのメモリ不足
処理の重い操作やプラグインの多用で、PHPに割り当てられたメモリが不足し、500エラーになることもあります。
この場合は、wp-config.phpに次の一行を追記してメモリ上限を引き上げることで解決する場合があります。
define('WP_MEMORY_LIMIT', '256M');PHPサーバー側でメモリ上限が決まっている場合もあるため、効果がないときはサーバー会社の設定やプランを確認してください。
原因⑤:PHPバージョンの不一致
使用しているPHPのバージョンが、テーマやプラグインと合っていない場合も500エラーの原因になります。
PHPのバージョンが古すぎたり、逆に新しすぎてテーマ・プラグインが対応していなかったりすると、互換性の問題でエラーが起こります。
レンタルサーバーの管理画面でPHPバージョンを確認し、使っているテーマやプラグインが推奨するバージョンに合わせて変更してみましょう。
エラー内容を特定する方法
原因が分からないときは、エラーの中身を確認して手がかりを得ましょう。
方法は大きく2つあります。
ひとつは、先ほども触れたサーバーのエラーログを確認する方法です。レンタルサーバーの管理画面から、いつどんなエラーが起きたかを確認できます。
もうひとつは、WordPressのデバッグモードを有効にする方法です。wp-config.phpを開き、次のように書き換えます。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);PHPこれでwp-contentフォルダ内にdebug.logが作られ、エラー内容が記録されます。
原因が分かって解決したら、デバッグモードは必ず無効(false)に戻しましょう。本番サイトでエラー表示を出したままにするのは、セキュリティ上も望ましくありません。
それでも直らないときは
ここまでの方法を試しても直らない場合は、無理をせず落ち着いて対応しましょう。
バックアップがあれば、エラーが出る前の状態に戻すのが安全です。
また、500エラーはサーバー側に原因があるケースもあるため、契約しているサーバー会社のサポートに問い合わせると、原因の特定や復旧の手助けをしてもらえる場合があります。
自分での解決が難しいと感じたら、WordPressに詳しい専門家に相談するのも有効な選択肢です。
まとめ
500 Internal Server Errorは、サーバー内部の処理がうまくいかなかったときに表示される汎用的なエラーです。
まずは画面の文言やサーバーのエラーログで「本当に500エラーなのか」を確認し、そのうえで原因を切り分けていきましょう。
WordPressの500エラーで最も多いのは.htaccessの記述ミスで、続いてプラグイン、テーマやfunctions.php、メモリ不足、PHPバージョンの不一致などが原因になります。
原因が分からないときはエラーログやデバッグモードで中身を確認し、それでも難しい場合はバックアップやサーバー会社のサポートを頼ることも大切です。