Skip to main content
GrN.dk

Main navigation

  • Articles
  • Cases
  • Contact
  • Your Digital Project Manager
  • About Greg Nowak
  • Services
  • Portfolio
  • Container
    • Excel Freelancer
    • Kubuntu - tips and tricks
    • Linux Apache MySQL and PHP
    • News
    • Image Gallery
User account menu
  • Log in

Join my community / free newsletter — sign up here

Breadcrumb

  1. Home

WordPress PageSpeed: What to Fix First for Better Core Web Vitals

By Greg Nowak. Last updated 2026-07-14.

A fast WordPress site is an operating advantage, not a trophy score

A PageSpeed score is useful only when it helps you decide what to fix. For business owners, the real questions are whether priority pages load quickly, forms respond promptly, and releases stop reintroducing problems. Agencies need to separate template, plugin, hosting, and third-party issues before budget disappears into random optimisation work.

Start with pages that support enquiries, bookings, sales, or search traffic. Test one representative URL for each important template: a service page, campaign landing page, article, category page, and any form or product flow. A slow shared template can affect hundreds of URLs; fixing it is usually more valuable than polishing the homepage in isolation.

Read PageSpeed Insights without chasing the wrong number

PageSpeed Insights shows two forms of evidence. Lighthouse lab data is a controlled test of the URL now, so it helps diagnose a release. Field data comes from real Chrome users over a trailing 28-day period. It can lag behind a fix, fall back from URL to origin-level data, or be unavailable when traffic is too low.

Core Web Vitals are assessed at the 75th percentile. The current “good” limits are LCP at 2.5 seconds or less, INP at 200 milliseconds or less, and CLS at 0.1 or less. Lighthouse cannot directly measure INP because a synthetic load has no real interaction; use Total Blocking Time as a lab clue, then confirm INP in field data. Run mobile tests, compare the same URLs under similar conditions, and trust repeated evidence over one unusually good or bad run.

What you see Likely first suspect First practical move
Poor LCP Hero image, slow HTML, or render-blocking CSS Identify the LCP element and inspect when it is discovered, downloaded, and rendered
Poor INP or high lab TBT Long JavaScript tasks and third-party tools Remove, defer, or conditionally load scripts before adding more optimisation plugins
Poor CLS Images, embeds, banners, or fonts without reserved space Set dimensions and reserve layout space before content arrives
Slow TTFB Missing page cache, slow PHP, database work, or hosting limits Verify cache behaviour, then profile server-side work on an uncached request
A triage matrix for choosing the first investigation, not a substitute for measuring the affected template.

Fix the largest visible bottleneck first

On many WordPress sites, the LCP element is the hero image or heading. Make the hero image discoverable in the initial HTML, with a real src or srcset. Do not lazy-load it. If it is likely to be the LCP element, give it high fetch priority and include intrinsic dimensions:

<img src="/images/service-hero.webp"
     srcset="/images/service-hero-800.webp 800w, /images/service-hero.webp 1600w"
     sizes="100vw" width="1600" height="900"
     fetchpriority="high" alt="Team reviewing a WordPress performance report">

If the LCP image is hidden in a CSS background or otherwise missing from the initial HTML, preload that specific asset:

<link rel="preload" as="image" href="/images/service-hero.webp"
      type="image/webp" fetchpriority="high">

Preload is targeted, not a setting for every image. Competing high-priority resources can cancel the benefit. Compress and resize the asset, but also check the network waterfall: a small image discovered late can still produce poor LCP.

For CLS, add width and height to images, reserve space for embeds and consent banners, and avoid inserting notices above content after rendering begins. For fonts, use a sensible fallback and load only the weights the design needs.

Treat scripts and page builders as a portfolio

A visually simple Elementor or block-editor page can still load assets from the theme, builder addons, forms, chat, reviews, analytics, consent software, heatmaps, and tag management. Inventory requests by owner and page. Ask what must run before the visitor can read or act, what can wait, and what belongs only on selected templates.

Removal usually beats minification. Disable unused widgets and animation libraries, unload page-specific assets where the implementation permits it, and delay non-essential integrations without breaking consent or attribution. Test menus, forms, filters, and checkout steps after each change; INP problems often live in interactions that a load-only score cannot reproduce.

Use caching in the right order

For a mostly public WordPress site, verify full-page caching first. Confirm that anonymous repeat requests reach the intended cache layer, while logged-in, personalised, cart, and checkout responses follow the right exclusions. Persistent object caching is different: it helps database-heavy or dynamic requests by reusing results across requests, but it requires a cache service and plugin supported by the host.

A CDN can shorten delivery for distributed visitors and static media, and some services provide full-page edge caching. It will not repair a theme that generates slow HTML or ships excessive JavaScript. Diagnose origin and browser work before treating a CDN as the answer.

Keep database cleanup in the maintenance lane

