Skip to main content
GrN.dk

Main navigation

  • Articles
  • 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

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: If the Facts Need JavaScript, AI Search May Miss the Full Page
If the Facts Need JavaScript, AI Search May Miss the Full Page
2026-07-14

A practical guide to finding and fixing JavaScript rendering gaps that can hide services, prices, contact details and metadata from AI search crawlers.

Illustrated infographic summarizing: Search Console Can See Social Posts—Your Reports Need a New Map
Search Console Can See Social Posts—Your Reports Need a New Map
2026-07-13

Search Console now reports how social posts perform across Google. Here’s a practical way to manage properties, permissions, baselines and exports.

Illustrated infographic summarizing: WordPress 7.0 Has an AI Client. Plugins Need Their Own Guardrails
WordPress 7.0 Has an AI Client. Plugins Need Their Own Guardrails
2026-07-12

WordPress 7.0 standardizes how plugins call AI providers, while leaving developers responsible for access control, cost limits, capability checks and graceful failures.

Illustrated infographic summarizing: Google’s AI Search toggle needs a test plan, not a gut decision
Google’s AI Search toggle needs a test plan, not a gut decision
2026-07-11

Google’s AI Search control creates a measurable publishing choice. Test visibility, traffic and leads before changing the setting across your site.

Illustrated infographic summarizing: OpenAI Is Retiring Agent Builder: Save the Workflow, Not Just Prompts
OpenAI Is Retiring Agent Builder: Save the Workflow, Not Just Prompts
2026-07-10

OpenAI retires Agent Builder on November 30, 2026. Here is what teams need to preserve, how to choose a migration path, and how to cut over safely.

Illustrated infographic summarizing: AI agents need a browser policy before they start clicking around
AI agents need a browser policy before they start clicking around
2026-07-09

Browser-using AI agents can save time, but they need clear rules before they enter CRMs, CMSs, portals, or admin tools and start taking action.

Illustrated infographic summarizing: When AI writes JSON, one bad field can break the workflow
When AI writes JSON, one bad field can break the workflow
2026-07-08

Structured AI output is useful in real workflows, but teams need schemas, validation, retries, and logs before JSON reaches production systems.

Illustrated infographic summarizing: AI search is eating the click: measure the queries before rewriting pages
AI search is eating the click: measure the queries before rewriting pages
2026-07-07

AI summaries are cutting into search clicks. Start with a practical dashboard that shows query risk, bot purpose, page value, and crawler policy.

Illustrated infographic summarizing: AI shopping visibility now depends on boring product-data plumbing
AI shopping visibility now depends on boring product-data plumbing
2026-07-07

AI-assisted shopping puts more pressure on ecommerce catalog data, feeds, schema, prices, availability, and return-policy governance.

Illustrated infographic summarizing: Drupal AI Demos Need a Permissions Rehearsal Before Launch
Drupal AI Demos Need a Permissions Rehearsal Before Launch
2026-07-07

Drupal’s July 2026 AI advisories show why agencies should test permissions, uploads, approval loops, logs, and rollback before client demos go live.

More articles
RSS feed

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