DEV Community

Magrify
Magrify

Posted on

Getting a real small-business site to sub-2-second loads on Cloudflare Pages

Last week I took a production small-business site from sluggish to consistently under two seconds. No framework swap, no rewrite. Just the unglamorous work most checklists skip. Here is exactly what moved the needle.

RV park websites are the perfect example of why this matters: half your visitors are browsing on campground wifi or a rural connection, deciding whether to hand you money. That is the audience to optimize for.

Start by measuring the right thing

Lighthouse in your fast office wifi lies to you. Throttle to a mid-tier phone on a slow 4G connection and measure that. Your customers are on campground wifi and rural connections. That is the number that matters.

Images were 80% of the problem

The usual story: a 4MB hero JPEG, a dozen uncompressed gallery photos, no dimensions set so the whole page jumped while loading. The fixes:

  • Convert everything to WebP. Same visual quality, roughly a third of the bytes.
  • Serve responsive sizes. A phone does not need the 2400px version.
  • Set width and height on every image so the layout does not shift while they load. Layout shift is a ranking factor and it feels broken to visitors.
  • Lazy-load everything below the fold. The browser should not download the footer gallery before the headline renders.

Kill the render-blocking chain

Two render-blocking stylesheets and a synchronous analytics snippet were holding up first paint. Defer the analytics, inline the critical CSS for above-the-fold content, and load the rest asynchronously. This one change took almost a second off the throttled load time.

One H1, real meta descriptions, no redirect chains

While I was in there: every page got exactly one H1, a written-by-a-human meta description, and canonical tags. I also found redirect chains three hops deep from an old site migration. Each hop is a round trip your visitor pays for. Flatten them.

Static first, then hydrate

The site is on Cloudflare Pages, so pages are static HTML at the edge. Anything interactive loads after the content is already readable. If your stack renders everything client-side, consider what the visitor sees in the first second with JavaScript disabled. That is your real baseline.

What it cost

About a day of focused work, no new services, no paid tools. WebPageTest before and after on the throttled profile told the whole story. The lesson I keep relearning: performance problems on small-business sites are almost never exotic. They are big images, blocking scripts, and nobody measuring on a slow connection.


Magrify builds fast, booking-ready RV park websites and SEO for RV parks, campgrounds, and property businesses.

Top comments (0)