Wednesday, July 1, 2026
All guides
Troubleshooting guide Page Builders

Elementor Not Loading: Fix the Spinning Editor and Blank Preview in 2026

Elementor editor stuck on the loading spinner or the preview pane refusing to render? Here is the exact order I work through it, from a 30-second cache flush to the deeper plugin and server fixes that solve the stubborn cases.

Arjun Mehta Published July 1, 2026 Last reviewed July 1, 2026 13 min read Step-by-step walkthrough
Reviewed and tested by the WPRescue team on a real WordPress install before publishing. How we test fixes
Elementor banner: fixing the Elementor editor stuck on loading spinner

What's Happening

You open a page to edit, the Elementor logo spins, and nothing happens. Sometimes the left panel loads but the preview stays blank. Sometimes you get a 'Preview Could Not Be Loaded' message. The cause is almost always one of four things: a JavaScript conflict from another plugin, a memory limit that is too low for Elementor's editor, a server that is blocking admin-ajax.php, or a cached version of an old Elementor file that no longer matches the current install.

Few WordPress problems get reported in my inbox more than the spinning Elementor editor. The page loads, the left panel starts to come in, and then everything freezes. The Elementor logo spins forever, the preview pane stays gray, and you cannot tell whether the site is broken or just slow. After the third refresh you start looking for answers.

I have walked through this with hundreds of clients over the last few years, and the cause is almost always one of four things. Either a JavaScript conflict from another plugin is throwing an error that halts the editor, the PHP memory limit is too low for Elementor to load its full widget library, a security plugin or host firewall is blocking the admin-ajax.php endpoint the editor depends on, or a cached version of an Elementor asset is out of sync with the current install. This guide walks every one of those in the order I check them on real sites.

Step 1: Read the Browser Console First

Before you touch a plugin, open the page in the editor and press F12 to open the browser developer tools. Click the Console tab. Refresh the page and watch what shows up. The first red error you see is the one that matters. The errors that follow are usually consequences of that first one, so do not get distracted by the long list.

What you are looking for is a plugin name in the file path. Something like /wp-content/plugins/some-other-plugin/assets/js/main.js throwing a TypeError tells you exactly which plugin to deactivate first. If the error points to /wp-includes/ or to a script with no plugin name, the problem is more likely memory or server-side. Take a screenshot of the error before you change anything, you will want it later if you have to ask Elementor support.

Elementor page builder editor interface with the loading spinner stuck on screen
The Elementor editor spinner is rarely an Elementor bug, the browser console almost always names the plugin actually breaking it.

Step 2: Raise the PHP Memory Limit

Elementor needs more memory than most plugins. The official minimum is 256M, but in practice if you are running Elementor Pro plus WooCommerce plus a heavy theme like Astra or Hello with starter templates active, you should be at 512M before you call it tuned. Most shared hosting starts you at 128M, which is the single most common reason the editor will not load on a fresh install.

Open wp-config.php at the WordPress root and add one line above the 'That's all, stop editing!' comment. Save the file and refresh the editor. If the spinner stops and the panel loads, the memory limit was the problem and you can move on. If wp-admin shows a 'Memory limit reached' error or the editor still hangs, your host has a PHP-level cap below what you set in wp-config and you need to ask support to raise it or move to a php.ini file in the root.

phpThe two memory constants Elementor reads. WP_MEMORY_LIMIT covers the front end, WP_MAX_MEMORY_LIMIT covers wp-admin and the editor.
// Add to wp-config.php above the 'stop editing' line
define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Step 3: Use Elementor Safe Mode

Safe Mode is the fastest diagnostic Elementor ships. Go to Elementor > Tools > General in wp-admin, find the Safe Mode toggle, and turn it on. Then reopen the page in the editor. Safe Mode loads Elementor with all other plugins disabled and a temporary default theme active. If the editor loads cleanly in Safe Mode, you have a plugin or theme conflict, not an Elementor bug.

From there, the binary search is straightforward. Turn Safe Mode off, deactivate half your plugins, and test. If the editor loads, the bad plugin is in the half you turned off. Reactivate half of those, test again, and keep splitting until you find it. On a site with twenty plugins this usually takes four or five tests, maybe ten minutes total. Way faster than turning them off one at a time.

Step 4: Disable Aggressive Asset Optimization