Expired transients and table maintenance are legitimate housekeeping, especially on an older installation, but they rarely fix image-led LCP or script-led INP. Back up first, use staging where practical, and run database work in an appropriate maintenance window:

wp transient delete --expired
wp db optimize
wp cache flush

The first command removes expired transients; the second runs database optimisation through WP-CLI's database tooling. The cache flush is deliberately last because it clears the object cache. On WordPress multisite with persistent object caching, it will typically flush the cache for all sites and can cause a production performance hit. Use it for a known reason, not as a ritual.

Make performance part of release ownership

Keep a small benchmark set of business-critical URLs and check it after theme changes, plugin updates, new tracking, or hosting moves. Record the LCP element, major script owners, cache status, and mobile lab results before and after release. Then watch field data over the following weeks; a green lab run on launch day is evidence of a good build, not proof of the real-user outcome.

Give every new plugin or third-party widget an owner, a business purpose, and a defined set of pages. That discipline prevents a performance project from becoming a recurring cleanup exercise.

If you need someone to turn mixed PageSpeed reports, hosting advice, and agency constraints into an ordered delivery plan, Greg can review the stack, identify the highest-value fixes, and coordinate the work with your developers and marketing team. Talk to Greg about a practical WordPress performance plan.

Related on GrN.dk

  • Critical CSS for Faster Pages: When It Helps and When It Does Not
  • Why Your Website's Third-Party Stack Needs a Real Owner
  • WordPress Speculative Loading Needs a Cart, Analytics, and Cache Test

Need help with this kind of work?

Talk to Greg about WordPress performance Get in touch with Greg.

Sources

  • About PageSpeed Insights
  • Web Vitals
  • Optimize Largest Contentful Paint
  • WordPress Optimization Handbook
  • WP-CLI: wp cache flush
Last modified
2026-07-14

Tags

  • wordpress
  • PageSpeed
  • Core Web Vitals
  • website performance

Review Greg on Google

Greg Nowak Google Reviews

 

Illustrated infographic summarizing: MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
MCP Just Went Stateless: Audit the Integrations Behind Your AI Tools
2026-08-03

The 28 July 2026 MCP release removes protocol sessions and changes discovery, tasks, caching, OAuth and tracing. A practical guide to auditing the move.

Illustrated infographic summarizing: SEO Trends for 2026: What Actually Changed Since 2024
SEO Trends for 2026: What Actually Changed Since 2024
2026-08-03

A practical guide to what changed in SEO between 2024 and 2026, from AI and multimodal search to Core Web Vitals, privacy and local visibility.

Illustrated infographic summarizing: INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
INP and Green SEO Share a Backlog: Cut the Work Every Visit Repeats
2026-08-03

INP and sustainable web work often expose the same waste. Use field data, profiling, caching and performance budgets to build one practical backlog.

Illustrated infographic summarizing: AI crawler policy now has verbs: separate search, RAG, and training
AI crawler policy now has verbs: separate search, RAG, and training
2026-08-02

AI crawler rules now need separate decisions for search, RAG, and training, backed by practical testing across robots.txt, CDNs, WAFs, and CMS controls.

Illustrated infographic summarizing: WordPress Supports Old PHP; Your Production Server Shouldn’t
WordPress Supports Old PHP; Your Production Server Shouldn’t
2026-08-01

WordPress still runs on legacy PHP, but compatibility is not a security policy. Build and test your upgrade path before PHP 8.2 support ends.

Illustrated infographic summarizing: The AI-built tool your team relies on needs an owner
The AI-built tool your team relies on needs an owner
2026-07-31

AI-built internal tools can become business-critical before anyone owns them. Here is how to secure, review, monitor, and retire them without blocking useful work.

Illustrated infographic summarizing: Your AI model has an expiry date: build the migration lane now
Your AI model has an expiry date: build the migration lane now
2026-07-30

AI models retire on a schedule. Learn how to map dependencies, test replacements, release safely and preserve a working rollback route.

Illustrated infographic summarizing: Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
Copilot Has Repo-Level Metrics Now. What Should Teams Measure?
2026-07-29

GitHub’s repo-level Copilot metrics show where AI is active, but not whether it adds value. This scorecard connects usage with delivery, quality, and cost.

Illustrated infographic summarizing: Not Every AI Job Needs an Instant Answer: Batch the Backlog
Not Every AI Job Needs an Instant Answer: Batch the Backlog
2026-07-28

Move delay-tolerant AI work into dependable batch queues to cut processing costs without compromising quality, data controls, or urgent workflows.

Illustrated infographic summarizing: A stray Set-Cookie can waste your CDN: audit the cache at the edge
A stray Set-Cookie can waste your CDN: audit the cache at the edge
2026-07-27

Cloudflare Cache Response Rules can recover wasted CDN capacity, but first you need a route-level audit of public, personal and authenticated responses.

More articles
RSS feed

GrN.dk web platforms, web optimization, data analysis, data handling and logistics.