A few months back, a site owner gave me access to a WordPress install that had been losing organic traffic since mid-2024. The design looked fine: clean layout, solid typography, the kind of site you'd call credible on first look. Then I ran PageSpeed Insights. Largest Contentful Paint at 6.2 seconds. Cumulative Layout Shift at 0.31. Interaction to Next Paint failed on mobile entirely. The theme was a $49 purchase from a popular marketplace, built around 2020. The people who made it were optimizing for screenshots, not for metrics that hadn't been invented when they shipped it.
This isn't rare. Thousands of themes sold between 2015 and 2021 were built without Core Web Vitals in mind because Core Web Vitals weren't a ranking factor yet. Google announced the Page Experience update in May 2021. Themes that shipped before that had no reason to care about LCP, CLS, or INP. A lot of sites are still running those themes, and most of them haven't been audited.
What Core Web Vitals Actually Measure
Largest Contentful Paint (LCP) measures how quickly the main content of a page appears on screen. Cumulative Layout Shift (CLS) tracks how much the page jumps around as assets load. Interaction to Next Paint (INP) replaced First Input Delay in 2024 and captures how responsive a page feels to taps and clicks throughout the entire visit, not just the first one.
Google is explicit that pages passing all three thresholds get a ranking advantage over pages that don't, when other signals are equal. The full breakdown is in Google's Search Central documentation on Core Web Vitals. Each of those metrics is shaped, sometimes decisively, by decisions baked into the theme.
Why Pre-2021 Themes Fail These Tests
Older themes were built with different expectations. JavaScript-heavy sliders were a standard feature. Render-blocking font requests were normal. Hero sections commonly used CSS background images rather than img tags with explicit dimensions, which meant browsers had no way to reserve space for the image before it loaded. Layout shift was built in from the start.
The HTTP Archive Web Almanac shows that a lot of WordPress sites still score poorly on LCP years after Google started weighting it. The gap isn't ignorance. It comes from theme-level architecture that site owners can't reverse without either switching themes or paying someone to get into the code.
Where Themes Actually Break
LCP almost always traces back to the hero section. The common pattern in older themes: the main visual is a CSS background property, not an HTML image element. Browsers can't preload CSS backgrounds the way they handle img tags, so the largest visual element arrives late. Fixing it means editing template files, which puts it out of reach for most site owners.
CLS typically comes from content injected after the initial render: ad slots, notification bars, widget areas that get added after the browser has already drawn the layout. A user tapping a link during that shift hits something they didn't intend to. CLS above 0.1 is considered poor, and this injection pattern regularly produces scores above 0.25.
INP is mostly a page builder problem. Themes bundled with Elementor, WPBakery, or older Divi versions load heavy JavaScript on every page, including pages that weren't built using the builder at all. That script competes with user input for browser thread time. On mid-range mobile hardware, the result is lag you can feel between a tap and any visible response. INP is what catches it.
Which Themes Are Holding Up
Block themes built for the Full Site Editor tend to do better on all three metrics. They were designed after Core Web Vitals became a ranking signal, so the architecture reflects that: CSS-based layout, native WordPress image handling, a smaller default JavaScript footprint. The guide to the best block themes in 2026 covers which ones are worth using for different project types.
Lightweight classic themes like GeneratePress and Astra also hold up, because their base installs are lean and their maintainers have kept pace with changing standards. The comparison of GeneratePress, Neve, and OceanWP is a reasonable starting point if you're deciding where to land.
What to Do If Your Theme Is Failing
Start with measurement. Run your site through web.dev/vitals or PageSpeed Insights on mobile, not just desktop. Mobile is what Google primarily uses. If LCP and CLS are failing, start with the hero section and font loading. If INP is the issue, check what JavaScript your theme loads by default and whether you actually use the page builder it ships with. Performance standards have become mainstream enough that even US federal agencies track Core Web Vitals across government sites as part of digital delivery requirements.
For a lot of older installs, switching themes is the right call. Patching architecture with plugins is a slow game that tends to go nowhere. The WordPress performance optimization guide lays out both approaches, patching and migration, with a clear breakdown of when each is worth the trouble.
The Bottom Line
A theme that looked right in 2019 is not automatically still right in 2026. Core Web Vitals are a ranking factor, and most of the controls that affect those scores are inside your theme's code. If your theme predates 2021 and you've never run a performance audit, that's overdue. The numbers may not be what you're expecting.