Home › Guides › Website speed

Website · How-to

Contractor website speed: how to make your site fast on a phone

Test your homepage and top service page on PageSpeed Insights’ mobile tab and aim for Google’s “good” marks: the main content in 2.5 seconds or less, taps answered in 200 milliseconds or less, and almost no jumping around. On contractor sites the usual fixes are smaller photos, no slider, chat and video that load on click, and fewer third-party scripts. If pages are still slow, look at hosting.

By Eric Smith, founder of Outfitter AI and a former general contractor · Prices checked October 4, 2026

Written by Outfitter AI, which sells websites for trade businesses; the tests and fixes here work on any platform.

Why phone speed is the one that counts

Picture who’s loading your site: a homeowner standing in a wet basement, one bar of signal, thumb on the screen. StatCounter’s figures for September 2026 put phones at 49.1% of U.S. web traffic, with desktops at 48.47% and tablets at 2.42% [8]. For an emergency trade, your share of phone visitors is likely higher than that national split, and your own analytics will tell you.

Slow pages lose those people. Google’s research with SOASTA found that as a mobile page’s load time goes from one second to ten, the chance a visitor leaves rises 123% [7]. You don’t need a perfect score. You need a page that shows your phone number, your service and a photo before the visitor gives up.

Before touching any settings, decide what the top of a phone screen must show without scrolling. That’s the part speed work protects:

If those load quickly and stay put, a roofer’s storm-season visitor or a plumber’s midnight caller can act even before the rest of the page finishes.

The numbers Google uses: Core Web Vitals

Google measures page experience with three Core Web Vitals. In plain terms: how fast the main thing shows up, how quickly the page reacts when tapped, and whether stuff jumps around while it loads.

MetricWhat it means on your siteGoodNeeds workPoor
Largest Contentful Paint (LCP)When your big hero photo or headline appears2.5 s or less2.5–4 sOver 4 s
Interaction to Next Paint (INP)How long after tapping “Call” or a menu before anything happens200 ms or less200–500 msOver 500 ms
Cumulative Layout Shift (CLS)Whether the page jumps as images and banners load in0.1 or less0.1–0.25Over 0.25

Thresholds from web.dev and PageSpeed Insights [1] [2]. Google grades a page by the 75th percentile of real visits: if at least three out of four page views hit the “good” number, the page passes that metric [1].

One more number worth knowing because it’s mostly about your hosting: Time to First Byte, the wait before your server starts sending anything. web.dev calls 0.8 seconds or less good and over 1.8 seconds poor [6].

How to test your site with PageSpeed Insights

  1. Go to pagespeed.web.dev and paste in your homepage address. Then test your busiest service page too; it’s often where ad and search visitors land.
  2. Stay on the Mobile tab. PageSpeed Insights reports phones and desktops separately [2]. Desktop results almost always look better and tell you less.
  3. Read the top section first: real-user data. This comes from the Chrome User Experience Report and covers the previous 28 days of real Chrome visitors [2]. If your site is small, this section may be missing or only show your whole domain. That’s normal.
  4. Then the lab test. The score from 0 to 100 is a simulated load run by Lighthouse. 90 or above is good, 50 to 89 needs improvement, below 50 is poor [2]. It changes a little each run, so test three times and look at the middle result.
  5. Scroll to the diagnostics. Look for the largest items: oversized images, “reduce unused JavaScript,” and third-party code. Those point straight at the fixes below.
  6. Write the numbers down. LCP, INP or Total Blocking Time, CLS, and the score, with the date. Re-test after each change so you know what actually helped.

The usual culprits on contractor sites, and the fixes

Work through these in order; the first two fix most contractor sites.

1. Giant photos

A 6 MB phone photo used as a 400-pixel thumbnail is a very common problem. Resize before uploading and use WebP where your builder allows it. Give every image a width and height so the page holds space for it and doesn’t jump [3]. Use lazy loading for photos further down the page, but not for the hero image at the top: web.dev advises loading images that are visible right away, especially the LCP image, normally [3]. Our guide to contractor website photos covers sizing and naming.

2. Hero sliders

A rotating banner of five huge photos makes the browser fetch several big images before it can show anything settled, and the motion can cause layout shifts. Replace it with one strong job photo, your headline, and a tap-to-call button. Nobody waits for slide four.

3. Chat widgets

Live chat bubbles often load a large chunk of code on every page, for every visitor, whether anyone chats or not. Google’s Lighthouse documentation suggests a “facade”: a lightweight lookalike button that loads the real chat only when someone clicks it, and lists chat tools such as Intercom, Drift, Help Scout and Facebook Messenger among the candidates [5]. Or ask yourself whether the widget brings in leads at all; for many home-service shops, a big phone number and a short form do the job.

4. Video embeds

An embedded YouTube video loads its player even if nobody presses play. The same facade idea works here, with lightweight embed options for YouTube and Vimeo [5]. Or link to the video instead of embedding it on the homepage.

5. Pile-ups of third-party scripts

Tracking pixels, review widgets, heat maps, old ad tags from a campaign two years ago. web.dev’s advice is simple: if a script doesn’t add clear value, remove it, and load the rest with async or defer so they don’t hold up the page [4].

