記事 · 2026年9月7日
WordPress のエラーの原因を探す順番(当てずっぽうをやめる)
エラー文の読み方、debug.log の出し方、プラグインを半分ずつ止める方法、ブラウザ側の見方、テーマの切り分け。この順番でやれば、三十個のプラグインでも五回で犯人が見つかります。
WordPress は、本体とテーマと十数個のプラグインと、自分で足したコードの寄せ集めです。壊れるときは、ほぼ必ずそのどれかの「継ぎ目」で壊れます。幸い、WordPress は喋らせればよく喋ります。困るのは、ほとんどの人が喋らせないまま推理を始めることです。
以下は、いちばん早く原因に辿り着く順番です。飛ばさないでください。
1. エラー文を文章として読む
画面にエラーが出ているなら、そこにファイル名と行番号と関数名が書いてあります。
Fatal error: Allowed memory size exhausted in /wp-content/plugins/somewhere.php on line 142
これは「そのファイルの、その行」という意味です。八割のケースで、エラー文が犯人を名指ししています。壁のような文字列ではなく、一つの文として読んでください。plugins/ の後ろにある名前が、止めるべきプラグインです。
2. エラーをログに書かせる
真っ白な画面しか出ないなら、WordPress が黙っているだけです。wp-config.php に三行足します。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
これでエラーは /wp-content/debug.log に書き込まれます。三行目の false が大事で、調べている間も訪問者にはエラーを見せません。本番サイトでそのまま使えます。
ログを開いて、いちばん下から読みます。Fatal と Warning は別物で、Warning は大量にあっても動きます。探すのは Fatal error の行だけです。
3. プラグインを半分ずつ止める
エラー文にファイル名が無い、あるいはログに何も出ないのに壊れている。その場合、原因は有効化しているプラグインのどれかに隠れています。
一個ずつ止めるのは最悪の方法です。三十個あれば三十回。代わりに二分探索をします。
- プラグインの半分を止める
- 直ったなら、犯人は止めた半分の中。直らないなら、残った半分の中
- 犯人がいる側を、さらに半分に
- 一個になるまで繰り返す
三十個でも五回で終わります。管理画面に入れないときは、FTP か ホスティングのファイルマネージャで wp-content/plugins の中のフォルダ名を変えれば、それだけでそのプラグインは止まります(akismet → akismet-off のように)。
4. ブラウザ側も疑う
PHP のログは静かなのに、画面が崩れている、ボタンを押しても何も起きない。それは JavaScript か、失敗した通信です。
Chrome で F12(Mac は Cmd+Option+I)を押して、Console タブと Network タブを開いたまま、問題の操作をもう一度やってください。赤い行が出たら、それがほぼ答えです。Console の赤はスクリプトのエラー、Network の赤(400 番台、500 番台)はサーバへの通信が失敗した印です。500 なら、原因はまた PHP 側にあるので手順 2 に戻ります。
5. テーマを十分だけ切り替える
ここまで全部白なのにまだ壊れているなら、テーマを Twenty Twenty-Five に切り替えてみてください。十分で十分です。直ったなら、原因はテーマの functions.php か、テーマに同梱されたコードです。切り替えても直らないなら、本体かサーバの設定で、ホスティングのサポートに連絡する段階です。
私たちがよく書いてきたエラー
英語になりますが、meowapps.com に個別の記事があります。
サポートに送るときの書き方
ここまでやって「このプラグインの、この行」まで絞れたなら、あとは作者に伝えるだけです。私たちも AI Engine や Media Cleaner のサポートで毎日これを受け取っていますが、はっきり違いがあります。「動きません」だけのチケットは、返事をするために質問を三往復しなければならず、結果として遅くなります。「foo.php の 142 行目で、Y をしたときに X というエラー」と書かれたチケットは、たいてい一週間以内、早ければその日のうちに直ります。
エラー文をそのまま貼る。ログの Fatal の行を貼る。何をしたときに出るかを一行で書く。それだけで、サポートの質が変わります 🙂