VibeTokens

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 most 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. Google's WebP documentation puts lossy WebP at 25-34% smaller than a comparable JPEG at equivalent quality, and lossless WebP at 26% smaller than PNG. 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 →

Frequently Asked

Do image file names actually affect SEO?

Yes. Google reads file names as signals about what a page is about. A file named 'roof-replacement-akron-ohio.jpg' tells Google this image is about roof replacement in Akron, Ohio. A file named 'IMG_2847.jpg' tells Google nothing. For local contractors, descriptive file names reinforce geographic relevance — one of the strongest ranking signals for local search. It takes seconds to rename a file before uploading. Make it a habit.

What should contractor website alt text say?

Alt text should describe what's in the image while including your primary service and city when it's natural and accurate. 'Crew installing asphalt shingle roof on two-story colonial in Akron, Ohio' is better than 'roofing photo' or a keyword-stuffed string like 'best roof replacement Akron Ohio cheap.' Write it as if you're describing the image to someone who can't see it. Google uses alt text to understand images; screen readers use it to describe images to visually impaired users. Both audiences benefit from clear, honest descriptions.

How do I compress contractor website images without losing quality?

Use a tool like Squoosh (squoosh.app, free) or TinyPNG for quick compression before uploading. For most contractor site images, aim for under 150KB per image while keeping them visually sharp. WebP format delivers the best size-to-quality ratio — Google's own WebP documentation puts lossy WebP at 25-34% smaller than a comparable JPEG at equivalent quality. Most website builders and CMSs support WebP either natively or via plugin. If your site is on Next.js like ours, the Image component handles WebP conversion and lazy loading automatically.

How many images should a contractor service page have?

Three to six is a good range for most contractor service pages. One hero image showing the completed work (or crew at work), two to three project photos, and one team or equipment photo. More images slow the page down; fewer leave it feeling thin. Every image should show real work in the real service area — not stock photos. Google can tell the difference, and so can potential customers comparing you to competitors.

Does alt text help with AI search (ChatGPT, Claude, Perplexity)?

Indirectly, yes. AI search engines crawl and index web pages similarly to Google. Properly labeled images reinforce the topic signals on the page — telling the AI 'this page is genuinely about [service] in [city]' — which influences whether a business gets named when someone asks an AI assistant for a local contractor recommendation. Alt text is one of several on-page signals AI search uses to understand geographic relevance and topic authority.

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 $29/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 →