Skip to main content
Almost always caching. In a minority of cases, something is actively overwriting your settings.
Theme settings live in the database, not in theme files. Updating the theme never resets your Customizer settings. If yours are disappearing, something else is writing to them.

The first four things to try

1

Click Apply

The Customizer needs an explicit Apply. Changes are not saved until you do.
2

Check for a JavaScript error

Open the console and watch for a red error as you change a setting. A sanitization or nonce failure can block the save.
3

Clear your caches

Page cache, object cache, and CDN. This resolves the majority of cases.
4

Try a private window

Bypasses browser cache and any stale service worker.

Caching, in detail

Three different caches can each cause this.

Page cache

Caches the rendered HTML. A stale copy shows your old settings even though they saved correctly.

Object cache

Caches database queries including theme mods. Persists until explicitly flushed — restarting PHP does not always clear it.

CDN

Caches at the edge. Clears on its own schedule, which can be a long time.

Clear all three

1

Clear your caching plugin

Usually a single button in the plugin’s settings.
2

Flush the object cache

Most caching plugins have a separate “flush object cache” or “purge all” action. Some hosts also provide one in their dashboard.
3

Purge the CDN

Cloudflare: Caching → Purge Everything. Others have an equivalent.
4

Hard-refresh

Ctrl/Cmd + Shift + R.

Settings revert after an update

Most likely cause on a shared account: someone or something reset the theme. Themes can register an after_switch_theme hook that clears options on activation — activating any other theme and switching back will trigger it. Check whether someone has been testing themes.

The save genuinely fails

If the value is not in the database at all, something is blocking it.
1

Check the console while saving

A red error at the moment you click Apply tells you exactly what failed.
2

Check for a nonce failure

A “nonce” error in the console means the session expired or the Customizer frame is stale. Reload the Customizer fully and try again.
3

Check disk space

A full disk can prevent writes. Ask your host, or check in cPanel.
4

Check database capacity

Some hosts cap database size. A full database looks exactly like this.
5

Deactivate plugins

Especially security plugins, which sometimes block Customizer saves.

Values are rejected or reset to defaults

The theme sanitizes every setting on save.
Custom fonts will not save in the Typography section. The font field is an allowlist of six stacks, not free text. Self-host a custom font and declare it with @font-face instead. See Typography reference.

Elementor keeps overriding your colors

This one confuses people, and it is expected behaviour.
The theme writes your Customizer colors into the Elementor Kit on every page load. Any change you make directly in Elementor → Site Settings → Global Colors is overwritten on the next page load.The Customizer is the single source of truth. Make brand color changes there.
This is documented on Colors and Elementor.

Object cache that will not clear

Some hosts maintain a persistent object cache outside your control.

If nothing works

1

Export your settings before experimenting

Appearance → Customize → Export gives you a file of all your settings. Keep it safe.
2

Check what is actually stored

3

Deactivate all plugins

If saving works, a plugin is intercepting it.
4

Test on a fresh install

Activate the theme on a scratch site and change a setting. If it works there, the problem is specific to your site.
5

Report it

WordPress.org support forum with what you changed, what the console said, and what is stored in the database.

Prevention

Customizer tour

Every setting and its validation rules.

Plugin conflicts

Plugins that block or interfere with saves.