Why Your Roofing Website Images Are Killing Your Load Time
Unoptimized images are the #1 speed killer on roofing sites. A single phone photo can be 8 MB. WebP cuts that to 80 KB with zero visible quality loss.
A roofing company in Fort Worth uploads 25 photos from a completed re-roof. Each photo is straight from the crew’s iPhone — 4-6 MB apiece. The gallery page now weighs 125 MB. A homeowner clicks “Our Work” from her phone on a 4G connection. The page tries to load 125 megabytes of images. After 8 seconds of a blank screen, she closes the tab.
That gallery — the company’s best marketing asset, the visual proof that builds trust and closes jobs — just drove away a customer.
When we audited 1,409 roofing company websites across Texas, Florida, and Georgia, unoptimized images were the single most common performance problem. Photos uploaded at full camera resolution, without compression, without modern formats, without lazy loading. The result: pages that should load in 2 seconds take 6, 8, or 12 seconds instead. And at $187 per Google Ads click, every extra second of load time has a price tag.
Why Roofing Websites Have an Image Problem
Roofing is a visual trade. Unlike accounting or legal services, a roofing company needs photos to sell its work. Before-and-after shots, storm damage galleries, drone aerials, crew photos, completed projects — these images build trust in a way that text alone cannot.
The problem isn’t the photos. The problem is how they’re handled.
Most roofing companies upload photos directly from their phone or camera without any processing. A modern smartphone photo is 3,000-4,000 pixels wide and 3-8 MB in file size. A DSLR photo can be 6,000+ pixels and 10-20 MB. These files contain far more resolution and data than a web page needs.
A photo displayed at 800 pixels wide on a webpage — which is the typical display size on a desktop monitor — doesn’t need to be 4,000 pixels wide. Sending all that extra resolution to the browser is like shipping a pallet of bricks when you only need three. The browser has to download all of it before it can show anything.
Multiply this by the 15-30 images on a typical roofing gallery page, and you have a page that weighs 50-150 MB when it should weigh 2-3 MB.
The Three Image Formats That Matter in 2026
Not all image formats are equal. The format you save your photos in determines how large the file is, how fast it downloads, and how the browser handles it.
JPEG — The Default That’s Showing Its Age
JPEG has been the standard web image format since the 1990s. It handles photos well and every browser supports it. But JPEG compression is inefficient by modern standards. A JPEG at acceptable quality typically weighs 200-500 KB for a web-sized photo. That’s fine for a few images. For a gallery with 25 photos, it adds up fast.
Most roofing sites we audited serve JPEG images — often at original camera resolution with minimal or no compression applied. The format itself isn’t the villain. The lack of processing is.
WebP — The Standard for Fast Websites
WebP is Google’s image format, supported by every modern browser since 2020. It delivers the same visual quality as JPEG at 25-34% smaller file sizes. A photo that’s 400 KB as a JPEG becomes 260-300 KB as WebP with no visible difference. With more aggressive compression, that same photo can drop to 50-100 KB while still looking sharp on screen.
WebP should be the default format for every image on a roofing website. It’s the single easiest performance win available. No quality loss. No browser compatibility concerns. Just smaller files that load faster.
AVIF — The Next Generation
AVIF is the newest format, offering even better compression than WebP — typically 30-50% smaller at the same quality. Browser support has expanded significantly: Chrome, Firefox, Safari, and Edge all support AVIF as of 2024.
For roofing companies with large galleries, AVIF represents the best possible compression. A photo that’s 300 KB as WebP can be 150-200 KB as AVIF. The tradeoff is that AVIF encoding is slower (which matters for the person building the site, not the visitor) and a very small percentage of older browsers don’t support it.
The ideal approach: serve AVIF as the primary format with WebP as a fallback. HTML’s <picture> element makes this straightforward — the browser picks the best format it supports.
Compression: The Step Most Roofers Skip
Converting to WebP or AVIF is half the battle. The other half is compression — reducing the file’s data to the minimum needed for acceptable visual quality.
Most image compression is lossy, meaning it removes data the human eye can’t easily detect. At a compression quality of 75-80% (on a 0-100 scale), the image looks identical to the original on a web page. Below 60%, quality degradation becomes visible. Above 90%, you’re keeping data nobody can see.
The sweet spot for roofing photos: 75-80% quality in WebP format, at the display dimensions needed.
Here’s what that looks like in practice:
| Image | Raw Size | After Resize | After WebP 80% |
|---|---|---|---|
| iPhone roof photo | 5.2 MB | 850 KB | 95 KB |
| DSLR before/after | 12.1 MB | 1.1 MB | 120 KB |
| Drone aerial shot | 8.7 MB | 920 KB | 105 KB |
| Crew/team photo | 4.8 MB | 780 KB | 88 KB |
The homeowner viewing these on a website cannot tell the difference between the 5.2 MB original and the 95 KB optimized version. But her browser — and her patience — can absolutely tell the difference.
Lazy Loading: Only Load What the Visitor Can See
Even after optimizing images to WebP at compressed sizes, a gallery page with 30 photos still requires the browser to download 30 images. If all 30 load simultaneously when the page opens, the browser is handling 30 parallel downloads before showing anything.
Lazy loading solves this by telling the browser: only load images that are visible on screen. As the visitor scrolls, new images load just before they come into view.
The effect is immediate:
- Initial page load drops from 30 images to 2-3 (whatever’s visible above the fold)
- Time to first content drops dramatically because the browser isn’t fighting to download everything at once
- Data usage drops for mobile visitors who might only scroll through the first 5-10 photos before calling
In HTML, lazy loading is one attribute: loading="lazy". WordPress, Wix, and Squarespace all support it natively. There is no reason for any roofing website in 2026 to load all images simultaneously.
The exception: the hero image and any images above the fold should not be lazy loaded. These need to appear instantly. Lazy loading is for everything below the initial viewport.
Responsive Images: Different Sizes for Different Screens
A desktop visitor on a 1440-pixel-wide monitor and a phone visitor on a 375-pixel-wide screen should not receive the same image file. The desktop visitor needs a larger image. The phone visitor needs a smaller one.
Responsive images use the HTML srcset attribute to provide the browser with multiple versions of the same image at different widths. The browser picks the version closest to the visitor’s screen size:
- Phone: 400px wide image (~40 KB in WebP)
- Tablet: 800px wide image (~80 KB in WebP)
- Desktop: 1200px wide image (~120 KB in WebP)
Without responsive images, the phone visitor downloads the same 1200px image that the desktop visitor gets — three times more data than she needs. Multiply that by 20 gallery images and the phone is downloading 1.6 MB of extra data for no visible benefit.
This is a significant contributor to the mobile speed gap. We detailed the mobile performance problem in our post about 68% of roofing leads starting on mobile. Responsive images directly address the data waste that slows mobile pages.
Alt Text: The Image Optimization Most Roofers Ignore
Image optimization isn’t only about file size. It’s also about making images visible to search engines and accessible to visitors who use screen readers.
31% of roofing websites in our audit — 438 sites — have zero image alt tags. That means every photo on those sites is invisible to Google Image Search and inaccessible to visually impaired visitors.
For roofing companies, alt text is a double opportunity:
-
SEO value: An alt tag like “Hail damage roof repair completed in Plano TX” captures searches for “hail damage roof repair Plano” — directly through Google Image Search, which many homeowners use when evaluating storm damage.
-
Accessibility compliance: The ADA requires websites to be accessible. Missing alt text is the most common accessibility violation, and lawsuits against small businesses for inaccessible websites have increased significantly.
Alt text takes seconds to add per image. The formula for roofing photos is simple: [damage type or service] + [city] + [roof type if visible]. “Wind damage repair on tile roof in Tampa FL.” “Before and after shingle replacement in Houston TX.” “Drone inspection of commercial roof in Atlanta GA.”
How to Optimize Every Image on Your Roofing Website
Here’s the step-by-step process. You can do most of this with free tools and no developer.
Step 1: Audit Your Current Images
Open your website in Chrome. Right-click any image and select “Inspect.” Look at the image’s natural size (the original file dimensions) versus its display size (how large it appears on screen). If the natural size is significantly larger than the display size, the image is oversized.
Also check the file format and size in the Network tab. Sort by size. The largest files are your biggest speed killers.
Step 2: Resize to Display Dimensions
No image on your website needs to be larger than 1200 pixels wide for desktop or 800 pixels for most content areas. Hero images can be 1600-1920px. Gallery thumbnails can be 400-600px.
Use any image editor — even the free Preview app on Mac or Photos on Windows — to resize before uploading. This single step typically cuts file size by 60-80%.
Step 3: Convert to WebP
Free tools like Squoosh (browser-based, no install), ShortPixel (batch processing), or ImageOptim (Mac) convert JPEG to WebP in seconds. Set quality to 75-80%. Compare the before and after — you won’t see a difference on screen.
For WordPress sites, plugins like ShortPixel or Imagify automatically convert uploaded images to WebP and serve the optimized version. Install once, forget about it. Every future upload is automatically optimized.
Step 4: Add Lazy Loading
If you’re on WordPress 5.5 or later, lazy loading is enabled by default for images. Check that it’s active. For other platforms, add loading="lazy" to every <img> tag that’s below the fold.
Verify by loading your gallery page and watching the Network tab — images should load incrementally as you scroll, not all at once on page load.
Step 5: Add Alt Text to Every Image
Go through every image on the site. Add a descriptive alt tag that includes the service, location, and roof type. Skip generic descriptions like “roof photo” or “image1.” Be specific: “Completed GAF Timberline shingle installation in Katy TX.”
Step 6: Implement Responsive Sizes
This step may require a developer or a CMS that handles it automatically. The goal is to serve different image sizes for different screen widths. WordPress themes with responsive image support handle this natively. Custom sites need srcset markup.
The Speed Payoff Is Immediate
When we tested roofing websites before and after image optimization, the performance gains were consistent and substantial. Pages that took 6-8 seconds to load on mobile dropped to 1.5-2.5 seconds. Google PageSpeed scores jumped 30-50 points. And the sites didn’t look any different to visitors — the photos were the same, just delivered more efficiently.
For a roofing company spending $187 per click, that speed improvement translates directly to money. Fewer bounces, more time on site, more form submissions, more phone calls. The same ad budget generates more leads because the website stops pushing visitors away before they can convert.
53% of visitors leave after 3 seconds. On a site with unoptimized images, 3 seconds isn’t enough time to even finish loading the hero photo. On an optimized site, the entire page is rendered, the phone number is visible, and the CTA is ready to tap.
Your gallery is your strongest selling tool. Every before-and-after photo, every completed project, every aerial drone shot builds trust that text alone cannot match. But only if the homeowner actually sees them. Optimization makes that possible. Without it, your best photos are loading too slowly for anyone to wait for them.
The roofers in our audit who scored highest — the top 3% across 1,409 sites — all had optimized images. Not because they had bigger budgets. Because they did the basic image work that 97% of their competitors skip.
Keep reading
Want to know your score?
Drop your URL — full report in 48 hours.
We're on it.
Report in your inbox within 48 hours.