Most contractor websites have the same image problem.
They've uploaded real photos — job sites, finished work, crew portraits — and then left everything else at factory defaults. File named DSC_0092.jpg. No alt text. Full 4MB resolution. The photos exist; the SEO value doesn't.
It's a fixable problem. Takes an afternoon to audit. Twenty seconds per image going forward.
See how your site's images compare in a free audit →
Why Images Matter for Local SEO
Images don't rank on their own — text around them does. But image metadata reinforces the signals on the page. File names, alt text, and captions all contribute to what Google understands the page to be about.
For a contractor in a specific city, this matters. Google's local algorithm is weighing geographic relevance heavily. Every element of your page that says "[service] in [city]" — including image metadata — adds to that signal. Most competitors are ignoring it, which means you gain ground just by doing the basics.
AI search engines work similarly. When ChatGPT or Claude is building a list of recommended contractors in a city, they're reading and indexing the same web content Google does. An image labeled "wood fence installation Medina Ohio" reinforces to both Google and AI that you do fence work in Medina, Ohio.
Fix #1: File Names
The standard: every image on your website should have a descriptive file name before it's uploaded.
Bad: IMG_2847.jpg, photo2.png, DCIM_001.jpg
Good: metal-roof-installation-canton-ohio.jpg, hvac-technician-repairing-furnace-akron.jpg, before-after-deck-build-medina.jpg
The formula: service + location + type. Not every image needs all three elements. But the default of IMG_anything is a guaranteed missed signal.
Rename before you upload. Once an image is live with a bad filename, the damage isn't permanent, but fixing it means re-uploading and updating every reference — more work than just naming it right the first time.
Fix #2: Alt Text
Alt text serves two purposes: it tells search engines what's in an image, and it tells screen readers what to say to visually impaired visitors. Write it for both.
The standard: describe what's actually in the photo, include your primary service and location when it's natural, and stay under 125 characters.
Too vague: roofing job
Keyword-stuffed (don't): best roofer Akron Ohio cheap roof replacement contractor
Good: Crew installing GAF timberline shingles on ranch home in Akron, Ohio
The geographic detail is important. "Akron, Ohio" in the alt text reinforces your service area to Google without being manipulative — because it's literally where the photo was taken.
If an image is purely decorative (a divider, a background element), use alt="" to tell screen readers to skip it. Don't stuff keywords into alt text for images that have no informational content.
Free site audit includes an image SEO check →
Fix #3: Compression
Large images slow pages down. Slow pages lose rankings.
Google's Core Web Vitals algorithm penalizes pages that take too long to load, and oversized images are the most common culprit. A contractor homepage with six 3MB photos is going to load slowly on mobile — which is where 70%+ of local search traffic comes from.
Targets:
- Hero image: under 200KB
- Project gallery images: under 100KB each
- Thumbnails: under 50KB
Tools:
- Squoosh (squoosh.app) — free, browser-based, handles WebP conversion
- TinyPNG — fast batch compression for JPEGs and PNGs
- Cloudflare Images — automatic compression if you use Cloudflare (free tier)
Format: WebP is the modern standard. It's 25-35% smaller than JPEG at equivalent visual quality. Every major browser supports it now. If you're uploading to a modern website platform, request WebP. If you're on a platform that doesn't support it, at minimum compress your JPEGs before uploading.
Fix #4: Captions
Not every image needs a caption, but when you have a before/after shot, a project completion, or a product installation — a caption earns you an extra line of crawlable text that Google reads.
Keep captions factual and specific: "Composite deck installation with cable railing, Fairlawn OH — completed May 2026." That's a sentence Google can index for "deck installation Fairlawn Ohio." Stock photo captions like "Our team at work" do nothing.
The Audit Checklist
Run through your service pages and homepage with this:
- Every image has a descriptive file name (not
IMG_orphoto_) - Every content image has alt text describing what's in the photo
- Alt text includes service + city where it's accurate
- No image is over 300KB; hero images are under 200KB
- Before/after and project completion images have captions with location details
- Decorative images have
alt=""
This takes about 45 minutes for a typical contractor site. Fix the worst offenders first — oversized images and blank alt text — then set a standard going forward.
Connect It to Your Other On-Page Work
Images don't work in isolation. An image labeled "roof replacement canton ohio" does more on a service page that's already titled "Roof Replacement in Canton, OH" with a matching H1, proper meta description, and LocalBusiness schema than it does on a generic homepage.
The framework is cumulative: title tags, H1 structure, meta descriptions, URL structure, and images all reinforce the same signal — this page is about this service in this place.
Images are the last piece most contractors fix. Which means fixing them puts you ahead of most of the market without doing anything exotic.
See what your site's SEO picture looks like in two minutes — free audit →
— Murph, VibeTokens
