Elementor Keeps Loading: How to Fix the Editor Loading Issue

Quick Summary

  • Check the browser console and any failed admin-ajax.php requests first, then enable Safe Mode under Elementor > Editor > Tools to test for plugin or theme conflicts.
  • If PHP runs out of memory, set WP_MEMORY_LIMIT to 512M in wp-config.php; above 256M, WordPress uses the same value for admin screens too.
  • Also check that X-Frame-Options is SAMEORIGIN, firewall rules, Cloudflare Rocket Loader and matching site URLs, and that Elementor 4.3.2 has WordPress 6.8+ and PHP 7.4+.

When the Elementor editor stays on its grey loading screen, something stopped the editor’s scripts from finishing. The usual causes are a plugin or theme conflict, PHP running out of memory, a security header or firewall that blocks the editor, and optimisation tools that delay its scripts. Open the browser console first, then test with Elementor’s Safe Mode, and raise the WordPress memory limit if the server runs out. The steps below match Elementor 4.3 on WordPress 7.1.

Step 1: Find the error

  • Right-click the grey screen, choose Inspect and open the Console tab. Red errors name the script or request that failed. Errors about framing or X-Frame-Options point to a security header (step 4).
  • In the Network tab, reload the editor and look for failed requests to admin-ajax.php. The editor loads its data through that file, so a 4xx or 5xx status there points to the server: memory, a PHP error or a firewall rule.
  • To see PHP errors, turn on the WordPress debug log for a moment. In wp-config.php, replace the existing define( 'WP_DEBUG', false ); line with the three lines below. Errors then go to wp-content/debug.log instead of the screen. A fatal error with Allowed memory size of ... bytes exhausted means PHP ran out of memory (step 3).
PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Put define( 'WP_DEBUG', false ); back when you’re done, and delete debug.log.

Step 2: Test with Safe Mode

Elementor’s Safe Mode loads the editor without your theme and without other plugins. It only affects administrators working in the editor; visitors keep seeing the normal site. To turn it on, go to Elementor > Editor > Tools, set Safe Mode to Enable on the General tab and save. When the editor fails to load, its “Can’t Edit?” window also has an Enable Safe Mode button.

  • The editor loads in Safe Mode: a plugin or the theme is the cause. Deactivate your plugins one at a time, keeping Elementor and Elementor Pro active, and reload the editor after each one. If no plugin is to blame, switch to a default theme such as Hello for a moment. Do this on a staging copy if the site is live.
  • It still doesn’t load: the cause is on the server or in the browser. Go on with step 3.

Safe Mode also turns off Elementor’s experiments while it is on, so disable it again when you finish.

Step 3: Raise the PHP memory limit

Elementor asks for a WordPress memory limit of at least 256 MB, recommends 512 MB, and suggests 768 MB for best performance. Open wp-config.php in your site’s root folder and add this line, for example after define( 'WP_DEBUG', false );:

PHP
define( 'WP_MEMORY_LIMIT', '512M' );
  • WordPress has two memory limits. WP_MEMORY_LIMIT applies to the front end and to admin-ajax.php requests, which the editor uses; it defaults to 40M (64M on Multisite) and only takes effect when it is higher than PHP’s own limit. WP_MAX_MEMORY_LIMIT applies to admin screens and defaults to 256M, or to PHP’s limit when that is higher.
  • When WP_MEMORY_LIMIT is above 256M, WordPress uses it for admin screens too, so this one line covers both. With PHP’s limit at 128M, WordPress 7.1’s startup code gives 128M on the front end and in admin-ajax.php and 256M on admin screens when the constant isn’t set; with 512M, all three get 512M.
  • Keep the line above the comment that says That's all, stop editing. WordPress starts loading right after that comment, so constants defined below it come too late.
  • Check the result in Tools > Site Health > Info: WordPress Constants shows both limits and Server shows PHP’s memory limit. Elementor > Editor > System Info shows it too.

If the value doesn’t change, your host caps the memory limit. Ask them to raise it. On a server you manage yourself, raise memory_limit in php.ini instead, as in editing php.ini on a Google Cloud VM. Don’t add php_value memory_limit to .htaccess unless PHP runs as an Apache module: on an Apache server without mod_php, that line makes every request in the folder fail with a 500 error (“Invalid command ‘php_value'”). With PHP-FPM, a .user.ini file in the site root can set memory_limit = 512M; PHP re-reads it every five minutes by default.

Step 4: Security headers, firewalls and optimisation

  • Frame headers. The editor shows your page inside an iframe. Elementor needs X-Frame-Options: SAMEORIGIN, not DENY, and a Content-Security-Policy with frame-ancestors 'self', not 'none'. If you added security headers yourself, as in WordPress Security 101, check those values; otherwise ask your host.
  • Firewall rules. If admin-ajax.php requests fail with no PHP error, a firewall such as ModSecurity may be blocking them. Ask your host for the ModSecurity log. Elementor also lists the PHP Zlib extension and a higher max_input_vars as things to ask for.
  • Script optimisation. Cloudflare’s Rocket Loader can delay or block Elementor’s scripts; turn it off or exclude the editor. Caching and JavaScript optimisation plugins can do the same, so exclude the editor or pause them while you edit.
  • Site addresses. Under Settings > General, the WordPress Address and Site Address must match, including https and www.
  • Loader method. Under Elementor > Editor > Settings > Advanced, set Switch Editor Loader Method to Enable. Elementor describes it as a setting for server configuration conflicts.

Other things to check

  • Update Elementor and Elementor Pro together. Mismatched versions can break the editor.
  • Hide unused elements from your Elementor addon plugins. Many addon packs let you switch off widgets you don’t use, and Elementor’s own Element Manager does the same for its widgets, so the editor has fewer of them to load. Don’t switch off a widget that a page still uses: saving that page can remove the widget’s content.
  • Try a private window with extensions off, or another browser. Ad blockers and other extensions can block editor scripts.
  • If your theme shows a page preloader, turn it off; Elementor lists it as a cause.
  • Check your versions. Elementor 4.3.2 needs WordPress 6.8 or later and PHP 7.4 or later, and Elementor recommends PHP 8.x. Its requirements change over time, so check the current Elementor system requirements.

Elementor’s own guide to an editor stuck on the loading screen covers a few rarer cases, such as corrupted widget data.

Share on X (opens in a new tab) Share on LinkedIn (opens in a new tab) Share on Facebook (opens in a new tab)

ChatGPT (opens in a new tab) Claude (opens in a new tab) Gemini (opens in a new tab) Perplexity (opens in a new tab) Grok (opens in a new tab)

More Insights

See More