Optimization plugins are a common cause of the spinning editor, even though they are usually invisible on the front end. Autoptimize, WP Rocket's file optimization features, LiteSpeed Cache's JS combine, and Hummingbird all combine and minify JavaScript files. When they touch Elementor's editor JS, the editor breaks because the scripts no longer load in the expected order.

The fix is not to disable the plugin entirely but to exclude logged-in users from optimization. Every major optimization plugin has this setting. WP Rocket calls it 'Disable for logged-in users.' Autoptimize calls it 'Disable for administrators.' Turn that on, clear the cache, and reload the editor. The front end stays fast for visitors, the editor stops breaking for you.

Step 5: Check admin-ajax.php and the REST API

Elementor lives or dies on its AJAX calls to admin-ajax.php and its REST API endpoints under /wp-json/elementor/v1/. Anything that blocks those endpoints, a security plugin rule, a firewall, mod_security on the server, or a CDN security setting, kills the editor.

Test admin-ajax.php directly. Visit yoursite.com/wp-admin/admin-ajax.php in your browser while logged in. You should see a 0 response with HTTP 200. If you see a 403, the request is being blocked. The usual suspects are Wordfence (check 'Live Traffic' for blocked admin-ajax requests), iThemes Security (look for a rule blocking admin-ajax), Cloudflare WAF (check the firewall events log), and host-level mod_security rules (your host support has to whitelist).

bashA quick command-line check for whether your server is blocking the AJAX endpoint Elementor depends on.
# From a terminal, replace yoursite.com
curl -I https://yoursite.com/wp-admin/admin-ajax.php

# Expected: HTTP/2 200
# If you see 403 or 503, a firewall is blocking the editor

Step 6: Regenerate Elementor Files and Clear Every Cache

When Elementor updates and your CSS cache does not, the editor sometimes loads but throws errors as it tries to render widgets with mismatched styles. The fix takes one click. Go to Elementor > Tools > Regenerate Files & Data and click the Regenerate Files button. Elementor wipes its cache and rebuilds every per-page CSS file from scratch.

After that, clear your page cache plugin, your object cache if you run Redis or Memcached, and your CDN cache. Cloudflare in particular caches the editor JS aggressively and will keep serving the old broken version for hours unless you purge it manually. Test in an incognito window so your browser cache does not lie to you.

Step 7: Raise max_input_vars for Save Failures

If the editor loads fine but Update fails silently, or you save and your changes disappear on the next reload, the cause is almost always max_input_vars. Elementor pages with twenty or thirty sections submit huge numbers of POST fields when you save. PHP defaults max_input_vars to 1000, which Elementor blows through on the first complex page.

Raise it to 4000 in php.ini or, if your host does not give you that file, in .htaccess. Confirm the change at Elementor > System Info, scroll to the PHP section, and check the max_input_vars line. If it still shows 1000 after your edit, the change did not apply and you need to ask your host where to set it.

apacheconfBoth PHP module names cover Apache servers running PHP 7 and PHP 8 respectively. Drop in the appropriate block, save, and confirm the new value in Elementor System Info.
# Add to .htaccess at the WordPress root
<IfModule mod_php7.c>
php_value max_input_vars 4000
php_value max_execution_time 300
</IfModule>
<IfModule mod_php.c>
php_value max_input_vars 4000
php_value max_execution_time 300
</IfModule>

A Real Client Example

An agency in Sydney sent over a site last month where Elementor was stuck on the spinner across every page. They had tried memory, Safe Mode, deactivating plugins, the whole list. Nothing worked. Console showed a generic 'TypeError: Cannot read properties of undefined' from a script with no plugin path in the name.

It turned out their host had recently rolled out a new mod_security rule that flagged Elementor's REST API requests as suspicious. The Network tab in dev tools showed every /wp-json/elementor/v1/ request returning 403. Support whitelisted the rule for the site, the editor loaded on the next refresh, and we never touched a plugin or wp-config. The lesson is to always check the Network tab, not just Console, when the obvious fixes do not work.

How to Prevent Editor Failures Going Forward

Set WP_MEMORY_LIMIT to 512M and max_input_vars to 4000 on every Elementor site from day one. These are not edge case settings, they are minimums for any site with more than a handful of sections per page.

Exclude logged-in users from any asset optimization plugin you install. The performance gain on the front end stays intact, but you never have to debug whether a JS combine just broke your editor.

