Kadence typography
Kadence Fonts Not Loading: Theme Fonts, Block Fonts and the Local Copy
Most Kadence sites run two font systems that were never introduced to each other. The theme loads the fonts you picked in the Customizer. Kadence Blocks loads the fonts picked inside individual blocks. When a heading slumps back to a system font, the first job is working out which of the two dropped it.
October 14, 2026 · 7 min read
The short answer
If Kadence fonts are not loading, first find which product chose the font. Customizer fonts (Colors & Fonts > Typography) load through the theme, from your server when Load Google Fonts Locally is on. Fonts set inside Kadence Blocks are requested by the plugin. Flush Local Font Files, purge caches, then check every weight in the browser's network tab.
On this page
When a Kadence heading slips into a system font
Font failures rarely announce themselves with an error. The page just looks slightly cheaper than it did yesterday. Collect the exact symptom first, on a logged-out browser and a phone, because each points at a different part of the Kadence stack.
- Everything renders in a system font: the theme's font request is failing or blocked.
- Body text is right, but headings or buttons inside certain blocks are wrong: a block-level font is not loading.
- Bold text looks smeared or too wide: the browser is faking a weight that was never downloaded.
- Fonts are right in the editor and wrong on the live page: the front end is requesting different files.
- Fonts broke the day you switched on local loading: the local copy is missing, stale or unreachable.
- Text appears in one font, then jumps to another: the font arrives late and shifts the layout.
Note one more detail: whether the editor and the live page agree. The block editor loads fonts its own way for the editing screen, so a font that looks right while you type proves only that the editor found it. Visitors get whatever the front end requests. Judge every font fix on the published page, logged out, with the browser tools open.
Two pipelines feed type to a Kadence page
Theme typography lives in Appearance > Customize > Colors & Fonts > Typography. The Base Font covers paragraphs, navigation and breadcrumbs. Heading Font Family covers H1 to H6, and individual heading levels default to Inherit. Kadence turns those choices into CSS and loads any Google Font you pick, from Google's servers by default or from your own when the Performance setting says so.
Kadence Blocks keeps its own typography controls on headings, buttons, info boxes and other blocks. Pick a font there and the plugin prints its own Google Fonts stylesheet link for it. Its source code checks a local-loading setting of its own rather than the theme's toggle, so turning on local fonts in the Customizer may not cover a font chosen in a block. One wordpress.org thread shows how far this reaches: a site on a different theme traced stubborn Google Fonts requests to Kadence Blocks, not to the theme it was blaming.
| How it loads | Common failure | |
|---|---|---|
| Customizer typography | Theme CSS plus a Google Fonts request, or local files | Stale local copy, blocked request, missing weight |
| Kadence Blocks block font | The plugin's own stylesheet link, per page | Not covered by the theme's local setting; wrong weight |
| Uploaded custom font | Font files you supply, included with paid Kadence plans | Wrong file format, wrong path, cross-origin block on a CDN |
| Font set in Additional CSS | Only if a matching @font-face rule exists | Name typed in CSS with no font file behind it |
What stops a Kadence font, ranked by how often
1. The local copy is stale or incomplete
With Load Google Fonts Locally on, Kadence makes a one-time request to Google and stores the files on your server. Change a font or add a weight afterward and the stored set can lag behind. Check the network tab, filtered to Font: local files should come from your own domain with status 200. A 404 there means the page asks for files that are not on disk.
2. A block font outside the theme's control
If the wrong text sits inside a Kadence block, select the block and read its typography panel. A family set there overrides the Customizer. In the network tab, requests to fonts.googleapis.com on a site that is meant to be local usually come from a block.
3. The weight was never requested
Choosing 700 in a block does not download 700 if the family loaded only 400. The browser fakes the bold. Confirm each weight you use appears as its own file in the network list.
4. Something is blocking the request
Privacy and consent tools, Google Fonts removal plugins, a strict Content Security Policy and optimization plugins that delay or rewrite font links all stop fonts quietly. The browser console names a blocked request. Disable one tool at a time on staging.
5. A CDN serves fonts from another domain
Font files fetched from a different domain need an Access-Control-Allow-Origin header. Without it the browser refuses the file, and the console says so in plain words. Allow your site's origin on the CDN, or serve fonts from the main domain.
Bringing the right type back, step by step
- 1
Inventory every font in use
List the families and weights in Colors & Fonts > Typography, then in the blocks on your key pages. Most sites need two families and three weights. Starter templates often leave more.
- 2
Point blocks back to the theme
Where a block's font matches the Customizer anyway, set it to inherit. One less family to load, one less place to edit later.
- 3
Refresh the local copy
In Customize > General > Performance, use Flush Local Font Files. Kadence deletes the stored files and downloads them again from Google on the next request.
- 4
Keep preload modest
If Preload is on for local fonts, it should cover the one or two files the first screen needs. Preloading every weight competes with the hero image.
- 5
Purge every cache
Clear the optimizer, the page cache, the host cache and the CDN, so no cached page still points at files that were just replaced.
- 6
Verify logged out
In a private window, check the network tab: every font file returns 200, from the domain you expect, with no request to Google if you meant to go fully local.
Fonts that arrive late can shift a page as they swap in. If that is the remaining complaint, layout shift in WordPress themes covers fallback sizing, and the Kadence speed guide covers the Performance panel as a whole.
Choosing type so it keeps loading
The cheapest font fix is fewer fonts. Set families once in the Customizer and let blocks inherit. Use the theme's global settings for headings rather than styling each heading block by hand. After any font change, flush the local files and purge caches as one routine, not two chores remembered on different days.
After a Kadence Blocks or theme update, open one key page logged out and look at the network tab for font 404s or new requests to Google. A minute of checking beats a week of customers seeing Arial. If the update did more damage than fonts, Kadence slow after an update and Kadence CSS not updating cover the neighboring problems, and the Kadence repair hub collects the rest.
Fonts as part of the build, not a runtime fetch
On WordPress, a font is a request that can fail on any page view: from Google, from a local folder that needs refreshing, or from a block plugin with its own rules. The mechanism behind it, across themes, is in WordPress theme fonts not loading. Kadence handles it better than most free themes. It still asks two products to agree.
Next.js treats fonts as part of the build. The next/font module downloads and self-hosts the files when the site is built, so the live site never asks Google for anything and a font cannot go missing between deploys. It costs a developer's time up front. Kadence vs Next.js lays out the trade honestly, and moving from Kadence to Next.js describes the migration. For a site that only needs its fonts fixed, our WordPress theme repair team does that, and the troubleshooting section and Kadence review cover the rest.
Questions people ask before they call
Do not assume it does. The theme setting covers fonts chosen in the Customizer. Kadence Blocks prints its own font link for fonts chosen in a block, and its code checks its own local-loading setting. Open the network tab logged out: any request to fonts.googleapis.com means a font is still coming from Google.
In Appearance > Customize > General > Performance. Turn on Load Google Fonts Locally, optionally preload the files, and use Flush Local Font Files whenever you change fonts. The setting is in the free theme. Our Kadence speed guide explains how it fits with the panel's other toggles.
The weight you chose was probably never downloaded, so the browser is drawing a fake bold from the regular file. Check the network tab for a separate file for each weight, then add the weight in the Customizer or block, flush local fonts and purge caches.
Yes, custom fonts are part of the paid Kadence plans as of October 2026; see Kadence pricing. Upload web formats such as WOFF2, and if you serve them from a CDN on another domain, make sure it sends the cross-origin header browsers require for fonts.
Yes. Late fonts can shift text (CLS) and preloading too many files can delay the hero image (LCP). Keep families and weights few, preload only what the first screen uses, and test on a phone. Our theme speed optimization service handles this alongside the rest of the page.
Keep reading
- Missing typefacesWordPress Theme Fonts Not Loading: Find Where the Typeface Went MissingWordPress theme fonts not loading? Check Google Fonts settings, local font files, CDN CORS headers, font-display and icon fonts in the order they fail.
- 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 in the block editorKadence and the Block Editor: Running Theme and Kadence Blocks as One Design SystemKadence with Gutenberg and Kadence Blocks: the shared palette, the Optimized Group Block switch, block defaults, Header (Adv) and common breakages.
- Kadence, stale stylesKadence CSS Not Updating? Find the Old Copy That Is Still WinningKadence CSS not updating after a Customizer save or a block edit? Check the inline kadence-global styles, block CSS and each cache layer, in order.
- 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.
- Everything in WordPress TroubleshootingSee the section
Get your Kadence fonts loading everywhere
Tell us which fonts are wrong and where. We will trace whether the theme, Kadence Blocks or a cache is at fault, fix it and trim the fonts you do not need.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.