← Back to Blog Blog

Why Your Contractor Website Is Slow (And Losing You Calls)

By Jakob Merkel · 12 min read

Your contractor website is slow. You might not feel it on your desktop at the office with a fast internet connection. But your customers feel it. They're on their phone, standing in a flooded kitchen or sweating through a broken AC, and your site takes 5 seconds to load.

They don't wait. They hit the back button and call whoever loads next.

Every second of load time costs you calls. That's not an opinion. Google's own research shows that as page load time goes from 1 second to 3 seconds, the probability of a visitor bouncing increases by 32%. From 1 to 5 seconds, it increases by 90%.

Let's look at exactly what's making your site slow and what to do about each problem.

Problem 1: Unoptimized Images

This is the number one speed killer on contractor websites. And it makes sense why. You took photos of your work on your phone, uploaded them directly to your website, and moved on. That's what most contractors do.

The problem is your phone takes photos at 4-12 megabytes each. A single page with 6 photos from your phone is asking the visitor's browser to download 24-72 megabytes of image data. On a typical mobile connection, that takes 10-20 seconds. Your visitor left after 3.

The Fix

Every image on your website should be:

A typical contractor homepage has 1-3MB of unoptimized images. After resizing, compressing, and converting to WebP, that drops to 150-400KB. That's a 75-90% reduction in data the visitor's browser needs to download. The page goes from 5 seconds to under 2.

Problem 2: Too Many Plugins

If your site runs on WordPress (and a lot of contractor sites do), plugins are probably your second biggest speed problem.

Every plugin adds code that runs when your page loads. Some add JavaScript. Some add CSS. Some make additional requests to external servers. A WordPress site with 20 plugins might be making 40-60 separate requests just to load the homepage. Each request takes time.

Common offenders on contractor sites:

The Fix

Go to your WordPress plugins page. For every plugin, ask: "Does this directly help a visitor call me?" If the answer is no, consider removing it.

A lean WordPress site needs about 8-12 plugins. If you're running 25+, you almost certainly have redundant plugins, abandoned plugins that haven't been updated in years, and plugins you installed once to solve a problem and forgot about.

Deactivate plugins one at a time and test your site speed after each removal. You'll be surprised how much speed you gain from removing plugins you forgot you had.

Problem 3: Bad Hosting

Hosting is the foundation your website sits on. Cheap hosting means a slow foundation. And most contractor websites are on the cheapest hosting available.

Here's how hosting affects speed. When someone visits your website, their browser sends a request to your hosting server. The server processes the request, builds the page, and sends it back. The time it takes for the server to respond is called Time to First Byte (TTFB). On cheap shared hosting, TTFB can be 800ms-2 seconds. On good hosting, it's under 200ms.

That means before a single image loads, before a single line of CSS renders, your visitor has already waited 1-2 seconds just for the server to respond. On a phone with a mediocre cell connection, add another second or two for network latency. You're at 3-4 seconds and the page hasn't even started rendering yet.

Shared Hosting vs. Everything Else

Most budget hosting plans ($3-10/month from GoDaddy, Bluehost, HostGator, etc.) are shared hosting. Your website shares a server with hundreds or thousands of other websites. When someone else's site gets a traffic spike, your site slows down. When the server is busy, your site waits in line.

The alternatives:

The difference between $5/month hosting and $30/month hosting can mean 1-2 seconds faster load times. For a contractor whose average job is $350, those 1-2 seconds are worth thousands per month in calls you're currently losing.

Problem 4: Render-Blocking Scripts

When your browser loads a webpage, it reads the HTML from top to bottom. When it hits a JavaScript file or a CSS file, it stops rendering the page until that file downloads and processes. These are called render-blocking resources.

A typical contractor website has 5-15 render-blocking scripts. Google Fonts, jQuery, your theme's CSS, your page builder's CSS, analytics scripts, and whatever else got added over time. Each one pauses the page render for a fraction of a second. They add up fast.