6. Pop-ups and late banners

A coupon pop-up that slides in after the page loads pushes content around and annoys people mid-tap. If you want an offer on the page, put it in the layout from the start.

A one-hour script audit

Make a list of everything your site loads that you didn’t write yourself. Your web person can export it, or you can read the “third-party” section of the PageSpeed report. Then fill in a sheet like this example:

Add-on (example)Still used?Brings leads or data you look at?Action
Google AnalyticsYesYes, checked monthlyKeep, load async
Old ad tracking pixel from 2023NoNoRemove
Live chat widgetYesTwo chats last quarterLoad on click, or remove
Reviews carousel widgetYesUnclearReplace with a few reviews typed into the page
Heat-map toolNo one logs inNoRemove
Homepage YouTube embedYesSome viewsSwap for a lightweight embed or a link

Remove one item at a time and re-test, so you can tell which change helped and nothing breaks quietly. Before you delete any tracking code, check whether your ads or call tracking depend on it.

Hosting: when the problem is the server

If your Time to First Byte is consistently slow even on a simple page, no amount of image work will fix it. Signs it’s the host: the first byte takes well over a second in the PageSpeed diagnostics, the site is slow at all hours, and pages with almost nothing on them are still slow.

Website builder

Hosting, security certificates and caching are handled for you. Speed mostly depends on what you add to the page. For a 1–25 person shop this is usually the least work. Compare options in our website builder guide.

WordPress on cheap shared hosting

Flexible, but often slow out of the box. You’ll want a caching plugin, an image optimizer, a lean theme, and a host with decent server response times. Watch plugin count; each one can add code.

Agency-managed site

Ask them for your PageSpeed mobile results and a list of every script on the site. Ask who owns the hosting account and the domain.

Content delivery network (CDN)

Stores copies of your pages and images closer to visitors. Many builders and hosts include one; for WordPress it’s often a setting with your host.

If you’re pricing a rebuild, what a contractor website costs lays out the ranges.

Keep it fast: a monthly ten-minute check

Speed is one piece. A fast page still needs clear copy and an easy way to reach you; see quote request forms that convert and the full contractor website guide.

Common questions

What is a good PageSpeed Insights score for a contractor website?
Google labels 90 to 100 good, 50 to 89 needs improvement and below 50 poor. For a small business site, focus less on the score and more on the Core Web Vitals: LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less on mobile.
Why is my website so slow on phones but fine on my computer?
Phones have slower processors and often weaker connections, and PageSpeed Insights simulates that on its mobile test. Oversized photos, sliders, chat widgets and extra scripts hurt far more on a phone than on an office computer.
Does website speed affect Google rankings?
Speed is one of many things Google looks at, and it won't make up for a page that doesn't answer the searcher's question. The bigger reason to fix speed is people: Google's research found the chance a mobile visitor leaves rises 123% as load time goes from one second to ten.
Do chat widgets slow down a website?
Often, yes, because many load a lot of code on every page for every visitor. Google's Lighthouse documentation suggests loading the real chat only when someone clicks a lightweight lookalike button. Or check whether the widget brings in enough leads to keep.
What is Time to First Byte and why does it matter?
It's how long the browser waits before your server starts sending the page. web.dev calls 0.8 seconds or less good and over 1.8 seconds poor. A consistently slow first byte usually points to hosting rather than anything on the page.
Should I remove the slider from my homepage?
In most cases, yes. A rotating banner loads several large images before the page settles. One strong job photo with your headline and a tap-to-call button loads faster and gets your message across in one look.
Why doesn't PageSpeed Insights show real-user data for my site?
The real-user section comes from Chrome's usage data over the past 28 days, and smaller sites may not have enough visits to show page-level results. Use the lab test and your own phone checks in the meantime.

Rather not think about hosting?

Outfitter’s no-cost starter site takes about five minutes to build and runs at getoutfitter.ai/site/your-name with a small banner; edits happen by texting the AI assistant. Professional at $79 a month includes hosting and SSL, the web address of your choice, no banner, your logo and images, and automated Google review requests and posts. It’s free for 30 days and there’s no contract.

See how the website works

Sources and how we compared

Thresholds and how they’re measured come from web.dev and Google’s PageSpeed Insights documentation; fixes from web.dev and Chrome’s Lighthouse docs; the bounce figure from Think with Google and the device split from StatCounter; all opened October 4, 2026, and the script-audit sheet is an example.

  1. web.dev: How the Core Web Vitals metrics thresholds were defined — last updated May 2025
  2. Google for Developers: About PageSpeed Insights
  3. web.dev: Browser-level image lazy loading for the web
  4. web.dev: Load third-party JavaScript
  5. Chrome for Developers: Lazy load third-party resources with facades (Lighthouse) — audit retired in Lighthouse 13; advice still applies
  6. web.dev: Time to First Byte (TTFB)
  7. Think with Google: Find out how you stack up to new industry benchmarks for mobile page speed (Daniel An) — Google/SOASTA research, 2017
  8. StatCounter: Desktop vs mobile vs tablet market share, United States — September 2026

Last updated October 4, 2026. Prices change; if something here is out of date, call or text (507) 628-0400 and we’ll fix it.