【WordPress】500エラーの原因と直し方。切り分け順が重要

WordPressトラブル解決

WordPressで「500 Internal Server Error」が表示され、サイトがまったく見られなくなった経験はありませんか?

500エラーは原因が非常に幅広く、.htaccess、プラグイン、テーマ、PHPなど様々な可能性があります。どこから調べればいいか分からず、闇雲に触ると状況が悪化することもあります。

検索すると「.htaccessを削除」「プラグインを無効化」「PHPバージョンを確認」など色々な対処法が出てきますが、どれから試すべきか判断できません。エラーログの見方も分からず、手詰まりになりがちです。

この記事では、500エラーの安全な切り分け順と、サーバー会社に問い合わせる際に必要な情報をまとめました。

  1. まず結論:切り分けは順番が重要
  2. 自力対応をやめる判断基準
    1. 1. エラーログが確認できない
    2. 2. サーバー情報が不明
    3. 3. 本番環境で直接設定変更するのが怖い
    4. 4. 戻す方法がわからない
    5. 5. 複数の変更を同時に行った直後
  3. 500エラーの主な原因(代表例)
    1. 1. .htaccessの記述ミス(Apache環境)
    2. 2. プラグインの不具合・競合
    3. 3. テーマの不具合
    4. 4. PHPメモリ不足
    5. 5. PHPバージョンの非対応
    6. 6. ディスク容量不足
    7. 7. ファイル権限(パーミッション)の設定ミス
  4. 安全な切り分け手順(順番厳守)
    1. 事前準備:現状を記録する
    2. 事前準備:バックアップを取る
    3. ステップ1:.htaccessを退避して確認(Apache環境のみ)
    4. ステップ2:プラグインをすべて無効化
    5. ステップ3:テーマをデフォルトに切り替え
    6. ステップ4:PHPバージョン・メモリ・容量を確認
    7. ステップ5:ファイル権限(パーミッション)を確認
    8. ステップ6:サーバーのエラーログを確認
  5. サーバー会社に問い合わせる際に伝える情報
    1. 必須情報
    2. あると望ましい情報
  6. 注意点(よくある失敗と回避策)
    1. 失敗例1:.htaccessを上書きして元に戻せない
    2. 失敗例2:複数の変更を同時に実施して原因不明に
    3. 失敗例3:phpMyAdminでデータベースを壊す
    4. 失敗例4:権限を間違えてセキュリティホールを作る
    5. 失敗例5:エラーログを見ずに手当たり次第に試す
  7. FAQ
    1. Q1. 特定のページだけ500エラーになります。全体ではありません。
    2. Q2. サーバー会社に何をどう伝えればいいですか?
    3. Q3. 復旧後にやるべき点検はありますか?
    4. Q4. 500エラーが断続的に発生します。たまに正常に表示されることもあります。
    5. Q5. .htaccessを削除したら500エラーは消えましたが、パーマリンクが機能しません。
  8. まとめ
  9. WordPress 500エラーでお困りの方へ

まず結論:切り分けは順番が重要

WordPress 500エラーの復旧で最も重要なのは、正しい順番で原因を切り分けることです。

推奨する切り分け順は以下の通りです。

  1. .htaccessの問題を排除
  2. プラグインを無効化
  3. テーマをデフォルトに切り替え
  4. PHPバージョン・メモリ・ディスク容量を確認
  5. ファイル権限(パーミッション)を確認
  6. サーバーのエラーログを確認

この順番で進めることで、リスクを抑えながら原因を特定できます。

自力対応をやめる判断基準

以下のいずれかに当てはまる場合は、自力での復旧を中断して、ご相談いただくことをおすすめします。

1. エラーログが確認できない

サーバー管理画面でエラーログの場所がわからない場合、原因特定が困難です。エラーログなしでの作業は、当てずっぽうになりがちです。

2. サーバー情報が不明

PHPバージョン、メモリ制限、サーバー種別などの情報がわからない場合、適切な対処ができません。

3. 本番環境で直接設定変更するのが怖い

ステージング環境(検証環境)がなく、本番サイトで試行錯誤せざるを得ない場合、訪問者への影響が大きくなります。

4. 戻す方法がわからない

