How to measure properly
PageSpeed Insights (mobile) and time to first byte are the two figures to watch. A TTFB above 1 second points to a server problem or missing cache; an LCP above 2.5 seconds points to images or scripts. Measure three times, at different times of day, on the home page and on a product or service page.
Page caching: the biggest gain
Without a cache, every visitor makes the server run WordPress from scratch. With a cache (LiteSpeed Cache, WP Rocket or server-level caching), the page is served as a static file in a few tens of milliseconds. A “Cache-Control: no-store” header on a brochure website is a sign that caching is missing.
Images: format, size, lazy-loading
A 4,000-pixel photo displayed at 400 pixels is not “optimised” just because it is WebP. It needs to be resized to its real display size, compressed and loaded only when it scrolls into view (lazy-loading). A shop with 200 images on its home page and no lazy-loading cannot be fast.
External scripts
Facebook Pixel, Tag Manager, chat widgets, Mailchimp, Pinterest, maps: each one adds hundreds of KB and execution time on a phone. Keep what earns money (conversion tracking), defer the rest and remove whatever nobody uses any more.
Hosting and the DOM
On overloaded shared hosting, even caching cannot rescue the traffic peaks. And a page with 5,000–6,000 HTML elements (product listings with 100 cards, mega menus) is slow to render whatever the server. Here the fix is structural: fewer elements per page, pagination, simpler menus.