Why Google cares about speed
Google wants to send people to websites that provide a good experience. A page that takes five seconds to load or shifts around while you are trying to tap a button is a bad experience. In 2021, Google started formally including user experience metrics in its ranking algorithm. These metrics are called Core Web Vitals.
For small business owners, this means your website speed and responsiveness are not just nice-to-haves. They are ranking factors. All else being equal, a faster site will outrank a slower one in Google search results. If your competitor down the street has a site that loads in one second and yours takes four, Google notices. And your potential customers notice too, because they have already hit the back button.
LCP — Largest Contentful Paint
LCP measures how long it takes for the biggest visible element on your page to fully render. This is usually your hero image, a large heading, or a background video. Google considers an LCP of 2.5 seconds or less to be good. Between 2.5 and 4 seconds needs improvement. Over 4 seconds is poor.
For a small business site, the biggest culprits behind slow LCP are unoptimized images and slow hosting. A 4MB hero image that has not been compressed will tank your LCP score regardless of how the rest of your site is built. The fix is straightforward: properly sized and compressed images served in modern formats like WebP, combined with hosting that delivers files quickly. React sites deployed to a CDN naturally excel here because the files are pre-built and served from servers geographically close to your visitors.
INP — Interaction to Next Paint
INP replaced the older First Input Delay metric in 2024. It measures how quickly your site responds when someone interacts with it, whether that is clicking a button, tapping a menu item, or typing in a form field. Google considers an INP of 200 milliseconds or less to be good.
Most small business websites have simple interactions: clicking navigation links, submitting a contact form, opening a mobile menu. These should respond almost instantly. The sites that struggle with INP are typically those loaded with heavy JavaScript from third-party plugins, chat widgets, analytics scripts, and social media embeds that compete for the browser's attention. A lean React site with minimal third-party scripts will score well on INP without any special optimization.
CLS — Cumulative Layout Shift
CLS measures how much your page layout shifts unexpectedly while it loads. You have experienced this: you start reading a paragraph and then an ad loads above it, pushing everything down. Or you go to tap a button and an image loads, moving the button just as your finger lands. That is layout shift, and it is frustrating.
Google considers a CLS score of 0.1 or less to be good. The most common causes of layout shift are images without specified dimensions, dynamically injected ads or banners, and web fonts that cause text to reflow when they finish loading. Fixing CLS means being explicit about the space elements will occupy before they load. In a React site, we define image dimensions in the code and use font loading strategies that prevent text reflow, keeping CLS at or near zero.
How to check your own scores
You can check your Core Web Vitals scores right now for free. The simplest tool is Google PageSpeed Insights at pagespeed.web.dev. Enter your URL and you will get scores for all three metrics along with specific suggestions for improvement. The scores are divided into field data, which is based on real user visits over the past 28 days, and lab data, which is a simulated test.
Another option is running Lighthouse directly in Chrome. Open your site, right-click, select Inspect, then go to the Lighthouse tab and run an audit. This gives you a performance score out of 100 along with detailed breakdowns. If your score is below 50, your site has significant performance issues. Between 50 and 89, there is room for improvement. At 90 and above, you are in good shape.
What good scores look like
A well-built small business website should target the following: LCP under 2 seconds, INP under 150 milliseconds, and CLS under 0.05. These targets are achievable for any site that is built with performance in mind from the start. The overall Lighthouse performance score should be 90 or above.
The reality is that most small business websites score between 30 and 60 on Lighthouse. WordPress sites with a handful of plugins and an unoptimized theme regularly score in the 40s. Squarespace and Wix sites typically land in the 50s to 60s. These are not bad platforms, but they were not built with performance as a primary goal. They prioritize ease of use and flexibility, which are valuable but come at a measurable performance cost.
How moss + method sites hit 90+ consistently
Performance is not something we bolt on at the end. It is a consequence of how we build. React components render only what is needed. Images are optimized at build time and served in modern formats with proper dimensions specified. We load zero unnecessary JavaScript. There are no jQuery libraries, no plugin bundles, no analytics scripts loaded before the page is even visible.
Every site we deliver is tested against Lighthouse before it goes live. If a score dips below 90, we find out why and fix it before you ever see it. This is not extra work for us. It is the natural result of choosing the right technology and building without bloat. When your site is static HTML, CSS, and JavaScript served from a CDN, achieving excellent Core Web Vitals is the default, not the exception.