2026年5月21日
2026年5月21日
Elementorのエラーを解決する方法(保存できない・エディターが開かない・デザイン崩れ)
Elementor のエラーは、「保存できない」「エディターが開かない」「公開ページのデザインが崩れる」のどれかに分けると、原因を絞り込みやすくなります。この記事では、症状ごとに原因の調べ方と直し方を説明します。画面の表記とコマンドは 2026年10月時点の Elementor(無料版)に合わせています。
作業の前に、サイトのバックアップを取ってください。本番サイトでプラグインを止める作業は、できればステージング環境で先に試します。
症状と主な原因
| 症状 | 主な原因 | 見る節 |
|---|---|---|
| 保存時に「Server Error」などが出て保存できない | PHP のメモリ不足、サーバーの WAF によるブロック、他のプラグインのエラー | 手順1〜4 |
| エディターが読み込み中のまま、または白い画面 | PHP のメモリ不足、テーマや他のプラグインとの競合 | 手順2・4 |
| エディターでは正しいのに、公開ページのデザインが崩れる | 古い CSS ファイル、ページキャッシュや CDN に残った古いファイル | 手順5 |
| 長時間開いていたエディターで保存すると「Token Expired.」と出る | 保存用のトークン(nonce)の期限切れ | 手順6 |
手順1:保存に失敗したときの通信とエラーログを見る
Elementor のエディターは、保存などの操作を wp-admin/admin-ajax.php へのリクエスト(elementor_ajax というアクション)で送ります。保存に失敗したら、まずこのリクエストの応答を確認します。
- エディターを開いた状態で、ブラウザの開発者ツール(Chrome なら F12)の「Network」タブを開きます。
- もう一度保存し、
admin-ajax.phpの行を選びます。 - ステータスコードと応答の中身を見ます。
| ステータス | 意味と次に見るところ |
|---|---|
| 500 | PHP の致命的エラー。下のデバッグログを見る(メモリ不足なら手順2) |
| 403 | サーバーの WAF やセキュリティプラグインがリクエストを止めている(手順3) |
| 200 で中身にエラー文 | Elementor が返したエラー。「Token Expired.」なら手順6 |
PHP のエラーは、WordPress のデバッグログに記録できます。WP-CLI が使える場合は次のように設定します。画面にはエラーを出さず、wp-content/debug.log にだけ書きます。
wp config set WP_DEBUG true --raw --type=constant
wp config set WP_DEBUG_LOG true --raw --type=constant
wp config set WP_DEBUG_DISPLAY false --raw --type=constant
# 保存を試したあと、最後の部分を見る
tail -n 50 wp-content/debug.log
WP-CLI が使えない場合は、wp-config.php の、編集はここまでと書かれたコメントより前に同じ3つの定数を define() で書きます。原因が分かったら、3つとも元に戻すか false にします(debug.log は外から読める場所にできるので、残したままにしないでください)。
Elementor が認識している環境(PHP のバージョン、メモリ上限、有効なプラグインなど)は、次のコマンドでまとめて表示できます。
wp elementor system-info
手順2:PHP のメモリ上限を Elementor の要件に合わせる
Elementor の公式のシステム要件(2026年10月時点)では、WordPress のメモリ上限は最低 256MB、推奨は 512MB です。WooCommerce などほかのプラグインも使っているサイトでは、512MB が必要になることがあるとされています。デバッグログに「Allowed memory size of … bytes exhausted」とある場合は、メモリ不足です。
wp-config.php の、編集はここまでと書かれたコメントより前に次を追記します。
define( 'WP_MEMORY_LIMIT', '512M' );
この定数は、サーバー側で PHP の memory_limit の変更が許可されている場合に効きます。追記しても管理画面の「ツール」→「サイトヘルス」→「情報」タブの「サーバー」で値が変わらない場合は、サーバー側の設定(php.ini、.user.ini、レンタルサーバーのコントロールパネル)で memory_limit を上げます。上限の仕組みと設定場所は、次の記事で詳しく説明しています。
手順3:403 になる場合は WAF とセキュリティプラグインを確認する
Elementor は保存のたびにページの構造をまとめたデータを送るため、サーバーの WAF(ModSecurity など)が攻撃と誤判定して 403 を返すことがあります。
- レンタルサーバーのコントロールパネルに WAF の設定がある場合は、WAF のログで、保存した時刻に
admin-ajax.phpへのリクエストが止められていないかを確認します。止められていれば、該当するルールの除外や、一時的な無効化で保存できるかを試します。 - VPS などで ModSecurity を使っている場合は、ModSecurity のログ(「Access denied with code 403」などの行)で、どのルールに当たったかを確認します。ログの場所や除外の方法が分からない場合は、ホスティング会社に保存した日時と URL を伝えて調べてもらいます。
- セキュリティプラグインのファイアウォール機能でも同じことが起きます。プラグインのログを確認し、学習モードがあれば使うか、一時的に無効にして保存できるかを確かめます。
WAF を無効にしたままにすると、サイトが攻撃を受けやすくなります。原因のルールが分かったら、そのルールだけを除外して WAF は有効に戻してください。
手順4:セーフモードでテーマ・プラグインとの競合を切り分ける
エディターが開かない、保存時に 500 になるがメモリは足りている、という場合は、テーマや他のプラグインとの競合を疑います。
Elementor には「セーフモード」があります。有効にすると、テーマや他のプラグインを読み込まずにエディターを動かすので、競合が原因かどうかを訪問者向けの表示を変えずに確かめられます。
- 管理画面の「Elementor」→「ツール」を開き、「一般」タブの「セーフモード」で有効を選んで保存します。
- エディターを開き直し、問題が再現するかを確かめます。
- セーフモードで問題が出なければ、原因はテーマか他のプラグインです。セーフモードを無効に戻してから、ステージング環境などでプラグインを1つずつ無効にして原因を探します。
セーフモードはプラグインのインストール権限を持つユーザーが使えます。確認が終わったら、同じ画面で無効に戻してください。
Elementor 以外の原因も含めて切り分けたい場合は、Health Check & Troubleshooting プラグインのトラブルシューティングモードも使えます。自分のログインセッションだけでプラグインとテーマを切り替えられます。
WP-CLI でプラグインを一時的に止める場合は、元に戻せるように有効なプラグインの一覧を先に保存しておきます。
# 今有効なプラグインの一覧を保存する
wp plugin list --status=active --field=name > active-plugins.txt
# Elementor と Elementor Pro 以外を無効にする
wp plugin deactivate $(grep -v -x -e elementor -e elementor-pro active-plugins.txt)
# 1つずつ有効にして、そのたびに問題が再現するかを確かめる
wp plugin activate contact-form-7
# 確認が終わったら、元の状態に戻す
wp plugin activate $(cat active-plugins.txt)
この方法は訪問者の表示にも影響するので、本番サイトではアクセスの少ない時間に行うか、ステージング環境で行います。
手順5:公開ページのデザインが崩れる場合は CSS を作り直す
Elementor は、ページごとのデザインを CSS ファイル(wp-content/uploads/elementor/css/ 内)として書き出し、公開ページで読み込みます。このファイルが古いままだったり、書き出しに失敗したりすると、エディターでは正しいのに公開ページだけ崩れます。
Elementor のファイルとデータを削除する
管理画面の「Elementor」→「ツール」→「一般」タブで「ファイルとデータの削除」(英語表示では「Clear Files & Data」)を押します。CSS ファイルとデータベースに保存された生成済みのデータが削除され、次にページが表示されたときに作り直されます。投稿やページの内容そのものは消えません。
WP-CLI では次のコマンドで同じことができます。--regenerate を付けると、次の表示を待たずにすぐ作り直します。
wp elementor flush-css --regenerate
ページキャッシュと CDN も消す
Elementor の CSS を作り直しても、キャッシュ系のプラグイン、サーバーのキャッシュ、Cloudflare などの CDN に古い HTML や CSS が残っていると、崩れたままに見えます。Elementor のファイルを削除したあとに、それぞれのキャッシュを削除し、ブラウザで強制再読み込み(Windows は Ctrl+F5、Mac は Command+Shift+R)をして確認します。CSS や JavaScript をまとめる・縮小する最適化プラグインを使っている場合は、その機能を一時的に止めて崩れが直るかも確かめます。
CSS の出力方法を一時的に変える
「Elementor」→「設定」→「パフォーマンス」タブの「CSS 印刷設定」(英語表示では「CSS Print Method」)は、既定の「外部ファイル」と「内部埋め込み」から選べます。内部埋め込みにすると CSS をページの <head> に直接書くので、CSS ファイルの書き出しや読み込みに問題があるかどうかを切り分けられます。内部埋め込みで直る場合は、wp-content/uploads/elementor/ の書き込み権限や、キャッシュ・CDN の設定を確認します。原因が分かったら、性能の面で推奨されている外部ファイルに戻します。
手順6:Elementor と Elementor Pro のバージョン、トークン切れ
バージョンを揃える
Elementor Pro を使っている場合、無料版の Elementor と Pro のどちらかだけが古いと、エディターが正しく動かないことがあります。両方を最新版に更新します。更新後に問題が出た場合は、「Elementor」→「ツール」の「バージョン管理」タブ(英語表示では Version Control)から、以前のバージョンに戻すこともできます。
「Token Expired.」と出る場合
保存のリクエストには、WordPress の nonce(使い捨てのトークン)が付いています。エディターを長時間開いたままにして期限が切れると、保存時に「Token Expired.」のエラーになります。編集中の内容を控えてから、ページを再読み込みしてエディターを開き直してください。
nonce_life フィルターで nonce の有効期間を延ばす方法が紹介されることがありますが、このフィルターはサイト全体の nonce に効き、CSRF(なりすましリクエスト)対策を弱めます。この症状のためだけに変更するのは勧めません。
まとめ
- 保存できないときは、開発者ツールで
admin-ajax.phpのステータスを見て、500(PHP のエラー)、403(WAF など)、Token Expired を見分けます。 - PHP のエラーは
WP_DEBUG_LOGで記録し、メモリ不足なら Elementor の要件(最低 256MB、推奨 512MB)に合わせて上限を上げます。 - 403 は WAF やセキュリティプラグインのログで原因のルールを確かめ、そのルールだけを除外します。
- 競合は Elementor のセーフモードや Health Check & Troubleshooting で、訪問者に影響を出さずに切り分けます。
- デザイン崩れは「ファイルとデータの削除」か
wp elementor flush-css --regenerateで CSS を作り直し、ページキャッシュと CDN も消して確認します。