バックアップがない、または復元手順に不安がある場合、変更後に元に戻せなくなる可能性があります。

5. 複数の変更を同時に行った直後

プラグイン更新、テーマ変更、サーバー設定変更など、複数の操作を同時に行った場合、原因の特定が難しくなります。

こんな症状なら、ご相談ください

  • エラーログの場所や見方がわからない
  • サーバー管理画面の操作に不慣れ
  • 本番環境しかなく、検証ができない
  • バックアップがない、または古すぎる
  • 何を変更したか思い出せない

ココナラで相談する(エラーログ確認から原因特定、復旧まで、お力になれることがあるかもしれません。24時間以内に返信)

500エラーの主な原因(代表例)

原因を特定しやすくするため、代表的な原因から順に解説します。

1. .htaccessの記述ミス(Apache環境)

代表的な原因の一つです。Apache環境で以下のような状況で発生します。

  • パーマリンク設定を変更した直後
  • リダイレクト設定を追加した直後
  • .htaccessを手動で編集した直後

2. プラグインの不具合・競合

プラグイン関連も代表的な原因です。

  • プラグインを更新した直後
  • 新しいプラグインをインストールした直後
  • 複数のプラグインが同じ機能を持ち、競合している
  • プラグインがPHPバージョンに対応していない

3. テーマの不具合

カスタマイズしたテーマでよく起こります。

  • テーマを更新した直後
  • functions.phpを編集した直後
  • 子テーマと親テーマの互換性の問題

4. PHPメモリ不足

サイト規模が大きくなると発生します。

  • 大量の画像やデータを処理している
  • 複数のプラグインが同時に動作している
  • サーバーのメモリ制限が低い

5. PHPバージョンの非対応

古いPHPバージョンや、逆に新しすぎるバージョンで起こります。

  • サーバー会社がPHPバージョンを自動更新した
  • WordPressやプラグインが古く、新しいPHPに対応していない

6. ディスク容量不足

意外と見落としがちな原因です。

  • バックアッププラグインが大量のファイルを保存している
  • アップロードした画像が蓄積している
  • ログファイルが肥大化している

7. ファイル権限(パーミッション)の設定ミス

FTPでファイルを操作した後に起こります。

  • ファイルやフォルダの権限が不適切
  • wp-config.phpなど重要ファイルの権限が間違っている

安全な切り分け手順(順番厳守)

ここからは、リスクを抑えながら原因を特定する手順を解説します。必ずこの順番で進めてください!

サーバーがNginxの場合、.htaccess は使えません。その場合は「ステップ1:.htaccess」の手順をスキップして進めてください。

事前準備:現状を記録する

作業を始める前に、以下の情報を記録しておきます。

  1. エラーが発生した日時
  2. 直前に行った変更内容(プラグイン更新、設定変更など)
  3. エラー画面のスクリーンショット
  4. サーバー会社名とプラン名

事前準備:バックアップを取る

可能な範囲でバックアップを取ります。500エラーで管理画面に入れない場合は、以下の方法を試してください。

  1. FTPですべてのファイルをダウンロード
  2. サーバー管理画面からデータベースをエクスポート(phpMyAdmin経由)

ステップ1:.htaccessを退避して確認(Apache環境のみ)

最もリスクが低く、効果が高い方法から始めます。

  1. FTPでサーバーに接続
  2. サイトのルートディレクトリにある .htaccess を見つける
  3. .htaccess.htaccess.bak にリネーム(退避)
  4. サイトにアクセスして表示されるか確認

表示された場合、.htaccessが原因です。

  1. .htaccess.bak.htaccess に戻す
  2. 管理画面の「設定」→「パーマリンク設定」で「変更を保存」をクリック(新しい.htaccessが生成される)

管理画面に入れない場合は、以下の内容で新しく .htaccess を作成してアップロードします。

# BEGIN 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

ステップ2:プラグインをすべて無効化

.htaccessが原因でない場合、次はプラグインを疑います。

  1. FTPでサーバーに接続
  2. wp-content/plugins フォルダの名前を plugins_old に変更
  3. サイトにアクセスして表示されるか確認

