ExperimentsSite speed
Sending the hero image preload as a server header cut load time by about a second
In short
The preload tag sat deep in a heavy page head, so the browser found it late. Sending it before the page fixed that.
What I did
On a restaurant client's homepage, the main image was already set to preload, but the tag sat inside a 72 KB page head. The browser only found it after reading most of that, which delayed the image by about 1.7 seconds. I sent the same preload as an HTTP Link header, which the browser receives before the page itself.
Where
A restaurant website, May 2026
What changed
Largest contentful paint went from 5.0 seconds to about 3.9 to 4.2. Together with a font-display fix made the same afternoon, the mobile score went from 71 to 75. It could not go further, because the page itself is heavy: 232 KB of HTML, including 72 KB of inline page-builder CSS.
Did it work
It worked
What you should do
If your hero image is preloaded but still loads late, check where the preload tag sits. Moving it into a response header can help.
How long it took
About two hours
Largest contentful paint is the time until the biggest element, usually the hero image, appears. A preload tells the browser to fetch something early.
Why it matters
A preload only helps if the browser sees it early. Inside a very long page head, it is found late. A header arrives first, so the image starts downloading at once.
The remaining limit was the page weight. Page builders often put large blocks of CSS into every page, and that has to download before anything shows.
How to check your own site
- In PageSpeed Insights, open the LCP breakdown and look at the load delay.
- Check the size of your page HTML. Above 100 KB, look for inline CSS you can move out.
At a glance
5.0 to about 4.0 slargest contentful paint
71 to 75mobile score, with a font fix the same afternoon
232 KBHTML that still limits it
| Status | Done |
|---|---|
| Hypothesis | Sending the image preload as an HTTP header will start the hero image earlier. |
| Started | 2026-05-30 |
| Measured by | Largest contentful paint and mobile score |
What this changed in how I work
Where a fix sits matters as much as the fix. And the image can never load faster than the page around it.
End of Lab entry No. 038
- No WordPress speed setting could fix the homepage, because it was a JavaScript app8 Nov 2026
- The biggest speed win was hidden icon and font files that my caching plugin did not touchIt worked24 Oct 2026
- Moving jQuery to the footer made the page paint faster, then broke its layoutIt backfired23 Oct 2026
