WordPress Theme Customizer Changes Not Saving? Fix It Now
Theme Customizer changes not saving? Usually a memory limit, plugin conflict, or permissions issue. Let's fix it step by step.
Quick answer: Increase WP memory limit by adding define('WP_MEMORY_LIMIT', '256M'); to your wp-config.php file. If that doesn't work, disable all plugins and switch to a default theme to find the conflict.
Why Your Theme Customizer Changes Don't Save
I've seen this error hundreds of times. You tweak colors, fonts, or layout in the Customizer, hit publish, and then—nothing. The settings vanish like they never existed. It's infuriating, especially when you've spent an hour on a design.
This usually happens because WordPress runs out of memory during the save process. The Customizer is a complex JavaScript app, and on shared hosting or cheap plans, the PHP memory limit is often too low (like 40MB or 64MB). The save request fails silently, and your changes get lost. Other common causes: a plugin that blocks the Customizer JavaScript, wrong file permissions on your theme folder, or the mod_security module on your server getting in the way.
Step-by-Step Fixes
Try these in order. Most people fix it at step 1.
Increase WordPress Memory Limit
Open your site's root folder and find
wp-config.php. Add this line right before the line that says/* That's all, stop editing! Happy publishing. */:define('WP_MEMORY_LIMIT', '256M');If you can't find
wp-config.php, check your web host's file manager or FTP. This single fix solves about 70% of Customizer save problems. No need to ask your host—just do it yourself.Disable All Plugins Temporarily
Go to Plugins > Installed Plugins. Select all, then choose Deactivate from the dropdown. Now try the Customizer again. If it saves, reactivate plugins one by one—testing after each—until you find the one that breaks things. Common culprits: security plugins (Wordfence, Sucuri), caching plugins (W3 Total Cache, WP Super Cache), and page builders (Elementor, Beaver Builder) when they're outdated.
Switch to a Default Theme
Even if you don't think your theme is the issue, test it. Go to Appearance > Themes and activate Twenty Twenty-Four (or any default WordPress theme). If the Customizer saves now, your theme has a bug. Contact the theme developer or consider switching to a more reliable theme.
Check File Permissions on Theme Folder
Your server needs to write changes to the theme folder. Wrong permissions can block that. Connect via FTP or your host's file manager. Go to
/wp-content/themes/your-theme-name. The folder should have permissions755and files should be644. If they're 555 or 444, change them. This is rare but happens on some secured hosts.Disable mod_security in .htaccess
If nothing else works, your server might be blocking the save request. Add this to your
.htaccessfile (in the root folder):SecRuleEngine Off If you don't have an
.htaccessfile, create one with that code. After testing, re-enable mod_security by removing those lines—it's a security tool, so don't leave it off forever.
Alternative Fixes If the Main Ones Fail
Clear your browser cache and use an incognito/private window. Sometimes old JavaScript gets stuck.
Update WordPress, your theme, and all plugins. Outdated code can cause silent save failures.
Check your hosting PHP version. WordPress needs PHP 7.4 or higher. If you're on PHP 5.6 or 7.0, update it in your host's control panel (cPanel usually has a PHP selector).
Rename the plugins folder via FTP to
plugins_old. This forces WordPress to disable all plugins. If the Customizer works, you know it's a plugin issue.
How to Prevent This in the Future
Once you fix it, do one thing: add the memory limit line to wp-config.php permanently. Most hosts don't mind a bump to 256MB. Also, keep your plugins and theme updated. And before making big design changes, create a backup (use UpdraftPlus or your host's backup tool). If the Customizer breaks again, you can restore and try a different approach.
I know this error is annoying, but it's usually a quick fix. Start with the memory limit—it's saved my day more than once.
Was this solution helpful?