「昨日まで普通に動いていたブログが、今朝突然「500 Internal Server Error」になっている…」
そのパニック状態、筆者もよく知っています。ブログ運営7年・エックスサーバー利用歴6年の筆者は、これまで500エラーを10回以上経験しました。最初に遭遇したのはプラグインを一括更新した直後のこと。画面が真っ白になり「データが全部消えた?サイトが壊れた?」と血の気が引いた記憶が今でも鮮明です。
でも今では冷静に対処できます。なぜなら500エラーの9割はこの記事の手順通りに進めれば5〜30分以内に自力で解決できるからです。データが消えることもほぼありません。まず深呼吸してください。
この記事を読むとわかること:
- 500エラーの原因を30秒で絞り込む診断フロー(筆者オリジナル)
- 原因別の対処手順(プラグイン・.htaccess・PHP・テーマ・メモリ)
- エックスサーバー固有の操作方法(ファイルマネージャー・サーバーパネル)
- 「やってはいけないこと」と悪化させないための注意点
- 再発防止のための恒久的な対策
🛡️ 安定稼働・高速サーバー
エックスサーバー|500エラーが起きにくい安定した環境でブログ運営
国内シェアNo.1クラスの実績と安定性。自動バックアップ・WAF完備でトラブルからサイトを守ります。
✅ 独自ドメイン永久無料特典あり(キャンペーン期間中)
※月額990円〜。現在キャンペーン中で初期費用無料の可能性あり
- 500エラーの原因を30秒で特定する診断フロー
- 500エラーの主な原因と発生頻度
- 500エラー発生前後の状況変化
- 【原因別】500エラーの対処手順
- 復旧にかかる時間と難易度の比較
- 500エラー復旧ロードマップ
- 実際に遭遇した500エラーのケーススタディ
- 500エラー対処完了・再発防止チェックリスト
- よくある質問(FAQ)
- まとめ|500エラーは手順通りに進めれば必ず解決できる
500エラーの原因を30秒で特定する診断フロー
まず落ち着いて以下の診断フローを進めましょう。「直前に何をしたか」を思い出すだけで、原因の候補を大幅に絞り込めます。
500エラーの主な原因と発生頻度
筆者の経験と一般的な傾向をまとめた500エラーの原因別発生頻度です。プラグインの問題が約半数を占めるため、まずプラグインの無効化から試すのが最短の解決策です。
※筆者経験+一般的傾向をもとにした目安。実際の割合は環境により異なります。
500エラー発生前後の状況変化
対処法を知っているかどうかで、500エラーへの対応はこれほど変わります。
【原因別】500エラーの対処手順
以下の対処法を上から順番に試してください。プラグインが原因のケースが最も多いため、まず対処法①から始めるのが鉄則です。
対処法①|プラグインの無効化(最初に試すべき方法)
なぜプラグインが500エラーの原因になるのか
WordPressプラグインはPHPコードで動作しています。プラグインのアップデートで追加されたコードが現在のPHPバージョンと非互換だったり、他のプラグインと処理が衝突したりすることで、WordPressが起動できなくなって500エラーが発生します。
特に「複数プラグインを一括更新した直後」に500エラーが起きた場合は、ほぼ100%プラグインが原因です。
管理画面にアクセスできる場合
- WordPress管理画面 →「プラグイン」→「インストール済みプラグイン」を開く
- 全プラグインを選択して「一括無効化」を実行する
- ブログのフロントページを確認してエラーが消えているか確認する
- エラーが消えたら、プラグインを1つずつ有効化してエラーが再現するプラグインを特定する
管理画面にアクセスできない場合(エックスサーバーのファイルマネージャー利用)
- エックスサーバーのサーバーパネルにログインする
- 「ファイルマネージャー」を開く
/ドメイン名/public_html/wp-content/フォルダを開く- plugins フォルダを右クリック→「名前の変更」で「plugins_backup」にリネーム
- ブログを確認してエラーが消えていれば、プラグインが原因で確定
- フォルダ名を「plugins」に戻してから1つずつ有効化して犯人を特定する
筆者の実体験:WordPressの管理画面からWooCommerce・Contact Form 7・SEO系プラグインを同時に更新したら即座に500エラーが発生。FTPでpluginsフォルダをリネームしたら回復。1つずつ有効化して調べたら、Contact Form 7の最新バージョンがサーバーのPHP7.4と非互換だったことが判明。PHP8.1にアップグレードして解決しました。
プラグイン無効化でのやってはいけないこと:
- ❌ 犯人プラグインを「削除」してしまう(無効化だけでOK。削除するとデータが失われることも)
- ❌ 一括更新を焦って繰り返す(状況が複雑になるだけ)
- ❌ プラグインを1つずつ有効化する前にフォルダ名を元に戻してしまう
対処法②|.htaccessの初期化
.htaccessとは・なぜ破損するのか
.htaccess(ドットエイチティアクセス)はApacheサーバーの動作を制御する設定ファイルです。WordPressのパーマリンク設定を保存しているほか、セキュリティ設定やリダイレクト設定なども記述されています。
このファイルに1文字でも構文エラーがあるとサーバー全体がエラーになり500エラーが発生します。パーマリンク設定変更時に自動書き換えが失敗した場合や、セキュリティ強化のコードをネットからコピーして貼り付けたときにミスが混入するケースが典型的です。
エックスサーバーのファイルマネージャーからの操作手順
- サーバーパネル →「ファイルマネージャー」→ ドメインフォルダ → public_html を開く
- .htaccess ファイルを右クリック →「名前の変更」で「.htaccess_backup」にリネーム(削除は絶対にNG)
- 「新規ファイル作成」で
.htaccessという名前のファイルを作成する - 以下のWordPress標準の内容を貼り付けて保存する:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
- ブログを確認してエラーが解消されているか確認する
- エラーが解消したら、WordPress管理画面 →「設定」→「パーマリンク」→「変更を保存」を押して.htaccessを正常に再生成する
筆者の実体験:パーマリンク設定を「投稿名」から「カスタム構造」に変更したところ.htaccessの書き換えが途中で失敗して500エラーが発生。バックアップに名前を変えてから標準の.htaccessを作成して即座に復旧。10分以内に解決できました。.htaccess操作の前に必ずバックアップを取る習慣が本当に大切だと実感しました。
対処法③|PHPバージョンの変更
PHPバージョン不一致が500エラーを引き起こす仕組み
WordPressとプラグイン・テーマはPHPというプログラミング言語で動作しています。PHPのメジャーバージョンが変わると(例:PHP8.0→PHP8.2)、古い記法が廃止されることがあり、対応していないプラグインやテーマが500エラーを引き起こします。
エックスサーバーでのPHPバージョン変更手順
- エックスサーバーのサーバーパネルにログインする
- 「PHP Ver.切替」をクリックする
- 該当のドメインを選択する
- 現在のバージョンを確認し、一つ前のバージョンに変更して「変更する」をクリック
- 数秒〜数分でPHPバージョンが切り替わる
- ブログを確認してエラーが解消されているか確認する
🛡️ 安定稼働・高速サーバー
エックスサーバー|サーバーパネルから簡単にPHP切替・安定運営
エックスサーバーならサーバーパネルから数クリックでPHPバージョンを変更できます。自動バックアップ機能も標準搭載でトラブル時も安心。
✅ 独自ドメイン永久無料特典あり(キャンペーン期間中)
※月額990円〜。現在キャンペーン中で初期費用無料の可能性あり
対処法④|テーマを一時的にデフォルトテーマに切り替える
テーマのコードエラーが500エラーを引き起こすケース
テーマの functions.php・style.css・テンプレートファイルに構文エラーがある場合、WordPressがテーマを読み込めずに500エラーになります。特に「子テーマのfunctions.phpに独自コードを追加した直後」に頻繁に起きるパターンです。
管理画面にアクセスできない場合(ファイルマネージャーでリネーム)
- ファイルマネージャーで
/public_html/wp-content/themes/フォルダを開く - 現在使用中のテーマフォルダ(例:my-child-theme)を「my-child-theme_backup」にリネーム
- WordPressが自動的に利用可能なテーマ(デフォルトテーマ)に切り替わる
- エラーが解消したらfunctions.phpを修正して元のテーマフォルダ名に戻す
筆者の実体験:子テーマのfunctions.phpにカスタム関数を追加した際、全角スペースが混入していてPHPの構文エラーになり500エラーが発生。FTPでfunctions.phpを編集前のバックアップと置き換えて10分以内に復旧。それ以来、functions.phpを編集する前は必ずFTPで手元にダウンロードしてバックアップを取るようにしています。
対処法⑤|WordPressのメモリ制限を増やす
メモリ不足が500エラーを引き起こすメカニズム
WordPressはPHPの実行に一定のメモリ(RAM)を消費します。デフォルトの制限(64MB)を超えた場合、「Fatal error: Allowed memory size exhausted」というエラーとともに500エラーが発生することがあります。画像処理プラグインや高機能なバックアッププラグインで起きやすいです。
wp-config.phpに追記するメモリ制限引き上げコード
wp-config.phpの「/* 編集が必要なのはここまでです */」という行の上に追記します。
.htaccessでのメモリ制限変更方法
エックスサーバーは通常256MB以上のメモリを確保しているためメモリ不足のケースは少ないですが、念のため確認してみてください。
対処法⑥|エックスサーバーのエラーログを確認する
エラーログで原因の詳細を特定できる理由
エラーログにはサーバーが何をしようとして失敗したかが詳細に記録されています。「何が原因かまったくわからない」という場合や、上記の対処法を試しても解決しない場合は必ずエラーログを確認しましょう。
エックスサーバーでエラーログを確認する手順
- ファイルマネージャーで
/ドメイン名/logs/フォルダを開く php_error.logまたはerror_logファイルを開く- 最新の行(一番下)に記録されているエラーメッセージを確認する
よく出るエラーログメッセージと対処法
| エラーメッセージ(抜粋) | 意味 | 対処法 |
|---|---|---|
| PHP Fatal error: Allowed memory size | メモリ制限超過 | wp-config.phpでメモリを増やす |
| PHP Fatal error: Call to undefined function | 関数が見つからない(プラグイン・テーマ問題) | プラグイン無効化またはテーマ切替 |
| PHP Parse error: syntax error | PHPの構文エラー | エラー箇所のファイルを修正or削除 |
| PHP Fatal error: require_once(): Failed opening | 必要なファイルが見つからない | WP再インストールまたは該当ファイルを復元 |
| Options +ExecCGI is not allowed here | .htaccessの設定エラー | .htaccessを初期化する |
WP_DEBUGを有効化してデバッグモードで確認する方法
wp-config.phpに以下を追記するとWordPress画面上にエラー詳細が表示されます(復旧後は必ず無効化すること):
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, false);
復旧にかかる時間と難易度の比較
どの対処法から試すか判断するための参考表です。難易度が低く復旧時間が短い順に試すのが基本です。
| 対処法 | 復旧の目安時間 | 難易度 | 再発リスク | 初心者でも可能か |
|---|---|---|---|---|
| ① プラグイン無効化 | 5〜15分 | ★☆☆☆☆ | 低(原因特定後) | ◎ |
| ② .htaccess初期化 | 10〜20分 | ★★☆☆☆ | 低 | ◎ |
| ③ PHPバージョン変更 | 5〜10分 | ★★☆☆☆ | 中(テーマ・プラグイン次第) | ◎ |
| ④ テーマ切り替え | 10〜20分 | ★★☆☆☆ | 低(テーマ修正後に戻す) | ◎ |
| ⑤ メモリ制限引き上げ | 10〜15分 | ★★★☆☆ | 低 | ○ |
| ⑥ エラーログ確認 | 15〜30分 | ★★★★☆ | —(原因特定のため) | △ |
| ⑦ WP再インストール | 30〜60分 | ★★★★☆ | 低 | △(最終手段) |
500エラー復旧ロードマップ
エラー発生から完全復旧・再発防止策の実施まで、時系列で確認しましょう。
実際に遭遇した500エラーのケーススタディ
筆者が実際に経験した500エラーの体験談を3つ紹介します。同じ状況の方はすぐに参考になるはずです。
500エラー対処完了・再発防止チェックリスト
復旧作業と再発防止策を順番に確認しましょう。全項目チェックできれば完璧です。
よくある質問(FAQ)
まとめ|500エラーは手順通りに進めれば必ず解決できる
500 Internal Server Errorへの対処法を優先度順にまとめます。
- 🥇 まずプラグインを全て無効化する(原因の約45%がプラグイン)
- 🥈 解決しなければ.htaccessを初期化する(標準の内容で新規作成)
- 🥉 次にPHPバージョンを一つ前に変更する(エックスサーバーサーバーパネルから)
- 4️⃣ テーマフォルダをリネームしてデフォルトテーマに切り替える
- 5️⃣ エラーログで詳細な原因を特定する(最も正確な診断方法)
- 🔄 復旧後は必ず再発防止策(バックアップ・更新ルール)を実施する
大切なのはパニックにならないことです。どれだけ焦っていても、データはサーバーに残っています。この記事の手順通りに一つずつ進めれば、ほぼ必ず自力で解決できます。筆者自身、10回以上500エラーに遭遇してきましたが、毎回30分以内に復旧できています。
🛡️ 安定稼働・高速サーバー
エックスサーバー|500エラーが起きにくい安定した環境でブログ運営
国内シェアNo.1クラスの実績と安定性。自動バックアップ・WAF完備でトラブルからサイトを守ります。
✅ 独自ドメイン永久無料特典あり(キャンペーン期間中)
※月額990円〜。現在キャンペーン中で初期費用無料の可能性あり

