Kadence, stale styles
Kadence CSS Not Updating? Find the Old Copy That Is Still Winning
You changed the button color, pressed Publish, and the Customizer preview turned green. The live site stayed blue. On Kadence that almost never means the save failed. It means an older copy of the page, or of a stylesheet, is still being handed to visitors from somewhere between your database and their browser.
October 14, 2026 · 8 min read
The short answer
When Kadence CSS is not updating, the setting has usually saved and an old copy is being served. Kadence prints Customizer styles inline, attached to its kadence-global stylesheet, so any cache holding old HTML also holds old styles. Purge the page cache, host cache, CDN and CSS optimizer, then check block-level colors and child theme versioning.
On this page
Green in the preview, blue for everyone else
Stale styles on a Kadence site show up in a handful of familiar ways. The pattern matters, because each one points at a different layer. Write down which of these you see before touching any setting, and note whether you were logged in when you looked. Most caching tools skip logged-in users, so the admin sees the new design while every customer sees last week's.
- The Customizer preview shows the change, the published page does not.
- The change appears when logged in, or in a private window, but not for regular visitors.
- Desktop updated, phones did not (some caching tools keep a separate mobile copy).
- One page shows the new color, other pages built from the same blocks keep the old one.
- Edits to a child theme's style.css do nothing at all, even after a hard refresh.
- Styles changed for a few hours, then quietly reverted after the cache rebuilt.
Where Kadence keeps each kind of style
Kadence does not keep your design in one place, which is why one purge rarely fixes everything. The theme splits its structural CSS into component files for the header, content, footer, sidebar and plugin integrations. Your Customizer choices (palette, typography, spacing) become dynamic CSS that the theme attaches inline to the kadence-global stylesheet with WordPress's wp_add_inline_style. Those styles live inside the HTML of every page, so they are exactly as fresh as the cached HTML.
| Where it ends up | What serves the old version | |
|---|---|---|
| Customizer settings | Inline style block attached to kadence-global, inside the page HTML | Page cache, host cache, CDN HTML cache |
| Global palette | CSS variables such as --global-palette1, referenced by theme and blocks | Same caches, plus blocks set to a fixed hex instead of a palette slot |
| Component CSS files | Separate theme stylesheets for header, content, footer and sidebar | A CSS optimizer's combined file, or a CDN copy |
| Kadence Blocks styles | Built from each block's saved settings and printed with that page | Page cache; a value set on the block itself |
| Additional CSS box | Printed inline by WordPress core | Page cache |
| Child theme style.css | A file in the child theme folder | Browser and CDN cache, because its version string never changes |
The general mechanics behind this table, across themes, are in WordPress theme CSS not loading. The Kadence version adds one twist: because Customizer output rides inside the page rather than in a regenerated file, there is no Kadence button to rebuild it. Purging the page is the rebuild.
Five suspects, most likely first
1. A page cache holding yesterday's HTML
Open the live page logged out, view the source and search for kadence-global-inline-css, the id WordPress gives that inline block. Look for the new value, say the hex code you just picked. If the source shows the old value, the database has the new one and a cache is serving the old page. Caching plugins, host-level caching and a CDN can all hold a copy, and each needs its own purge.
2. An optimizer that combined the CSS and kept the result
Plugins that combine, minify or extract critical CSS write their own files and often move inline styles into them. Look in the source for stylesheet addresses under a cache folder with hashed names instead of the theme's own files. Switch combining off for one test. If the change appears, the optimizer's stored output was the culprit, and its clear-cache button (not just the page cache button) is the fix.
3. The block overrides the Customizer
A color or font set directly on a Kadence Blocks block beats the global setting. Inspect the element in the browser: if the winning rule names a fixed hex value rather than var(--global-palette1) or another palette slot, the block was styled by hand. The Kadence repair hub covers hard-coded colors after a rebrand in more depth.
4. A child theme stylesheet with a frozen version
Open your child stylesheet's address from the page source and check the ver= number on the end. If it has not changed since launch, browsers and CDNs are entitled to keep their copy. Bump the version in the child theme's enqueue code or header each time you edit the file.
5. A Hooked Element showing where you did not expect
With Theme Kit Pro, a Hooked Element can inject a section or template by display condition. If an old banner keeps its old look, check whether you edited the element that actually displays on that page, or a near-duplicate with broader conditions.
Clearing stale styles in the order that works
- 1
Confirm the save
Reopen the Customizer or the block and check the value is stored. If it reverts there, you have a saving problem, not a caching one, and publishing or updating failed errors are closer to the cause.
- 2
Purge from the inside out
Clear the CSS optimizer's generated files first, then the caching plugin, then the host's cache panel, then the CDN. Purging the CDN before the origin lets it refill with the same stale page.
- 3
Check the source, logged out
Use a private window and search the HTML for the new value in kadence-global-inline-css. Check one phone-sized view too, since some tools cache mobile separately.
- 4
Fix block-level overrides
Where a block holds a fixed hex or font, switch it to the matching palette slot or to inherit, so the next global change reaches it.
- 5
Version the child theme
Raise the child stylesheet's version number, then reload. One edit to a version string saves a week of asking clients to clear their browsers.
- 6
Retest the pages that matter
Homepage, a service page, a post and a product page. Stale CSS rarely hits every template evenly.
If the styles look right but now load more slowly, the Kadence speed guide explains what the Performance panel's CSS Preload toggle does and when to keep it.
Why one block fix does not travel
Kadence Blocks builds each block's styles from that block's own saved settings and prints them with the page that holds it. That keeps unused CSS off other pages, which the vendor promotes, but it means a style fixed on one copy of a block stays fixed only there. Ten pages with a pasted hero section are ten separate fixes. A synced pattern, edited once, updates every page that uses it, and is the better habit for anything repeated.
Plugin updates can also change the markup a block saves. When the editor flags a block after an update, that is a different problem from caching, explained in Kadence Blocks invalid content errors. Resolve those before chasing CSS, because a block WordPress cannot read will not take new styles either.
On Kadence, purging the page is the stylesheet rebuild. There is no other button.
Habits that keep the next color change visible
- Run one page cache, not two. A plugin cache stacked on a host cache doubles the places old HTML can hide.
- Turn on purge-on-save in your caching tool so publishing a page or the Customizer clears it.
- Style blocks with palette slots and inherited fonts, never one-off values, so global changes reach them.
- Keep a note of which plugin optimizes CSS. Two tools rewriting styles is a common source of mystery reverts.
- Test design changes on a staging copy, then purge the live caches in order after you publish.
These habits are part of what our hosting and maintenance plans handle: tested updates, cache rules set once and checked, and someone who knows which plugin owns which file. For a one-off cleanup, the WordPress theme troubleshooting service fixes the cache chain and writes it down. Other Kadence failures live in the troubleshooting section, including fonts that will not load and slowdowns after an update.
When every style change needs a cache ritual
Stale CSS is a symptom of how a WordPress page gets assembled: theme styles inline, block styles per page, optimizer files on top, then three caches in front. Each layer is sensible. Together they turn a color change into a purge sequence that someone has to remember. If that someone is you, every month, it is fair to ask whether the stack still suits the site.
A Next.js build compiles styles at build time into files whose names change when their contents change, so a deploy cannot leave a stale stylesheet behind. Content edits in Athena CMS come with a real preview of the published result. Kadence vs Next.js weighs both stacks fairly, the Kadence review covers what the theme does well, and moving Kadence to Next.js shows what the move involves. For many brochure sites, the honest answer is a fixed cache chain and staying put.
Questions people ask before they call
Not for Customizer styles, because there is no file to regenerate. Kadence adds them inline to each page, attached to its kadence-global stylesheet. The fresh styles reach visitors once the page cache, host cache and CDN serve a new copy of the HTML. Optimization plugins that combine CSS do keep files, so clear theirs too.
Most caching tools skip logged-in users. You see the live database; visitors see the cached page. Log out or use a private window to check what customers get, then purge the caches in order: optimizer files, caching plugin, host cache, CDN. The general version is at CSS changes not showing on a website.
Usually the stylesheet's version number has not changed, so browsers and CDNs keep their cached copy. Raise the version in the child theme each time you edit it. Also check that a block-level setting or a more specific theme rule is not overriding your selector, using the browser's inspect tool.
An update itself rarely freezes styles, but it can change block markup or the theme's component files while a cache or optimizer keeps the old versions. Purge everything after updates and check pages logged out. If a layout broke outright, see a theme that broke after an update.
Keep reading
- Styles gone missingWordPress Theme CSS Not Loading: Why Your Page Shows Up UnstyledWordPress theme CSS not loading and the page looks like plain text? Trace the failed stylesheet to an optimizer bundle, generated CSS file, CDN or HTTPS.
- Kadence, tunedKadence Theme Speed: Past the Free Performance PanelKadence theme speed, setting by setting: the free Performance panel, Kadence Blocks and Shop Kit weight, the 1024px header and what no toggle fixes.
- Kadence typographyKadence Fonts Not Loading: Theme Fonts, Block Fonts and the Local CopyKadence fonts not loading or falling back to Arial? Separate Customizer fonts from Kadence Blocks fonts, flush the local copy and check each weight.
- Kadence, reviewedKadence Theme Review (2026): A Block-Editor Favorite Under New ManagementKadence theme review, checked October 2026: the free performance panel, Kadence Blocks, Shop Kit, the 1024px mobile header, the new plans and who should pass.
- New owner, old questionKadence vs Next.js: A Block-First Theme Under New Owners, Against Custom CodeKadence vs Next.js after the Liquid Web shake-up: Kadence Blocks, the new $99 to $499 plans, known issues, and which businesses should stay or move.
- Kadence migration guideKadence to Next.js: Moving Kadence Blocks, Shop Kit and MembersKadence to Next.js, step by step: parse Kadence Blocks, map the global palette, rebuild Hooked Elements, move Shop Kit stores and members, keep every URL.
- Everything in WordPress TroubleshootingSee the section
Make your Kadence changes show up the first time
Tell us what you changed and where it is not showing. We will trace the cache chain, fix the layer that holds old styles and leave you a short note on the order to purge.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.