Keep Elementor and any add-on plugins (Elementor Pro, Crocoblock, Essential Addons, Ultimate Addons) on the same release cycle. The most painful conflicts happen when Elementor core updates and your add-on is six versions behind, expecting old internal APIs that no longer exist.

Final Checklist Before You Close the Editor Tab

Run through this list before you decide the issue is solved.

  • The editor opens on at least three different pages, not just one
  • You can drag a widget in and the preview updates without lag
  • Update saves and the changes persist after a hard refresh
  • Elementor > System Info shows no red warnings
  • admin-ajax.php returns a 200 response from a direct browser visit
  • Browser console is clean after the editor finishes loading
  • Every cache layer has been flushed at least once after the fix

Complete Fix Checklist

  1. 1Open the browser console (F12) on the stuck editor page and read the first red error, that line tells you which plugin or asset is failing.
  2. 2Increase the PHP memory limit to at least 256M in wp-config.php so the editor has room to load every widget.
  3. 3Switch to Elementor Safe Mode under Elementor > Tools to load the editor with plugins and the active theme disabled.
  4. 4Regenerate the Elementor CSS files by going to Elementor > Tools > Regenerate Files & Data and clicking the button.
  5. 5Disable any aggressive optimization plugin (Autoptimize, WP Rocket file optimization, LiteSpeed JS combine) for logged-in users.
  6. 6Check that admin-ajax.php returns a 200 response by visiting yoursite.com/wp-admin/admin-ajax.php directly, anything else means a security plugin or server rule is blocking it.
  7. 7Clear the Elementor cache, the page cache plugin, the object cache, and any CDN cache before testing again.

Quick Tips

  • Elementor needs at least 256M of PHP memory to load the full widget library, 128M is the most common cause of the spinning editor on shared hosting
  • Safe Mode is the single fastest diagnostic, if the editor loads in Safe Mode the problem is a plugin or theme conflict and you can binary-search from there
  • A 403 or 500 response from admin-ajax.php usually means Wordfence, a host firewall, or mod_security is blocking the editor's AJAX calls

Frequently Asked Questions

Why is my Elementor editor stuck on the loading screen?
Nine times out of ten it is a JavaScript error from another plugin or a low PHP memory limit. Open the browser console with F12 and read the first red error. The error name and file path almost always tell you which plugin to deactivate first.
How do I enable Elementor Safe Mode?
Go to Elementor > Tools > General in your wp-admin. There is a Safe Mode toggle that loads the editor with only Elementor and a temporary default theme active. If the editor loads in Safe Mode, you have a plugin or theme conflict and need to deactivate plugins in groups to find the one breaking it.
How much PHP memory does Elementor really need?
The Elementor team recommends at least 256M for the editor to load the full widget panel. Elementor Pro with WooCommerce widgets and a heavy theme can need 512M. Set this in wp-config.php with define('WP_MEMORY_LIMIT', '512M'); and confirm your host allows that value, some shared hosts cap PHP at 256M no matter what wp-config says.
Why does Elementor work in Chrome but not in Safari or Firefox?
A browser extension is interfering. Ad blockers, privacy extensions, and script blockers commonly block admin-ajax.php or the Elementor REST API endpoints. Test in an incognito window with extensions disabled before assuming the site is broken.
My Elementor preview shows the message 'Preview Could Not Be Loaded'.
This is almost always a server-level redirect or a security plugin blocking the preview URL. Wordfence, iThemes Security, and host-level mod_security rules are the usual culprits, add admin-ajax.php and the elementor-preview URL to their allowlist and the preview pane loads on the next refresh.
Elementor is not publishing my changes, what do I do?
Clear the Elementor cache from Elementor > Tools > Regenerate Files & Data, then your page cache plugin, then your CDN. If changes still are not saving, check the browser console while clicking Update. A failed POST request to admin-ajax.php is the most common cause and points to a firewall or memory issue blocking the save.
Does a low max_input_vars value cause Elementor to fail?
Yes. Elementor sends a large number of form fields when saving. If your host caps max_input_vars at 1000, complex pages will fail to save silently. Set it to at least 4000 in php.ini or .htaccess and check the current value at Elementor > System Info.
Will reinstalling Elementor lose my page designs?
No. Elementor stores all page data in the wp_postmeta table, not in the plugin files. Deactivating and reinstalling Elementor only replaces the plugin code, your designs stay intact. Always run a database backup first regardless.

Related Guides