表示された場合、プラグインが原因です。

  1. フォルダ名を plugins に戻す
  2. 管理画面から1つずつプラグインを有効化
  3. エラーが再発するプラグインを特定
  4. 該当プラグインを削除または更新

ステップ3:テーマをデフォルトに切り替え

プラグインでもない場合、テーマを疑います。

  1. FTPで wp-content/themes 内にデフォルトテーマ(Twenty Twenty-Fourなど)があるか確認
  2. ない場合は、WordPress公式サイトからダウンロードしてアップロード
  3. phpMyAdminでデータベースを開く
  4. <prefix>_options テーブルを開く(多くの環境では wp_options$table_prefixwp-config.php で確認できます)
  5. template を検索して、値をデフォルトテーマ名(例:twentytwentyfour)に変更
  6. stylesheet も同様に変更
  7. サイトにアクセスして表示されるか確認

表示された場合、テーマが原因です。テーマを更新するか、カスタマイズ内容を見直します。

データベース操作に不安がある場合は、この手順はスキップしてください。

ステップ4:PHPバージョン・メモリ・容量を確認

ここからはサーバー設定の確認です。

  1. サーバー管理画面にログイン
  2. PHPバージョンを確認(WordPress公式推奨の範囲に合わせる)
  3. PHPメモリ制限を確認(目安は256MB以上。環境によっては512MBが必要な場合も)
  4. ディスク使用量を確認(残り容量が少ない場合は不要ファイルを削除)

PHPメモリを増やす場合は、wp-config.php に以下を追加します。

define('WP_MEMORY_LIMIT', '256M');

追加場所は /* 編集が必要なのはここまでです */ という行の直前です。

ただし、サーバー側の設定(php.ini、.user.ini、管理画面のPHP設定など)が優先され、WP_MEMORY_LIMIT を設定しても反映されない場合があります。管理画面側のメモリ不足が疑われる場合は、WP_MAX_MEMORY_LIMIT の設定も含めて確認してください。

ステップ5:ファイル権限(パーミッション)を確認

FTPクライアントでファイル権限を確認します。

推奨される権限は以下の通りです(サーバー会社の推奨に従ってください)。

  • ディレクトリ(フォルダ):755
  • ファイル:644
  • wp-config.php:400 または 440(環境によっては 640/644 が推奨される場合も)

権限が異なる場合、FTPクライアントで変更します。ただし、サーバー環境によって推奨値が異なる場合があるため、サーバー会社のマニュアルを確認してください。

ステップ6:サーバーのエラーログを確認

ここまでで原因が特定できない場合、エラーログを確認します。

  1. サーバー管理画面からエラーログの場所を確認(サーバーによって異なる)
  2. エラーログを開き、最新のエラーメッセージを確認
  3. エラーメッセージに記載されているファイル名や行数をメモ

エラーログの場所がわからない場合は、サーバー会社に問い合わせてください。

サーバー会社に問い合わせる際に伝える情報

自力での切り分けが難しい場合、サーバー会社に問い合わせます。以下の情報を整理して伝えるとスムーズです。

必須情報

  • サイトのURL
  • エラーが発生した日時
  • 直前に行った変更内容
  • エラー画面のスクリーンショット

あると望ましい情報

  • エラーログの該当部分(コピー&ペースト)
  • 現在のPHPバージョン
  • 試した対処内容(.htaccess退避、プラグイン無効化など)
  • ディスク使用状況

サーバー会社は、サーバー側の障害やリソース不足については対応できますが、WordPress本体やプラグイン、テーマの不具合には対応できない場合があります。

注意点(よくある失敗と回避策)

500エラー対応でよくある失敗例と回避策を紹介します。

失敗例1:.htaccessを上書きして元に戻せない

→ 回避策:ファイルを編集する前に必ずダウンロードしてバックアップを取る。リネームして退避するだけでも有効です。

失敗例2:複数の変更を同時に実施して原因不明に

→ 回避策:必ず1つずつ変更し、その都度サイトにアクセスして確認する。複数同時に変更すると、どれが原因か特定できなくなります。

失敗例3:phpMyAdminでデータベースを壊す

→ 回避策:データベース操作の前に必ずエクスポートしてバックアップを取る。phpMyAdminに不慣れな場合は、この手順はスキップしてください。