The Fix

Problem 5: No Caching

Without caching, your server rebuilds every page from scratch every time someone visits. It queries the database, processes the PHP code, assembles the HTML, and sends it to the browser. This takes 500ms-2 seconds on WordPress.

With caching, the server builds the page once and saves the result. The next visitor gets the pre-built page instantly. Server response time drops from 1 second to 50 milliseconds.

The Fix

If you're on WordPress, install a caching plugin. WP Rocket ($49/year) is the best option for people who don't want to fiddle with settings. It handles page caching, browser caching, CSS/JS minification, and lazy loading in one plugin. LiteSpeed Cache is free and excellent if your host runs LiteSpeed servers.

If you're on a managed WordPress host like Kinsta or Cloudways, caching is built in at the server level. You don't need a plugin.

For any hosting setup, add a CDN (Content Delivery Network). Cloudflare offers a free plan that caches your site's static files on servers around the world. When a visitor in Miami loads your site, they get files from Cloudflare's Miami server instead of your origin server in Dallas. That cuts latency by 50-200ms per request.

Problem 6: Too Many HTTP Requests

Every file your page needs - every image, CSS file, JavaScript file, font file, icon - is a separate HTTP request. A typical contractor website makes 50-100 requests to load the homepage. Each request has overhead: DNS lookup, connection, SSL handshake, data transfer. Even on fast connections, 80 requests take time.

The Fix

How to Test Your Speed

Go to Google PageSpeed Insights and enter your website URL. Run the test on mobile (that's what matters - over 70% of your visitors are on mobile).

Here's what the scores mean:

Pay special attention to three metrics:

The Speed-to-Calls Connection

Let's put real numbers on this. Say your contractor website gets 600 visitors per month from Google (organic and ads combined). Your site takes 5 seconds to load on mobile.

At 5 seconds, roughly 38% of those visitors leave before the page even finishes loading. That's 228 people gone. Of the 372 who stay, maybe 3% call you. That's about 11 calls per month.

Now fix the speed to 2 seconds. Your bounce rate drops to about 9%. Now 546 people see your site. At 3% conversion, that's 16 calls per month. And because a faster site feels more professional and trustworthy, your conversion rate probably climbs to 4-5%. Call that 22-27 calls per month.

That's 11 to 22 calls per month. Double the calls from the same traffic. If your average job is $350 and you close half of those calls, that's an extra $1,925 per month in revenue. From fixing your load time.

Speed isn't a tech detail. It's a revenue multiplier.

The Priority List

If your site is slow, fix these things in this order. Each step gives you the most speed gain for the least effort:

  1. Compress and resize images. Biggest speed gain, easiest fix. Use Squoosh.app or ShortPixel. Takes an afternoon.
  2. Install a caching plugin. WP Rocket or LiteSpeed Cache. 15 minutes to set up. Immediate improvement.
  3. Add Cloudflare CDN. Free plan. 20 minutes to set up. Reduces latency for every visitor.
  4. Remove unused plugins. Audit your plugin list. Deactivate and delete anything you don't need. An hour of work.
  5. Upgrade hosting. Move from shared hosting to managed WordPress hosting. Takes 1-2 hours with a migration plugin. Biggest infrastructure improvement you can make.
  6. Defer render-blocking scripts. More technical. May need a developer. But eliminates the biggest rendering bottleneck.

Steps 1-3 alone will cut most contractor websites from 5+ seconds to under 3 seconds. Steps 4-6 get you under 2 seconds. The whole process can be done in a weekend if you're hands-on, or in a day if you hire someone who knows what they're doing.

Your website's speed is the first impression your business makes. Before a homeowner reads your copy, sees your reviews, or finds your phone number, they're waiting for the page to load. Make sure they don't have to wait long.

How fast is your site?

Find Out What Your Website Is Costing You

Free site review. We'll test your speed, check your conversion setup, and show you exactly how many calls you're losing to a slow site.

Call Now - Free Consultation