WordPressで「500 Internal Server Error」が表示され、サイトがまったく見られなくなった経験はありませんか?
500エラーは原因が非常に幅広く、.htaccess、プラグイン、テーマ、PHPなど様々な可能性があります。どこから調べればいいか分からず、闇雲に触ると状況が悪化することもあります。
検索すると「.htaccessを削除」「プラグインを無効化」「PHPバージョンを確認」など色々な対処法が出てきますが、どれから試すべきか判断できません。エラーログの見方も分からず、手詰まりになりがちです。
この記事では、500エラーの安全な切り分け順と、サーバー会社に問い合わせる際に必要な情報をまとめました。
まず結論:切り分けは順番が重要
WordPress 500エラーの復旧で最も重要なのは、正しい順番で原因を切り分けることです。
推奨する切り分け順は以下の通りです。
- .htaccessの問題を排除
- プラグインを無効化
- テーマをデフォルトに切り替え
- PHPバージョン・メモリ・ディスク容量を確認
- ファイル権限(パーミッション)を確認
- サーバーのエラーログを確認
この順番で進めることで、リスクを抑えながら原因を特定できます。
自力対応をやめる判断基準
以下のいずれかに当てはまる場合は、自力での復旧を中断して、ご相談いただくことをおすすめします。
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」の手順をスキップして進めてください。
事前準備:現状を記録する
作業を始める前に、以下の情報を記録しておきます。
- エラーが発生した日時
- 直前に行った変更内容(プラグイン更新、設定変更など)
- エラー画面のスクリーンショット
- サーバー会社名とプラン名
事前準備:バックアップを取る
可能な範囲でバックアップを取ります。500エラーで管理画面に入れない場合は、以下の方法を試してください。
- FTPですべてのファイルをダウンロード
- サーバー管理画面からデータベースをエクスポート(phpMyAdmin経由)
ステップ1:.htaccessを退避して確認(Apache環境のみ)
最もリスクが低く、効果が高い方法から始めます。
- FTPでサーバーに接続
- サイトのルートディレクトリにある
.htaccessを見つける .htaccessを.htaccess.bakにリネーム(退避)- サイトにアクセスして表示されるか確認
表示された場合、.htaccessが原因です。
.htaccess.bakを.htaccessに戻す- 管理画面の「設定」→「パーマリンク設定」で「変更を保存」をクリック(新しい.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が原因でない場合、次はプラグインを疑います。
- FTPでサーバーに接続
wp-content/pluginsフォルダの名前をplugins_oldに変更- サイトにアクセスして表示されるか確認
表示された場合、プラグインが原因です。
- フォルダ名を
pluginsに戻す - 管理画面から1つずつプラグインを有効化
- エラーが再発するプラグインを特定
- 該当プラグインを削除または更新
ステップ3:テーマをデフォルトに切り替え
プラグインでもない場合、テーマを疑います。
- FTPで
wp-content/themes内にデフォルトテーマ(Twenty Twenty-Fourなど)があるか確認 - ない場合は、WordPress公式サイトからダウンロードしてアップロード
- phpMyAdminでデータベースを開く
<prefix>_optionsテーブルを開く(多くの環境ではwp_options。$table_prefixはwp-config.phpで確認できます)templateを検索して、値をデフォルトテーマ名(例:twentytwentyfour)に変更stylesheetも同様に変更- サイトにアクセスして表示されるか確認
表示された場合、テーマが原因です。テーマを更新するか、カスタマイズ内容を見直します。
データベース操作に不安がある場合は、この手順はスキップしてください。
ステップ4:PHPバージョン・メモリ・容量を確認
ここからはサーバー設定の確認です。
- サーバー管理画面にログイン
- PHPバージョンを確認(WordPress公式推奨の範囲に合わせる)
- PHPメモリ制限を確認(目安は256MB以上。環境によっては512MBが必要な場合も)
- ディスク使用量を確認(残り容量が少ない場合は不要ファイルを削除)
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:サーバーのエラーログを確認
ここまでで原因が特定できない場合、エラーログを確認します。
- サーバー管理画面からエラーログの場所を確認(サーバーによって異なる)
- エラーログを開き、最新のエラーメッセージを確認
- エラーメッセージに記載されているファイル名や行数をメモ
エラーログの場所がわからない場合は、サーバー会社に問い合わせてください。
サーバー会社に問い合わせる際に伝える情報
自力での切り分けが難しい場合、サーバー会社に問い合わせます。以下の情報を整理して伝えるとスムーズです。
必須情報
- サイトの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を生成してください。
- 管理画面の「設定」→「パーマリンク設定」を開く
- 何も変更せず、一番下の「変更を保存」をクリック
- 新しい.htaccessが自動生成される
それでも500エラーが再発する場合は、カスタム設定(リダイレクトルールなど)に問題がある可能性があります。
まとめ
WordPress 500エラーの復旧で最も重要なのは、正しい順番で切り分けることです。
この記事で解説した内容をまとめます。
- 切り分けは .htaccess → プラグイン → テーマ → PHP → 権限 → ログ の順で
- 必ず1つずつ変更し、その都度確認する
- バックアップを取ってから作業する
- エラーログが確認できない、サーバー情報が不明な場合はご相談を
順番を守ると、リスクを抑えながら原因を特定できます。自力での対応に不安がある場合、無理をせず一度ご相談いただくことをおすすめします。
WordPress 500エラーでお困りの方へ
WordPress 500エラーの原因調査から復旧まで対応します。エラーログの確認、サーバー設定の点検、プラグイン・テーマの切り分けを行います。
- 24時間以内に返信
- エラーログ確認→原因特定→復旧→再発防止策まで対応
- 事前に料金と作業範囲を明確に提示
「エラーログの見方がわからない」「サーバー設定に不慣れ」「原因がまったくわからない」という場合も、まずご相談ください。サーバー会社名と直前に行った変更内容を添えていただければ、状況をお聞きして最適な復旧プランを提案します。お気軽にメッセージをお送りください。
ココナラで相談する: https://coconala.com/services/31984


