How to Improve Website Speed: Steps to Get 100/100 Lighthouse Scores
Table of Contents
TL;DR:
Getting a website to a perfect Lighthouse score is not about one trick, it is about clearing out a dozen small problems that all add up. We recently took a client site from the high 60s to 100 and the work involved image compression, font loading, script cleanup, and hosting changes.
This post walks through what actually moved the number and why a 100 score matters less than the real-world speed your visitors feel. If your site takes more than a few seconds to load, you are losing customers before they ever see what you offer.
Why a Perfect Score Is Not the Point (But It Is a Useful Target)
A 100 on Google’s Lighthouse scores looks great in a screenshot (and yes, we will admit that hitting it feels good). But the number itself does not pay your bills as a business owner. What pays your bills is a visitor who lands on your site, sees what they need in the first couple seconds, and either calls you or fills out a form. Lighthouse is a lab test: It measures your site under controlled conditions, on a fast connection, with nothing else running. Real visitors show up on a five-year-old Android phone at a red light with two bars of signal.
That said, chasing the lab score is still worth doing, because the process of getting there forces you to fix the same things that hurt your real users. Every image you compress, every font you trim, every plugin you remove helps both the Lighthouse number and the person actually browsing your site. We took on a project for a client with a bloated WordPress site that scored in the high 60s on mobile. Getting it to 100 took about three weeks of focused work, and along the way, their real-world load time dropped from just over 4s to under 1.5s.
The data backs up why this matters. According to this page speed research, e-commerce sites that load in 1s convert at roughly 3.05%, compared to 1.08% for sites that take 5s. Every extra 100ms of load time can cut conversions by about 1%. If you run a service business in Richmond and your site takes four seconds to load, a meaningful share of the people who found you through Google Ads or organic search are gone before your phone number even renders.
What Was Actually Slowing the Site Down
Before touching anything, we ran a full audit using Lighthouse in Chrome DevTools alongside PageSpeed Insights, which pulls in real user data from Google’s Chrome User Experience Report. The gap between the two told us a lot. The lab score was mediocre, but the field data (actual visitors) was worse, which meant the site was struggling more in the real world than the lab test even showed.
The biggest offenders were not surprising, but they were bigger than expected. Unoptimized images made up almost 60% of the page weight on the homepage alone, full-resolution photos uploaded straight to WordPress without compression or conversion to WebP. The site was also loading four separate font weights from Google Fonts, three plugins the client no longer used but had never deactivated, and a chat widget script that loaded before anything else on the page, blocking the browser from rendering visible content.
None of these problems are unique, they show up on the vast majority of small business websites we look at, whether it is a law firm’s WordPress site, a restaurant’s Squarespace page, or a contractor’s custom build. The fixes are not complicated either. They just take time, attention, and someone who knows what to prioritize first.
The Fixes That Actually Moved the Number
We started with images, because they almost always carry the most weight. We converted everything to WebP format, resized images to the actual dimensions they display at instead of shipping a 4000px wide photo into a 600px container, and set up lazy loading so images below the fold do not load until a visitor scrolls to them. This one change took the homepage from 4.2MB down to under 900KB.
Next came fonts. We cut the site down to the two essential branded font weights instead of four, and switched to loading them with font-display: swap, so text shows up immediately in a system font while the custom font loads in the background, rather than leaving the visitor staring at a blank screen. Small change, noticeable difference in what Lighthouse calls Largest Contentful Paint (LCP), the metric that tracks how quickly the biggest visible element on the page appears.
Then we cleaned house on added plugins and scripts. Three unused plugins were removed entirely. The chat widget was changed to load after the main page content instead of before it, since a visitor cannot chat with a widget they cannot see yet anyway. We also moved the site to hosting built for WordPress performance rather than a generic shared hosting plan, which cut server response time by more than half on its own.
The last piece was minifying CSS and JavaScript and enabling browser caching, so returning visitors do not have to reload the entire site from scratch every time they come back. None of these fixes are glamorous or display your website differently. As well, none of them involve rewriting code from the ground up. These are maintenance items that most site owners never think to check, because their web designer set the site up years ago and nobody has looked under the hood since.
Not sure how your site actually performs for real visitors?
Our web design team runs a full technical check on speed, mobile usability, and structure before recommending any fixes, so you are not guessing.
Learn More →
Lighthouse Scores vs. What Google Actually Uses to Rank You
Here is the part that trips people up: A perfect Lighthouse score does not directly move your search rankings. Google’s ranking systems rely on Core Web Vitals field data pulled from real Chrome users over a rolling 28 day window, not your lab test. The three metrics that matter are Largest Contentful Paint (how fast the main content loads, target under 2.5s), Interaction to Next Paint (how quickly the page responds when someone taps or clicks, target under 200ms), and Cumulative Layout Shift (how much the page jumps around while loading, target under 0.1). Google measures these at the 75th percentile, meaning 3/4 real visits need to hit that bar for your page to pass.
This is why we always check both numbers. A site can score 100 in the lab and still fail Core Web Vitals in the real world if a large share of its traffic comes from older phones or slower connections, which is common for local service businesses whose customers skew older or are searching from a job site rather than a home office. Getting the lab score up is the first step. Confirming the field data agrees with it is the step that actually protects your search visibility.
What This Looks Like for a Richmond Business
We see this pattern constantly with clients across the Richmond area. A real estate company with hundreds of high resolution listing photos loading unoptimized on every page. A restaurant site with an embedded reservation widget that loads a dozen third party scripts before a single menu item appears. A healthcare practice running six plugins for forms, appointment booking, and reviews, half of which duplicate functionality and slow the site down for no added benefit.
The fix is almost never “rebuild the entire website.” It is closer to a tune-up: find what is heavy, find what is unused, find what is loading in the wrong order, and correct it. For most small business sites, that work takes one to three weeks depending on how much has accumulated over the years, and the return shows up quickly in bounce rate, time on site, and ultimately in how many of those visitors turn into calls or form submissions.
If your website feels slow, or you’ve never actually checked, reach out to our team at FreshMove Media for a free exploratory meeting. We’ll run the numbers and tell you honestly what’s worth fixing and what’s not.
FAQ
How do I check my own website's Lighthouse score?
Open your site in Google Chrome, right-click anywhere on the page, and select Inspect to open DevTools. Click the Lighthouse tab, choose Mobile or Desktop, and run the report.
You can also use the free PageSpeed Insights tool at pagespeed.web.dev, which gives you both the lab score and real user field data from Google's Chrome User Experience Report if your site gets enough traffic to qualify.
Is a 100 Lighthouse score necessary, or is a lower score fine?
A perfect 100 score is not necessary for most businesses. Anything in the 90s on mobile is a strong result, and even the high 70s to 80s puts you ahead of a large share of small business websites. What matters more is whether your Core Web Vitals field data passes Google's thresholds and whether your actual visitors experience the site as fast. Chasing the last few points to hit exactly 100 has diminishing returns compared to fixing the big issues first.
How much does it cost to speed up a slow website?
It depends on what is causing the slowdown and how the site was built. Image optimization, plugin cleanup, and hosting changes are usually the least expensive fixes and often deliver the biggest improvement. A site built on an outdated theme or with years of accumulated code problems will need more involved work. We typically start with a technical audit (WQA) so you know exactly what needs attention before any money gets spent.