失敗例4:権限を間違えてセキュリティホールを作る

→ 回避策:ファイル権限を変更する前に、サーバー会社の推奨値を確認する。777(全員に書き込み権限)は絶対に避けてください!

失敗例5:エラーログを見ずに手当たり次第に試す

→ 回避策:エラーログに原因が記載されている場合があります。まずログを確認してから対処を検討してください。

FAQ

Q1. 特定のページだけ500エラーになります。全体ではありません。

特定のページだけの場合、そのページ固有のプラグイン機能や、ショートコード、テンプレートファイルが原因の可能性があります。該当ページで使っているプラグインやショートコードを無効化して確認してください。

Q2. サーバー会社に何をどう伝えればいいですか?

以下の情報をまとめて伝えます。

  • サイトのURL
  • エラーが発生した日時と状況
  • 直前に行った変更(プラグイン更新など)
  • エラーログの該当部分(あれば)
  • 試した対処内容

「WordPress本体の問題かサーバー側の問題か切り分けたい」と伝えると、適切な案内を受けやすくなります。

Q3. 復旧後にやるべき点検はありますか?

復旧後は以下を確認してください。

  • サイト全体が正常に表示されるか(トップページだけでなく、投稿ページ、固定ページ、カテゴリページなど)
  • プラグインがすべて正常に動作しているか
  • バックアッププラグインが動作しているか
  • エラーログに新しいエラーが出ていないか

また、原因が特定できた場合は、同じエラーが再発しないよう対策(不要なプラグインの削除、定期更新のスケジュール化など)を検討してください。

Q4. 500エラーが断続的に発生します。たまに正常に表示されることもあります。

断続的な500エラーは、以下の原因が考えられます。

  • サーバーのリソース(CPU、メモリ)が一時的に不足している
  • アクセスが集中している時間帯に発生している
  • 特定のプラグインやクローラーが高負荷を引き起こしている

サーバーのリソース使用状況を確認し、必要に応じてプランのアップグレードを検討してください。

Q5. .htaccessを削除したら500エラーは消えましたが、パーマリンクが機能しません。

.htaccessを削除すると、パーマリンク設定(URLの構造)が機能しなくなります。以下の手順で新しい.htaccessを生成してください。

  1. 管理画面の「設定」→「パーマリンク設定」を開く
  2. 何も変更せず、一番下の「変更を保存」をクリック
  3. 新しい.htaccessが自動生成される

それでも500エラーが再発する場合は、カスタム設定(リダイレクトルールなど)に問題がある可能性があります。

まとめ

WordPress 500エラーの復旧で最も重要なのは、正しい順番で切り分けることです。

この記事で解説した内容をまとめます。

  • 切り分けは .htaccess → プラグイン → テーマ → PHP → 権限 → ログ の順で
  • 必ず1つずつ変更し、その都度確認する
  • バックアップを取ってから作業する
  • エラーログが確認できない、サーバー情報が不明な場合はご相談を

順番を守ると、リスクを抑えながら原因を特定できます。自力での対応に不安がある場合、無理をせず一度ご相談いただくことをおすすめします。

WordPress 500エラーでお困りの方へ

WordPress 500エラーの原因調査から復旧まで対応します。エラーログの確認、サーバー設定の点検、プラグイン・テーマの切り分けを行います。

  • 24時間以内に返信
  • エラーログ確認→原因特定→復旧→再発防止策まで対応
  • 事前に料金と作業範囲を明確に提示

「エラーログの見方がわからない」「サーバー設定に不慣れ」「原因がまったくわからない」という場合も、まずご相談ください。サーバー会社名と直前に行った変更内容を添えていただければ、状況をお聞きして最適な復旧プランを提案します。お気軽にメッセージをお送りください。

ココナラで相談する: https://coconala.com/services/31984

ゆう

Web屋10年以上のフリーランス|WordPressとサイト改善が得意
いまはAIに夢中。仕事も暮らしもAI活用/個人開発も少し
株・ポイ活/子育て奮闘中。豆腐メンタルなので平和にいきたい
AI社会でも非デジタルを大切に。三度の飯とたこやきが好き

Follow Me
WordPressトラブル解決
タイトルとURLをコピーしました