プラグイン名から不具合の原因を探す
「Contact Form 7 メール 届かない」のように、プラグイン名から探すための索引です。 実際に調べてみると、プラグインは引き金であって、原因は別の層にあることが大半でした。 プラグインの設定を触る前に、下の表で本当の原因を確認してください。
専用記事があるのは 5 つだけです。プラグイン固有の挙動を検証環境で実測できたものだけ、記事にしています(SiteGuard WP Plugin、Contact Form 7、All-in-One WP Migration、Yoast SEO、All in One SEO)。
SiteGuard WP Plugin実測
- 有効化した瞬間に wp-login.php が 404。ログインできない実際の原因: ログイン URL の変更新しい URL は /wp-admin/ が教えてくれる
Contact Form 7実測
- 送信ボタンがぐるぐる回ったまま止まらない実際の原因: REST の到達性(nonce は現行版では使われていない。実測済み)「キャッシュで nonce が切れる」は現行版では起きない
- メールが届かない実際の原因: wp_mail() が false か、届かないだけかメールが届かない
- 送信すると画面が戻るだけ実際の原因: post_max_size 超過で POST が空になる画像をアップロードできない
All-in-One WP Migration実測
- 書き出したバックアップが公開領域に残る / インポートできない.wpress は未ログインで取得できる
- 「最大アップロードサイズを超過しています」実際の原因: upload_max_filesize / post_max_size / memory_limit の 3 点画像をアップロードできない
- インポート後に画像が出ない実際の原因: uploads を移していない、URL の不一致画像が表示されない
Yoast SEO実測
- 送信済みのサイトマップが読み取れなくなる / robots.txt が変わる実際の原因: 有効化しただけで URL が /sitemap_index.xml に変わる(実測済み)有効化しただけで URL が変わる
All in One SEO実測
- 送信済みのサイトマップが読み取れなくなる / robots.txt が変わる実際の原因: 有効化しただけで URL が /sitemap_index.xml に変わる(実測済み)有効化しただけで URL が変わる
MW WP Form
- 送信すると画面が戻るだけ実際の原因: post_max_size 超過で POST が空になる画像をアップロードできない
プラグイン全般
- reCAPTCHA でブロックされる実際の原因: 外部 JS の読み込み失敗CSS が効かない・JS が動かない
- 絵文字が消える / 時刻が 9 時間ずれる実際の原因: utf8 と utf8mb4、タイムゾーンの不一致移行後の定番 2 つ
- 復元したのに直らない実際の原因: ファイルと DB の整合WP-CLI が無い環境での復旧
- 30 個を超えると保存されない実際の原因: 同上(1 項目で 10 個以上の変数を消費する)
- 画像が劣化する / 容量が増える実際の原因: 二重に圧縮しているプラグインの競合
BackWPup
- バックアップが動かない / いつ取れたか分からない実際の原因: 入れただけでは予約が無い。予約してもループバック不通だと走らない(実測済み)バックアップが取れていない
UpdraftPlus
- バックアップが動かない / いつ取れたか分からない実際の原因: 入れただけでは予約が無い。予約してもループバック不通だと走らない(実測済み)バックアップが取れていない
Autoptimize
- スライダーやモーダルが動かなくなった実際の原因: JS の結合で依存順序が壊れるCSS が効かない・JS が動かない
- CSS を直したのに反映されない実際の原因: ?ver= が更新されていない、CDN のキャッシュ
- スマホだけ崩れる実際の原因: PC 版のキャッシュがスマホに返っているスマホだけレイアウトが崩れる
- フォームが送信できない実際の原因: nonce がキャッシュに焼き込まれた返答が正しい JSON レスポンスではありません
- 管理画面が崩れる実際の原因: 管理画面まで最適化の対象にしている管理画面だけ表示が崩れる
LiteSpeed Cache
- スライダーやモーダルが動かなくなった実際の原因: JS の結合で依存順序が壊れるCSS が効かない・JS が動かない
- CSS を直したのに反映されない実際の原因: ?ver= が更新されていない、CDN のキャッシュ
- スマホだけ崩れる実際の原因: PC 版のキャッシュがスマホに返っているスマホだけレイアウトが崩れる
- フォームが送信できない実際の原因: nonce がキャッシュに焼き込まれた返答が正しい JSON レスポンスではありません
- 管理画面が崩れる実際の原因: 管理画面まで最適化の対象にしている管理画面だけ表示が崩れる
WP Fastest Cache
- スライダーやモーダルが動かなくなった実際の原因: JS の結合で依存順序が壊れるCSS が効かない・JS が動かない
- CSS を直したのに反映されない実際の原因: ?ver= が更新されていない、CDN のキャッシュ
- スマホだけ崩れる実際の原因: PC 版のキャッシュがスマホに返っているスマホだけレイアウトが崩れる
- フォームが送信できない実際の原因: nonce がキャッシュに焼き込まれた返答が正しい JSON レスポンスではありません
- 管理画面が崩れる実際の原因: 管理画面まで最適化の対象にしている管理画面だけ表示が崩れる
Wordfence
- ブロックエディタが真っ白実際の原因: wp-includes や REST の遮断ブロックエディターが真っ白
- 「返答が正しい JSON レスポンスではありません」実際の原因: REST API の遮断原因を見つける
- 403 が出る実際の原因: WAF の誤検知、.htaccess の規則.htaccess で 500 エラー
- 極端に遅い / 相互に弾き合う(2 つ入れた)実際の原因: .htaccess の規則が競合プラグインの競合
XO Security など
- ブロックエディタが真っ白実際の原因: wp-includes や REST の遮断ブロックエディターが真っ白
- 「返答が正しい JSON レスポンスではありません」実際の原因: REST API の遮断原因を見つける
- 403 が出る実際の原因: WAF の誤検知、.htaccess の規則.htaccess で 500 エラー
- 極端に遅い / 相互に弾き合う(2 つ入れた)実際の原因: .htaccess の規則が競合プラグインの競合
Really Simple SSL など
- リダイレクトを繰り返す実際の原因: プロキシ配下で X-Forwarded-Proto を見ていない、SSL 強制が複数箇所リダイレクトを繰り返す
- 画像・CSS が読み込めない実際の原因: 混在コンテンツ。DB の http:// が残っているSSL 化したら読み込めない
Advanced Custom Fields
- 繰り返しフィールドが一部保存されない実際の原因: max_input_vars 超過保存したのに一部だけ消える
Elementor
- プレビューが読み込めない実際の原因: メモリ不足、max_input_vars、REST の到達性ブロックエディターが真っ白
WPBakery
- プレビューが読み込めない実際の原因: メモリ不足、max_input_vars、REST の到達性ブロックエディターが真っ白
WooCommerce
- 商品バリエーションが保存されない実際の原因: max_input_vars 超過保存したのに一部だけ消える
EWWW
- 最適化が動かない実際の原因: exec() が禁止された共用サーバー、メモリ不足画像をアップロードできない
Smush など
- 最適化が動かない実際の原因: exec() が禁止された共用サーバー、メモリ不足画像をアップロードできない
Yoast SEO と All in One SEO など 2 つ
- meta タグが 2 つ出る実際の原因: どちらも wp_head に出力している(canonical・og:title が 2 本。実測済み)SEOプラグインでサイトマップが404になるプラグインの競合
SEO 系全般
- robots.txt を編集していないのに変わった実際の原因: プラグインが動的生成の内容を差し替える(Disallow: /wp-admin/ が消える)サイトマップの URL が変わる
- サイトマップが 404実際の原因: blog_public = 0(検索エンジンのインデックス設定)RSS とサイトマップだけ壊れる
プラグインを疑う前に取る値
プラグイン名で検索する前に、これを取ると原因の層が分かります。取り方は症状から探すの「最初に取る 4 つの値」にまとめてあります。
| 観測 | プラグインの問題か |
|---|---|
| ページ本体が 500 | プラグインかテーマの Fatal。両方有効なときだけ落ちるなら競合 |
| アセットが 403 | サーバー設定かセキュリティプラグイン |
| REST が JSON でない | セキュリティプラグインか Fatal |
Set-Cookie が 0 | プラグインではない(出力が混ざっている) |
| 全部 200 なのに壊れている | キャッシュ・結合・JS エラー |
更新で壊れたとき
「有効化したら壊れた」はほぼ起きません。WordPress は有効化の前にファイルを読み込む検査をして、 Fatal になるなら有効化を中止します(実測)。実際に落ちるのは両方が有効なまま、更新で衝突が生まれたときです。