WordPressのWebサイトを運用・更新している最中、あるいは何も変更していないのに突然「500 Internal Server Error(内部サーバーエラー / HTTP status 500)」が発生して画面が真っ白になってしまった――そんな緊急トラブルに直面していませんか?
500 Internal Server Error(HTTP status 500)は、Webサーバー側でプログラムの異常停止や設定ファイルの記述ミスなど“想定外の致命的なエラー”が起きたことを示すHTTPステータスコードです。WordPressで「500 internal server error 原因」「500エラー 直し方 htaccess」「500エラー php」と検索してトラブルに見舞われる主な原因には、PHP 8系(PHP 8.0〜8.3)移行に伴うFatal Error、.htaccessの文法エラー・構文ミス、プラグインやテーマの競合、PHPメモリ上限(memory_limit)の超過などが挙げられます。
サイトが非表示になっている間はユーザーの離脱や売上機会の損失だけでなく、長引くと検索順位の後退やSEO評価への悪影響に直結するため、最短ルートで原因を絞り込み、即座に復旧させることが何よりも重要です。
本記事では、画面の前で焦っている読者が最短3分でサイトを復旧できるよう、ファーストビューで原因を特定できる診断フローチャートから、エラーログ(debug.log)の読み解き方・直し方、.htaccess修復、PHP 8系互換性エラーの解決策、プラグイン二分探索法までを図解付きで網羅的に解説します。
【最短3分】500エラーの原因を特定する診断フローチャート
WordPressで500エラー(または画面が真っ白になるホワイトスクリーン・オブ・デス / WSOD)が発生した際、手当たり次第に設定を変更するのはかえって事態を悪化させます。まずは「直前に何をしたか」を起点に、以下のフローチャートに沿って最短ルートで原因を絞り込みましょう。
📊 500エラー原因特定 診断フローチャート
▼ 質問1:直前に functions.php や .htaccess などのファイルを編集しましたか?
- 【YES】➔ 状況①「ファイル編集直後」
➔ 原因:全角スペース混入、セミコロン抜け、文法エラー、.htaccess構文ミス
➔ アクション:編集前のバックアップに戻す、または.htaccessをリネームして初期化 - 【NO】➔ 質問2へ進む
▼ 質問2:プラグインやテーマの新規インストール・更新を行いましたか?
- 【YES】➔ 状況②「プラグイン・テーマ更新後」
➔ 原因:プラグイン同士の競合、テーマのPHP非互換、更新処理の中断
➔ アクション:FTPから該当プラグインフォルダをリネーム(無効化)、または「二分探索法」で特定 - 【NO】➔ 質問3へ進む
▼ 質問3:管理画面も含め、本当に「何も変更していないのに突然」起きましたか?
- 【YES】➔ 状況③「何もしていないのに突然」
➔ 原因:サーバー会社のPHPバージョン自動更新、プラグイン自動更新、cron処理のメモリ枯渇、アクセス急増、DB接続障害
➔ アクション:wp-config.phpでWP_DEBUGを有効化してdebug.logを確認、PHPメモリ上限引き上げ、サーバー稼働状況確認
/wp-admin/)にログインできる場合は「プラグインの停止」や「テーマ切り替え」が即座に行えます。管理画面すら開かない場合は、FTPソフトまたはレンタルサーバーのファイルマネージャーを使って操作します。
状況別切り分け:①ファイル編集直後 / ②プラグイン・テーマ更新後 / ③何もしていないのに突然
診断フローチャートで判明した「3つの状況」ごとに、最も可能性の高い原因と具体的なファーストエイド手順を詳しく解説します。
① ファイル編集直後(.htaccess / functions.php / wp-config.php)の場合
【主な原因】コードのコピペによる全角スペース混入、PHP構文ミス(Parse error: syntax error)、.htaccess のモジュール不一致やTypo。
- .htaccessを編集した場合:サーバー上の
.htaccessを.htaccess_backupなどにリネームし、WordPress標準の.htaccessを再作成します。 - functions.phpを編集した場合:編集した直前の行末セミコロン(
;)やカッコの閉じ忘れ、全角スペースがないか確認します。修正が難しい場合は直前のバックアップファイルで上書きしてください。 - wp-config.phpを編集した場合:UTF-8の「BOM(Byte Order Mark)」が付与されていないか確認します。BOM付きUTF-8で保存すると500エラーや画面上部の空白行が発生します。
② プラグイン・テーマ更新後の場合
【主な原因】プラグインのPHPバージョン互換性不足、既存プラグインとの関数名重複・競合、自動更新途中のファイル破損。
- 管理画面が開く場合:「プラグイン」一覧から直前に更新したプラグインを「無効化」します。
- 管理画面が開かない場合:FTPで
/wp-content/plugins/にアクセスし、該当プラグインのディレクトリ名末尾に_disabledを付与して無効化します。 - どのプラグインかわからない場合:後述の「二分探索法(バイナリサーチ)」を用いて半分ずつフォルダ名を切り替えて最短特定します。
③ 何もしていないのに突然起きた場合
【主な原因】レンタルサーバー側のPHP自動切り替え、バックグラウンド自動更新、アクセス集中によるメモリ上限(memory_limit)超過、データベース接続瞬断。
- 最優先アクション:
wp-config.phpでWP_DEBUGを有効化し、/wp-content/debug.logに出力されるエラーログを直接確認します。 - PHPバージョンの確認:サーバーのコントロールパネルを開き、PHPバージョンが最近変更されていないか確認します(PHP 8.xで古いテーマがクラッシュしている可能性大)。
- PHPメモリ上限の確認:
memory_limitが 128MB などの低い値になっている場合、256MB〜512MBへ引き上げます。
エラーログ(debug.log)の場所と主要エラーメッセージの読み解き方
500エラーの根本原因を最短かつ正確に特定する唯一無二の手段が「WordPressのエラーログ(debug.log)」です。画面上にエラーが表示されない場合でも、ログを有効化すれば「どのファイルの何行目で何が起きたか」が一目瞭然になります。
まずはサーバー上の wp-config.php(WordPressインストールディレクトリ直下)を開き、以下のコードを追記または修正します。
/**
* WordPress デバッグログ設定(本番環境用・安全設計)
* 画面にはエラーを出さず、ログファイルだけに記録します
*/
define( 'WP_DEBUG', true ); // デバッグモード有効化
define( 'WP_DEBUG_LOG', true ); // /wp-content/debug.log に書き出し
define( 'WP_DEBUG_DISPLAY', false ); // 訪問者向け画面へのエラー非表示(セキュリティ対策)
@ini_set( 'display_errors', 0 ); // PHPエラー画面出力の完全無効化
設定を保存した後、エラーが出ているページをブラウザで1回再読み込み(リロード)すると、サーバーの以下の場所にログファイルが生成されます。
📁 エラーログの保存先パス:
/wp-content/debug.log
この debug.log を開くと、末尾に最新のエラーメッセージが出力されています。以下では、500エラーで頻出する3大エラーメッセージの読み解き方と具体的な直し方を詳しく解説します。
1. 「Fatal error: Call to undefined function」の直し方
【エラーメッセージ例】
PHP Fatal error: Uncaught Error: Call to undefined function create_function() in /home/user/example.com/public_html/wp-content/plugins/old-plugin/init.php:45
PHP Fatal error: Uncaught Error: Call to undefined function get_field() in /home/user/example.com/public_html/wp-content/themes/my-theme/single.php:28
【エラーの意味・原因】
プログラムが「存在しない関数」を実行しようとしたときに発生する致命的エラーです。WordPressでは以下の2つのパターンが典型です。
- PHP 8系で廃止・削除された旧PHP関数の呼び出し:
古いプラグインやテーマがcreate_function()、get_magic_quotes_gpc()、utf8_encode()などのPHP 7以前で非推奨・PHP 8で完全削除された関数を呼んでいる。 - 前提プラグインが無効化・未有効化の状態で独自関数を呼び出し:
例えば Advanced Custom Fields(ACF)のget_field()や WooCommerce の関数を、プラグインが停止しているのにテーマ側で呼び出してしまっている。
【具体的な直し方・復旧手順】
🛠️ 修正ステップ
- エラー箇所の特定:ログの末尾に記載されている「ファイルパス」と「行番号(例:
.../init.php:45)」を確認します。 - プラグインの場合:該当プラグインが古い場合は最新版へ更新します。開発終了プラグインの場合は代替プラグインへ切り替えるか、一時的に無効化します。
- 自作テーマ・functions.phpの場合:関数が存在するかチェックするガード節(
function_exists())を追加するか、無名関数(クロージャ)などの最新構文に書き換えます。
// 【修正前:危険】プラグイン停止時に Fatal Error でサイトが落ちる
$custom_value = get_field('header_banner');
// 【修正後:安全】関数の存在チェックを挟んでエラーを防止
$custom_value = '';
if ( function_exists( 'get_field' ) ) {
$custom_value = get_field( 'header_banner' );
}
2. 「Parse error: syntax error」の修正手順(functions.php の構文ミス)
【エラーメッセージ例】
PHP Parse error: syntax error, unexpected token ";", expecting "]" in /home/user/example.com/public_html/wp-content/themes/my-theme/functions.php on line 124
PHP Parse error: syntax error, unexpected end of file in /home/user/example.com/public_html/wp-content/themes/my-theme/functions.php on line 350
【エラーの意味・原因】
PHPコードの文法に誤りがあり、構文解析(パース)の段階で処理がストップした状態です。WordPress管理画面のテーマエディターやFTPで functions.php にカスタマイズコードを追記した直後に最も多く発生します。
- 全角スペースの混入:Webサイトやブログからコードをコピペした際、インデントに全角スペースが混ざっている。
- セミコロン(
;)抜け:文末のセミコロンを書き忘れている。 - カッコの不一致:丸括弧
()、波括弧{}、角括弧[]の閉じ忘れや過不足。 - クォーテーションの不一致:シングルクォート
'とダブルクォート"の対応が崩れている。
【具体的な直し方・復旧手順】
🛠️ 修正ステップ
- FTPソフト(FileZillaなど)またはレンタルサーバーのファイルマネージャーで、ログに書かれた
functions.phpをダウンロードします。 - VS Codeなどのコードエディタで開き、エラーログに示された行番号(およびその1〜2行上)を確認します。赤波線で構文エラーが警告されます。
- 直前に貼り付けたコードを削除またはコメントアウト(
/* ... */)し、保存してサーバーへ上書きアップロードします。 - ブラウザを再読み込みし、500エラーが解消されたことを確認します。
3. 「Allowed memory size exhausted」のPHPメモリ上限(memory_limit)引き上げ手順
【エラーメッセージ例】
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes) in /home/user/example.com/public_html/wp-includes/plugin.php on line 1250
【エラーの意味・原因】
PHPに割り当てられたメモリ上限(上記の例では 134,217,728 bytes = 128MB)を処理が使い切ってしまい、プロセスが強制終了された状態です。高機能なページビルダー(Elementor等)、ECプラグイン(WooCommerce)、画像一括最適化処理、バックアップ実行時によく発生します。
【メモリ上限の引き上げ方法(優先順位順)】
ご利用のサーバー環境に合わせて、以下のいずれかの方法で memory_limit を 256M または 512M に引き上げます。
方法A:wp-config.php に記述する(最も確実・推奨)
wp-config.php の /* 編集が必要なのはここまでです ! */ という行の直前に以下を追記します。
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
方法B:.htaccess に記述する(Apache環境)
.htaccess の先頭に以下を追記します(※サーバーによって利用不可の場合あり)。
php_value memory_limit 256M
方法C:レンタルサーバーのコントロールパネルから変更する
エックスサーバー(「PHP ini設定変更」)、ConoHa WING(「PHP設定」)、さくらのレンタルサーバ(「php.ini設定」)などの管理画面から memory_limit = 256M または 512M に変更します。
【3分でわかる】500エラーの原因と最短復旧早見表
「500 Internal Server Error」が発生する主なシチュエーションと、考えられる根本原因、最短の復旧アクションを一覧表にまとめました。直前の操作や発生状況に合致する行を確認してください。
| 症状・発生タイミング | 考えられる主な原因 | 緊急度・難易度 | 最短の復旧アクション |
|---|---|---|---|
.htaccess を編集した直後 | .htaccess の文法エラー・全角空白混入 | 🔴 高 / ⭐ 低 | .htaccess をリネームし、WordPress標準設定で再作成 |
| プラグイン/テーマ更新直後 | PHP 8系非互換、プラグイン競合 | 🔴 高 / ⭐⭐ 中 | FTPで plugins フォルダをリネームし、二分探索で原因特定 |
| PHPバージョンを変更した直後 | PHP 8.0〜8.3移行時のFatal Error | 🔴 高 / ⭐ 低 | サーバー管理画面で一時的に旧PHPバージョンに戻してログ解析 |
| 大量データ処理・画像投稿時 | PHPメモリ上限(memory_limit)超過 | 🟡 中 / ⭐ 低 | wp-config.php で WP_MEMORY_LIMIT を 256M に拡張 |
| ファイル・DB移行作業直後 | パーミッション誤り(777等)、DB接続不整合 | 🟡 中 / ⭐⭐ 中 | ディレクトリ 755、ファイル 644 にパーミッションを一括修正 |
| 何もしないのに突然起きた | サーバー会社側のPHP自動更新、cron自動処理 | 🔴 高 / ⭐⭐ 中 | WP_DEBUG を有効化して /wp-content/debug.log を確認 |
500 Internal Server Error(HTTP status 500)とは?
500 Internal Server Error(HTTP status 500 / 内部サーバーエラー)は、Webサーバーがブラウザからのリクエストを受け取ったものの、サーバー内部で予期せぬプログラム停止や設定不備が発生し、正常なHTMLページを生成できなかったことをクライアントへ通知するHTTPステータスコードです。
404 Not Found(ページが見つからない)や403 Forbidden(アクセス権限拒否)といったクライアント起因のエラーとは異なり、完全にサーバー側(WordPressのPHPプログラム、Apache/Nginx設定、DB連携など)に原因があるのが特徴です。
他の5xxエラー(502 / 503 / 504)との違い
500番台のエラーには複数の種類があり、それぞれトラブルの発生箇所が異なります。適切なアプローチをとるために違いを把握しておきましょう。
| ステータスコード | 正式名称 | エラーの発生場所と主な原因 |
|---|---|---|
| 500 | Internal Server Error | Webサーバー内部:PHPのFatal Error、.htaccess 構文ミス、メモリ枯渇 |
| 502 | Bad Gateway | ゲートウェイ/プロキシ間:PHP-FPMのクラッシュ、Nginxとバックエンド間の通信遮断 |
| 503 | Service Unavailable | サーバーの一時的一過性停止:アクセス集中、一時メンテナンス中、同時接続数オーバー |
| 504 | Gateway Timeout | バックエンド処理のタイムアウト:重いDBクエリ、外部API連携の遅延 |
【深掘り】PHP 8系(8.0〜8.3)移行・更新に伴う500エラー原因と解決策
近年のWordPress運用において、最も増加している500エラーの原因が「PHP 8系(PHP 8.0 / 8.1 / 8.2 / 8.3)へのアップデートに伴う致命的エラー(Fatal Error)」です。
PHP 7.4までは「Warning(警告)」や「Notice(通知)」として処理を継続できていた曖昧な記述が、PHP 8系では厳格化され、即座に「Fatal Error(致命的エラー)」や「TypeError」としてプロセスを停止させるようになったため、古いプラグインやテーマが突然500エラーを引き起こすケースが多発しています。
PHP 8系で500エラーを引き起こす代表的な4大エラー例
- 廃止・削除された関数の呼び出し(Fatal Error):
create_function()(PHP 8.0で削除)、get_magic_quotes_gpc()(PHP 8.0で削除)、utf8_encode()/utf8_decode()(PHP 8.2で非推奨・削除)などを実行して即死するパターン。 - 型の不一致とnull許容の厳格化(TypeError / ValueError):
文字列を想定した組込関数(strlen(),strpos(),preg_match()など)にnullが渡された場合、PHP 7系では空文字として許容されていましたが、PHP 8.1以降ではTypeErrorでFatal Errorとなります。 - メソッドシグネチャ・コンストラクタの不一致(Signature Mismatch):
親クラスのメソッドをオーバーライドする際、引数の型や戻り値の型宣言が一致していないとFatal Errorになります。 - 動的プロパティ作成の非推奨・エラー(PHP 8.2 / 8.3):
クラス内で事前に宣言されていないプロパティへ動的に値を代入する記法($this->foo = 'bar')がPHP 8.2以降で厳格に規制されています。
PHP 8系エラーの具体的な直し方・復旧手順
🚀 最短復旧ロードマップ
- 【応急処置(所要時間:1分)】:サーバーのコントロールパネル(エックスサーバー、ConoHa WING等)で、PHPバージョンを一時的に「PHP 8.0」または「PHP 7.4」にダウングレードし、サイトを即座に表示状態へ戻します。
- 【問題の特定(所要時間:5分)】:
debug.logを確認し、どのプラグインまたはテーマの何行目でエラーが出ているかを特定します。 - 【更新と改修(所要時間:10分)】:
- プラグイン/テーマを最新バージョンにアップデート(PHP 8.2/8.3対応版にする)。
- 長期間更新が停止しているプラグインは、公式ディレクトリでメンテナンスされている代替プラグインへ差し替える。
- 自作テーマの場合は
(string)キャストや?? ''(null合体演算子)を用いてnull安全な記述に書き換える。
- 【本番切り替え】:修正完了後、再度サーバーのPHPバージョンを推奨バージョン(PHP 8.2以上)に戻し、動作確認を行います。
【完全解説】.htaccess 記述ミスによる500エラーの直し方と構文修復
検索クエリ「500エラー 直し方 htaccess」「htaccess internal server error」で最も多く見られるトラブルが、サーバーのルートディレクトリにある .htaccess ファイルの記述ミス・構文エラー(Syntax Error)です。
ApacheやLiteSpeedなどのWebサーバーは、.htaccess に1文字でも文法ミスや非対応ディレクティブが存在すると、セキュリティ保護のためにWebサイト全体へのアクセスを即座に遮断し、500エラーを返します。
.htaccess でよくある致命的な記述ミス5選
- 全角スペースの混入:コピペ時に行頭やディレクティブの区切りに全角スペースが入り込んでいる。
- モジュール未ロード時のディレクティブ実行:
mod_rewriteやmod_headersが有効化されていない環境で、<IfModule>で囲まずにディレクティブを直接記述した。 - リダイレクトループ(無限ループ):
RewriteRuleの正規表現が不適切で、http→https や wwwあり/なし の転送が無限に繰り返されている。 - 非対応のオプション指定:
Options +FollowSymLinksなど、サーバー側で許可されていないOptionsを記述してサーバーから拒否された。 - 文字コード・改行コードの破損:UTF-8(BOM付き)で保存したり、改行コードが壊れている。
WordPress標準の .htaccess コード(コピペ用)
.htaccess が原因でサイトが落ちた場合は、まず既存の .htaccess をリネームしてバックアップし、以下のWordPress公式標準の初期コードで上書きしてください。
# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正されるべきです。
<IfModule mod_rewrite.c>
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]
</IfModule>
# END WordPress
安全な常時SSL化(http→https)リダイレクトの正しい書き方
常時SSL化のリダイレクトを追加する場合は、必ず # BEGIN WordPress の手前(上部)に、かつ <IfModule mod_rewrite.c> で安全に囲んで追記します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
# BEGIN WordPress
# (ここにWordPress標準コード)
# END WordPress
【実践フロー図付き】プラグイン・テーマ競合の完全切り分けガイド
「プラグインを更新したら突然サイトが500エラーになった」「どのプラグインが原因なのか特定できない」という場合の最短特定フローチャートです。
二分探索法(バイナリサーチ)でプラグイン多数でも最短特定する裏ワザ
プラグインが30個〜50個以上インストールされている場合、1つずつ有効化/無効化を試すと膨大な時間がかかります。そこで活用するのがITエンジニアが用いる「二分探索法(バイナリサーチ)」です。
⚡ 二分探索(バイナリサーチ)の手順(わずか5回で32個から特定)
- ステップ1:全30個のプラグインのうち、前半の15個を無効化し、後半の15個だけを有効にする。
- ステップ2:
- エラーが消えた場合 ➔ 原因は無効化した前半15個の中にある。
- エラーが続く場合 ➔ 原因は有効なままの後半15個の中にある。
- ステップ3:原因が含まれると判明した15個のうち、さらに半分の約7個を無効化して確認。
- ステップ4:これを繰り返すことで、わずか4〜5回のテストで確実に原因プラグインを1個に絞り込めます。
その他の原因別・具体的復旧手順(パーミッション・DB接続・サーバー別ログ)
PHPバージョン、.htaccess、プラグイン以外の要因で発生している場合の、具体的かつ確実な復旧手順を解説します。
1. ファイル・ディレクトリのパーミッション(権限)修正
セキュリティプラグインの設定や手動変更でパーミッションを過剰に変更すると、Webサーバー(Apache/Nginx)がファイルにアクセスできず500エラーになります。WordPressの標準推奨パーミッションは以下の通りです。
- ディレクトリ(フォルダ):
755(または705) - ファイル全般:
644(または604) - wp-config.php:
400または600(セキュリティ強化) - 注意:
777(全権限付与)に設定すると、サーバーのセキュリティモジュール(suPHP / CGIモード)によって強制的に500エラーが発生します。絶対に777にはしないでください。
2. サーバー・ミドルウェア別の具体的エラーログ場所
VPSや専用サーバー、クラウド環境をお使いの場合は、Webサーバーのミドルウェアログを直接確認することでより詳細なエラー原因が分かります。
- Apache:
/var/log/apache2/error.logまたは/var/log/httpd/error_log - Nginx:
/var/log/nginx/error.log - PHP-FPM:
/var/log/php-fpm/www-error.logまたは/var/log/php8.x-fpm.log
再発防止とSEOへの悪影響を最小化するポイント
500エラーは一時的に復旧させるだけでなく、SEO評価の防衛と再発防止の仕組みづくりまで完遂して初めて対応完了と言えます。
Googleのクローラー(Googlebot)は、ページ巡回時に500エラーを受け取ると「サーバーが故障している」と判断します。数分〜数時間の一時的なエラーであればランキングへの影響は軽微ですが、24時間以上放置するとインデックスの削除や検索順位の大幅下落を招きます。
🎯 復旧後のSEOリカバリー手順
- サイトの復旧を確認後、Google Search Consoleを開きます。
- 上部の検索窓に対象URLを入力して「URL検査」を実行します。
- 「公開URLをテスト」をクリックして正常にHTMLが取得できる(HTTP 200)ことを確認します。
- 「インデックス登録をリクエスト」を送信し、Googlebotの再巡回を促します。
よくある質問(FAQ)
Q1. WordPressで突然500エラー(HTTP status 500)が発生する原因は何ですか?
最も多いのは「サーバー会社によるPHP 8系の自動切り替えによるFatal Error」「プラグインやテーマの自動更新による競合」「.htaccess の文法ミス・全角スペース混入」「定期バックアップやcron処理に伴うメモリ枯渇」です。
Q2. 500エラーの直し方で最初にやるべきことは何ですか?
まずは「直前に何をしたか(ファイル編集・プラグイン更新・PHP変更)」を振り返り、本記事の診断フローチャートに沿って切り分けます。原因不明の場合は wp-config.php で WP_DEBUG を有効化して /wp-content/debug.log を確認するのが最短です。
Q3. .htaccess を削除・リネームしてもWordPressは壊れませんか?
壊れません。一時的に下層ページのパーマリンクが404になる場合がありますが、管理画面にログインして「設定」>「パーマリンク」で何も変更せずに「変更を保存」をクリックすれば、WordPressが自動的に標準の .htaccess を再生成します。
Q4. エラーログの debug.log は復旧後に消しても大丈夫ですか?
問題ありません。復旧後はセキュリティのため、wp-config.php の WP_DEBUG を false に戻し、不要になった debug.log はFTPやファイルマネージャーから削除してください。
まとめ:チェックリストを活用して500エラーを最短解決
WordPressの「500 Internal Server Error(HTTP status 500)」は、突然画面が真っ白になるため非常に焦るトラブルですが、原因のパターンと切り分け手順は明確に決まっています。
✅ 500エラー緊急復旧の総点検チェックリスト
- [ ] 直前の操作を確認(ファイル編集 / プラグイン更新 / PHP変更)
- [ ]
.htaccessをリネームしてWordPress標準コードに初期化 - [ ]
wp-config.phpでWP_DEBUGを有効化し、/wp-content/debug.logを確認 - [ ] 「Fatal error: Call to undefined function」➔ 古いプラグイン無効化・関数存在チェック
- [ ] 「Parse error: syntax error」➔
functions.phpの構文ミス・全角空白を修復 - [ ] 「Allowed memory size exhausted」➔
WP_MEMORY_LIMITを 256M 以上に引き上げ - [ ] プラグインフォルダを「二分探索法」で切り分けて競合プラグインを特定
- [ ] 復旧後にGoogle Search Consoleでインデックス再リクエストを送信
🛡️ WordPressの安心運用に!無料診断ツール「MozCheck」
WordPressサイトの突然のトラブルやセキュリティリスク、脆弱性を未然に防ぐなら、URLを入力するだけで総合診断ができる「MozCheck」をぜひご活用ください。プラグインの脆弱性やサーバー設定、更新状態をワンクリックで可視化します。
📚 あわせて読みたい関連記事
WordPressのトラブルシューティングやセキュリティ強化に役立つ関連記事です。サイトの安定運用にお役立てください。
コメントを残す