After updating WordPress, your page builder or a plugin, one of these happens: pages lose their layout and show plain stacked content, the editor sits on a loading screen forever, you see a message like The preview could not be loaded or Server error, or buttons, sliders and menus stop responding.
Page builders such as Breakdance, Elementor and Divi store your design as data in the database and generate CSS files from it. After an update, three things commonly go wrong: the generated files are stale, an add-on no longer matches the builder version, or a cache keeps serving old files. None of these mean your design is lost. Work through the steps in order and change one thing at a time.
Before you start
- Back up the files and database now, even though the site is broken. If a fix goes wrong, you want to return to this point, not to last week.
- Do not keep saving pages in a misbehaving editor. Saving while the builder is half-loaded can overwrite good layout data. Diagnose first.
- Access you need: WordPress admin, your caching plugin and CDN dashboards, SFTP or the hosting file manager, and ideally a staging copy of the site.
- Write down what changed: which plugins updated, from which version to which, and when.
- Where things are done. Most steps happen in WordPress admin and your browser’s developer tools. The one command, in Step 6, runs in an SSH terminal from the site’s folder (the one that contains
wp-config.php); most hosting panels offer a terminal or SSH access, and on some hosts the command is wp-cli instead of wp. Lines that start with define( are not commands: you add them to wp-config.php in the file manager or over SFTP. Words in CAPITALS are placeholders, explained where they appear.
Step 1: Regenerate the builder’s CSS
This fixes a large share of “the layout broke after updating” problems. The builder rebuilds every generated stylesheet from your saved design data.
- Breakdance: Breakdance, Settings, Tools, then Regenerate CSS Cache.
- Elementor: Elementor, Tools, then Regenerate CSS & Data. Newer versions call it Clear Files & Data.
- Divi: Divi, Theme Options, Builder, Advanced, then clear Static CSS File Generation.
Other builders have an equivalent, usually under a Tools or Performance screen with a name like “Regenerate CSS” or “Clear cache”. If your builder writes CSS files into wp-content/uploads, the uploads folder must be writable by the web server, or regeneration silently fails.
Step 2: Clear every cache, in order
Caches stack on top of each other, and each one can hold the old version. Clear from the inside out, so an outer cache cannot refill from a stale inner one:
- The builder’s own CSS (Step 1).
- Your caching or optimization plugin: purge all, including any minified or combined CSS and JavaScript files.
- Server cache, if your host runs one (LiteSpeed, Varnish or Nginx caching, usually purged from the hosting panel or the caching plugin).
- Your CDN: purge everything.
- Your browser: test in a private window, not with a normal reload.
If clearing caches fixes it but the problem returns, look at your optimization plugin. Combining files, delaying JavaScript or removing “unused” CSS often breaks builder output after an update, because file names and script order change. Exclude the builder’s files from those features, or turn them off and test.
Step 3: Read the errors
If it is still broken, stop guessing and collect evidence.
Browser console
Open developer tools (F12), click the Console tab and reload the page or the editor. Red errors tell you a lot:
- An error naming a specific plugin’s file (in its path under
wp-content/plugins/) points at that plugin.
jQuery is not defined or $ is not a function usually means an optimization plugin deferred or delayed jQuery.
- Failed requests to
admin-ajax.php or /wp-json/ with a 403 or 500 status mean the server rejected the builder’s background requests. A 403 often comes from a security plugin or a server firewall (such as ModSecurity) blocking the save; a 500 is a PHP error.
Also open the Network tab and look for red rows: CSS or JS files returning 404 (stale file references, see FG-09) or blocked requests.
PHP error log
Check your host’s PHP error log, or turn on WordPress logging by adding these lines to wp-config.php, above the line that says “That’s all, stop editing”. Copy them as shown, and remove any WP_DEBUG line already in the file so it is not defined twice:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reproduce the problem, then read wp-content/debug.log. Look for PHP Fatal error lines and the file path in each. Allowed memory size exhausted means PHP ran out of memory while loading the editor, which builders are prone to on large pages. Turn logging off and delete the log when you are done.
Step 4: Check add-ons and versions
Builders have their own ecosystem of add-on plugins, and those are the most common source of conflicts after an update.
- Pro and core must match. Elementor and Elementor Pro, for example, are separate plugins. Updating one without the other is a frequent cause of a blank editor.
- Third-party add-ons (extra widgets, elements or extensions) often lag behind major builder releases. Check each add-on’s changelog for a compatibility update.
- Your PHP version. A builder update may require a newer PHP version, or an old add-on may break on a newer one. Compare the plugin requirements with the PHP version in your hosting panel.
Step 5: Find the conflict safely
The Health Check & Troubleshooting plugin, from the WordPress.org directory, has a Troubleshooting Mode that disables all plugins and switches to a default theme for your logged-in session only. Visitors keep seeing the normal site. Enable the builder and its pro version first, test the editor, then enable other plugins one at a time until the problem comes back. The last plugin you enabled is the conflict.
Some builders include their own safe mode for the same purpose. Elementor has one under its Tools screen, and Divi offers one in its Support Center. Better still, do this testing on a staging copy.
Step 6: Roll back
If you need the site working now and the fix will take time, roll back to the version that worked:
- Elementor: Elementor, Tools, Version Control lets you reinstall a previous version of Elementor (Pro has its own rollback in the same area).
- Plugins from WordPress.org: a rollback plugin, or WP-CLI:
wp plugin install PLUGIN_SLUG --version=VERSION --force. Replace PLUGIN_SLUG with the plugin’s folder name (shown in the name column of wp plugin list) and VERSION with the last version that worked, such as the one you wrote down before updating; the plugin’s WordPress.org page lists older versions under Advanced View. --force overwrites the installed copy.
- Premium builders and themes: check whether the vendor’s account area offers previous versions. If not, restore the backup you took before the update.
After rolling back, regenerate the CSS and clear caches again (Steps 1 and 2). Do not leave automatic updates on for that plugin until you have tested the new version on staging. A rollback is a temporary measure: report the problem to the vendor and move forward once it is fixed, because old versions stop receiving security fixes.
Still stuck: when to contact your host or the builder’s support
Contact the builder’s support if the problem continues in Troubleshooting Mode with only the builder active. Contact your host if you see 403 or 500 errors on admin-ajax.php or /wp-json/, memory errors you cannot raise, or files that will not regenerate. Send:
- The builder, pro and add-on versions before and after the update, and your WordPress and PHP versions.
- The exact console errors and PHP log lines, with the time you reproduced them.
- The URL of an affected page and what you already tried: regeneration, cache purges, conflict testing, rollback.