Your website is quick on your office wifi. That number is close to meaningless. The measurement that matters is how it behaves on a phone at the far end of a platform at Atlantic Avenue, and it is usually a much worse number.
Where New Yorkers actually load your site
Think about when someone looks you up. Between stops on the way home. In an elevator with one bar. In a brownstone basement while the boiler makes a noise nobody likes. On Fifth Avenue at 6pm where thousands of phones are fighting over the same tower.
Every one of those is a bad connection. Most sites are tested on fiber in a quiet office by someone who already knows the site works, which is the least realistic condition available.
Three things that make almost all of the difference
Speed work has a long tail of small optimizations, but the first three items account for most of the result on a typical small business site.
- Images. Uploading straight from a phone means 3 to 5 MB per photo. Resized and compressed properly, the same image is 80 to 200 KB and looks identical on a screen.
- Unused code. Themes and plugins ship libraries your site never calls. On a hand coded site there is nothing to remove because nothing extra was added.
- Fonts. Four families in six weights each is 400 KB of downloads before a word appears. Two families, preloaded, with a sensible fallback stack, covers almost every design.
Fix those three and a 4 MB page routinely comes down under 600 KB. That is the difference between a page appearing between stops and a page that never finishes.
What to measure and what to ignore
Largest Contentful Paint is the one to watch, because it approximates when the visitor sees something useful. Under 2.5 seconds on mobile is the target. Total page weight is the other number worth tracking, and under 1 MB is a good line to hold.
The overall PageSpeed score out of 100 gets far too much attention. It is a rough summary and it moves around between runs. A site scoring 78 with a 1.9 second LCP is doing better by your customers than one scoring 94 on a page nobody can read.
Test it the honest way
Take your phone off wifi. Walk down to your basement, or into a stairwell, or onto a platform. Load your own homepage and count. Then try to submit your own contact form.
Most owners have never done this on their own site, and it is frequently the moment the problem becomes obvious. If it takes more than four or five seconds, you are losing people who were ready to book.
Why we build the way we do
This is most of the reason every site we make is hand coded. There is no framework runtime, no builder, and no plugin stack, so the only thing the browser downloads is your actual site. Pages typically land between 300 and 600 KB and render their first screen in under two seconds on a middling connection.
It is also why hosting is included rather than left to you. Cheap shared hosting can add half a second of server response time on its own, which undoes a good chunk of the work. If you want us to check what your current site does on a real mobile connection, send it over.