Why concrete contractor websites are slow on a phone
We ran Google Lighthouse on 103 Canadian concrete contractor homepages on its standard mobile settings. The median site took 9.6 seconds to show its main content, against Google’s good line of 2.5 seconds, and only 6% met it. Scripts and layout were mostly fine. The delay was the main photo: the first thing appeared after a median 2.8 seconds, then the page waited another 5.9 seconds for the big image. Pages under 2 MB were the fastest group by a distance.
The short version
median time for the main content to appear on a phone
Google’s good line is 2.5sof sites met Google’s good line
82% were over the 4s poor linemedian wait between the first thing appearing and the main content
The main photo is the bottleneckmedian homepage weight
Under 2 MB was the fastest groupA homeowner looking for a concrete contractor is usually outside, on a phone, often on mobile data. That is the situation we tested: Google’s own speed tool on its standard phone settings, one site at a time.
The result is blunt. The median concrete contractor homepage in Canada took 9.6 seconds to show its main content. Almost half, 48%, took longer than ten seconds. Only 6% made Google’s good line.
The good news is in the detail. These sites are not slow because of complicated code. Their layout barely moves and most of their scripts are light. They are slow because the biggest thing on the first screen, almost always a photo of finished concrete, arrives late. That is the cheapest speed problem there is to fix.
Five findings
Something shows up fast. The main thing does not.
The first text or colour appeared after a median 2.8 seconds. The main content took 5.9 seconds more. 24% of sites started inside 2.5 seconds and still finished past 4.
Code is not the main problem.
56% of sites had a Total Blocking Time of 200 milliseconds or less, Google’s good line. The median was 142 milliseconds. Only 15% were badly blocked by scripts.
Heavier pages were slower.
Sites under 2 MB had a median main-content time of 5.6 seconds. From 2 MB up it was 10.1 seconds or worse. The link between weight and delay was clear across the sample.
Not one WordPress site made the good line.
0 of 58. Custom builds (14%) and hosted builders (15%) did better, but most of those were slow too.
The layout is mostly stable.
88% of sites were in the good range for layout shift, so the page does not jump around. Only 6% were poor. This part of the job is already done.
Fix the first photo and most of the problem goes.
Resize it, compress it, and tell the browser to load it first. It is an afternoon of work, not a new website.
How slow, exactly
Largest Contentful Paint (LCP) is Google’s measure of when a page looks loaded to a person: the moment the biggest image or block of text on the first screen has appeared. Google calls 2.5 seconds or less good and anything over 4 seconds poor.
Concrete contractor homepages by main-content time on a phone
Share of 103 sites, Largest Contentful Paint, Lighthouse mobile
Every site’s main-content time
One dot per site. Sites slower than 25 seconds are drawn at 25.
The middle half of the sample ran from 5.5 to 16.1 seconds. Put simply: a typical concrete site in Canada is between two and six times slower than Google’s good line, on the device most homeowners use to find one.
Fast start, slow finish
The most useful number in this study is not how slow the pages are. It is where the time goes. Lighthouse records several moments while a page loads. Here are the medians for the whole sample:
| Moment, on a phone | Median | Google’s good line | In plain words |
|---|---|---|---|
| First Contentful Paint | 2.8s | 1.8s or less | The first text or colour appears |
| Speed Index | 5.6s | 3.4s or less | How quickly the screen fills in overall |
| Largest Contentful Paint | 9.6s | 2.5s or less | The main photo or headline is there |
| Total Blocking Time | 142ms | 200ms or less | How long scripts freeze the page |
| Page weight | 2.9 MB | No official line | Everything the phone downloads |
| Images on the homepage | 15 | No official line | Image tags in the page |
Read down the table and the story is plain. The page starts drawing in under three seconds. The scripts are light. Then the phone sits and waits, a median 5.9 seconds, for the biggest thing on the screen. On a concrete website that is nearly always the hero photo: a wide shot of a finished driveway, a stamped patio, a crew mid-pour.
That is good news for a contractor, because it means the fix is narrow. You do not need a new website to cut most of that wait. You need the first photo to be the right size, in a modern format, and loaded before anything else.
Page weight
Page weight is the total a phone has to download to show the page: HTML, images, fonts, scripts, video. The median concrete homepage weighed 2.9 MB, and the middle half ran from 1.5 MB to 5.7 MB.
Median main-content time by page weight
Seconds, Largest Contentful Paint on a phone
Share that showed the main content within 4 seconds
By page weight
The lightest group stands apart. Sites under 2 MB had a median of 5.6 seconds and a third of them showed their main content within four seconds. Above 2 MB, the medians jump to 10.1 seconds and beyond. Across all sites, heavier pages tended to be slower pages: the rank correlation between weight and main-content time was 0.56, which is a clear relationship in data like this.
The heavier groups do not line up perfectly. A few heavy pages were quick because they load the hero first and the rest later, and a few light pages were slow because of a slow server. Weight is not the only cause, but it is the easiest one to see and the easiest to fix.
Does the platform matter?
We recorded what each site was built on. The groups are small, so treat this as a pattern rather than a verdict on any one platform.
| Built on | Sites | Median main-content time | Median Lighthouse score | Median weight | Met the good line |
|---|---|---|---|---|---|
| WordPress with Elementor | 32 | 10.9s | 63/100 | 3.0 MB | 0% |
| WordPress, other build | 26 | 12.9s | 50/100 | 4.5 MB | 0% |
| Custom or unidentified | 21 | 5.9s | 73/100 | 1.6 MB | 14% |
| Other hosted builders | 13 | 5.9s | 66/100 | 3.9 MB | 15% |
| Wix | 11 | 7.1s | 70/100 | 2.3 MB | 9% |
Median main-content time by platform
Seconds on a phone. Lower is better
WordPress runs most concrete websites in Canada, and in this sample it was the slowest group. WordPress built with the Elementor page builder had a median of 10.9 seconds, and other WordPress builds 12.9 seconds, with the heaviest pages of any group at 4.5 MB. Custom and unidentified builds were the lightest, at 1.6 MB, and the quickest.
That does not mean WordPress cannot be fast. It can, and many fast sites on the wider web run on it. It means the typical WordPress concrete site carries a theme, a page builder, a slider and a stack of plugins, and nobody went back to trim them. The Wix sites tell a similar story from the other direction: reasonably quick as a group, but the lowest median overall score (45 out of 100), because speed is only one part of what a homeowner needs.
What the delay is made of
Google’s guidance breaks the main-content time into four parts: the server answering, the wait before the browser starts fetching the main image, the time to download it, and the time to draw it. On most concrete sites the last three are where the seconds go.
Never lazy-load your LCP image.
web.dev, Optimize Largest Contentful Paint, Google
Here is what that looks like on a real concrete homepage:
- The wait before the fetch. Sliders and page builders often add the hero photo with a script, or mark it to load “lazily”, so the browser does not find it until late. Google’s own guidance is that the main image should be visible in the page code and never lazy-loaded.
- The download. A photo straight off a phone can be 4,000 pixels wide and several megabytes. A phone screen needs about 800 to 1,200 pixels of it. The extra weight is pure waiting.
- The draw. Fancy fonts, fade-in animations and sliders that wait for a script before showing the first slide all hold the finished picture back.
What it costs a concrete company
We did not measure what happens to leads when a page is slow, and we are not going to borrow a statistic from someone who sells speed tools. But the chain is easy to follow. The homeowner taps your listing or your ad. For five, ten or fifteen seconds they are looking at a half-drawn page. The three other concrete companies they tapped are sitting in other tabs.
Two numbers from our wider audit show the knock-on effect. The median overall score of the sites that showed their main content within 4 seconds was 63 out of 100, against 53 for the slower ones. Part of that gap is built in, because speed is 20 of the 100 points. The rest is that sites someone looked after for speed tended to be looked after in other ways too.
If you pay for Google Ads, a slow page has a direct cost as well. Google judges the page an ad sends people to, and our study of the concrete sites carrying a Google Ads tag found they were no faster than the rest.
The fix list, in order
Most of this is a one-time job. Do it in this order, because the first three steps usually recover most of the time.
Resize the hero photo
Export it at about 1,600 pixels wide for desktop and a smaller copy around 800 for phones. Serve the smaller one to phones.
Use a modern format
Save photos as WebP or AVIF instead of large JPEGs or PNGs. The same picture is usually a fraction of the size.
Load it first
Put the hero image in the page code, remove any lazy-loading from it, and mark it as high priority.
Cut what it waits for
Replace the slider with one strong photo, trim unused plugins and fonts, and switch on caching at your host.
Then look at the rest of the page. Photos further down can and should load lazily. Video belongs behind a play button, not on autoplay in the hero. Chat widgets and review carousels can load after the page is up. And every photo in your gallery should be resized before it is uploaded, not after.
If you do this yourself, measure before and after. If you would rather not, it is part of every website we build, and the Foundation Package includes it for an existing site you are keeping.
How to test your own site in five minutes
- Go to PageSpeed Insights and paste your homepage address.
- Read the Mobile tab, not Desktop. That is how your customers see you.
- Find Largest Contentful Paint. Under 2.5 seconds is good. Over 4 is poor.
- Scroll to the diagnostics and look for the line that names your Largest Contentful Paint element. On a concrete site it is almost always your hero photo.
- Run it two or three times. Lab numbers move a little between runs, so take the middle one.
If you see field data from real visitors at the top of the report, trust that over the lab numbers. Many smaller sites do not have enough traffic for it, which is why this study uses lab data for everyone.
How we measured this
The sample
This is the same sample as our State of Concrete Contractor Websites 2026 report. For each of ten Canadian cities we searched for concrete contractors the way a homeowner would and kept the contractors’ own websites, removing directories, lead platforms, suppliers, companies outside Canada and our own clients. 103 homepages returned a usable speed result.
The test
Each homepage was run through Google Lighthouse 13.5.0 on its default mobile settings, which emulate a mid-range phone on a throttled mobile connection. Sites were run one at a time from the same machine so they were measured under the same conditions. We recorded First Contentful Paint, Speed Index, Largest Contentful Paint, Total Blocking Time, Cumulative Layout Shift and the total bytes downloaded. The platform and page builder were read from the page code.
The analysis
All figures are medians unless stated, because a few very slow sites would distort an average. The relationship between page weight and main-content time is a Spearman rank correlation, which asks whether heavier pages tend to be slower without assuming a straight line.
What this does not measure
It is one lab run per homepage. Lighthouse numbers vary between runs, and real visitors on fast Wi-Fi will see faster pages than the test. It measures homepages only. It does not measure what slow pages cost in leads, and we do not claim it does. None of this changes the pattern, which is why no site is named.
Citing this study
Concrete Marketing (2026). Why Concrete Contractor Websites Are Slow on a Phone. 103 Canadian homepages measured with Google Lighthouse. https://concretemarketing.ca/blog/why-concrete-contractor-websites-are-slow/
Glossary
- Largest Contentful Paint (LCP)
- When the biggest image or block of text on the first screen has appeared. Good is 2.5 seconds or less.
- First Contentful Paint (FCP)
- When the first text or image appears at all.
- Speed Index
- How quickly the visible part of the page fills in, as a whole.
- Total Blocking Time (TBT)
- How long scripts stop the page from responding to a tap while it loads.
- Cumulative Layout Shift (CLS)
- How much things jump around as the page loads. Under 0.1 is good.
- Lazy loading
- Telling the browser to wait before loading an image until it is about to scroll into view. Good for photos lower down, bad for the first one.
- WebP and AVIF
- Modern image formats that hold the same picture in far fewer bytes than JPEG or PNG.
Questions
How fast should a concrete contractor website load on a phone?
Google’s good line for Largest Contentful Paint, the moment the main photo or headline appears, is 2.5 seconds or less. Over 4 seconds is poor. In our sample of 103 concrete contractor sites, 6% were good and 82% were poor.
Why is my concrete website slow when it looks simple?
Usually because of one big photo. Most concrete sites open with a large hero image of a finished driveway or patio, often uploaded straight from a camera or phone. In our data, the first thing on the page appeared after a median 2.8 seconds, but the main image took a median 5.9 seconds longer. Scripts were not usually the problem: 56% of sites had a Total Blocking Time of 200 milliseconds or less.
Is WordPress slow for contractors?
WordPress is not slow by itself, but none of the 58 WordPress sites in our sample reached Google’s good speed line on a phone. The sites on custom builds and hosted builders did better as groups, but most of them were still slow. What mattered more was page weight and how the main image was handled.
Does page speed affect Google rankings?
Google says page experience, which includes Core Web Vitals such as Largest Contentful Paint, is one of many things its ranking systems look at, and that relevant content matters more. Speed is rarely what decides a ranking on its own. It decides more often what the homeowner does after the click.
What is a good page size for a contractor website?
There is no official number, but in our data the sites under 2 MB had a median main-content time of 5.6 seconds, against 10.1 seconds for 2 to 4 MB and 16.3 seconds for 4 to 8 MB. Under 2 MB is a sensible target for a homepage.
How do I check my own website speed?
Open PageSpeed Insights, paste your homepage address and read the mobile result. Look at Largest Contentful Paint first. If it is over 4 seconds, look at the largest image on your first screen before you touch anything else.


