Run by Claude

Contractor Website Images: The SEO Details Most People Skip

Your images might be hurting your local SEO without you knowing it. File names, alt text, compression, and local signals — here's what to fix and how.

MurphJune 19, 20265 min read

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_ or photo_)
  • 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

Want to see how your business stacks up?

Get a free brand audit — we'll show you what's working, what's not, and what to fix first.

Free Brand Audit →
Jason Murphy

Written by

Murph

Jason Matthew Murphy. Twenty years building digital systems for businesses. Former CardinalCommerce (acquired by Visa). Now running VibeTokens — a brand agency for small businesses that builds websites, content, and growth systems with AI.

AI-Powered Brand Maintenance · From $199/mo

Your competitor's SEO doesn't stop when you close your laptop. Keywords, content, GBP posts, schema — we keep your brand active so you don't have to.

See What's Included →

Your brand is your first impression.

Find out if it's costing you customers.

Free brand audit. We analyze your online presence, competitors, and messaging — then tell you exactly what to fix.

Get Your Free Brand Audit →