Skip to content
SEO

Image SEO for Contractor Websites: File Names and Alt Text That Rank

·6 min read

Every photo on your website sends two signals to Google: the file name and the alt attribute. Most contractor websites send the worst possible version of both. A photo of a furnace installation named "IMG_4521.jpg" with blank alt text tells Google nothing about the service, the location, or the technician who did the work. That same photo renamed "furnace-installation-denver-co.webp" with alt text reading "furnace installation in Denver CO by licensed HVAC technician" tells Google the service, the city, the state, and a credential. The second version reinforces your page ranking for HVAC queries in Denver. The first version contributes nothing.

Google confirmed in its image indexing documentation that file names are a primary signal for understanding image content, especially when surrounding text is limited. A service page with ten photos is ten separate ranking signal opportunities. Most contractor sites have those ten photos all named with camera-generated filenames and missing alt text entirely. Fixing both takes under an hour per page and produces ranking improvements that compound as Google reindexes the updated content.

File Names: The Signal Almost Every Contractor Ignores

Camera-generated file names like "DSC00471.jpg" or "IMG_4521.jpg" carry zero keyword signal. Google reads image file names the same way it reads URLs: hyphens separate words into readable terms, underscores do not. "water-heater-replacement-phoenix-az.webp" is read as five separate terms. "water_heater_replacement.jpg" is read as one concatenated string. The naming pattern that consistently produces indexing results for contractor photos is: [service]-[city]-[state-abbreviation].[format].

Examples by trade:

  • A plumbing company in Austin: "water-heater-replacement-austin-tx.webp"
  • A roofing company in Charlotte: "roof-replacement-charlotte-nc.webp"
  • An electrical company in Phoenix: "panel-upgrade-phoenix-az.webp"
  • An HVAC company in Denver: "furnace-installation-denver-co.webp"

If you have multiple photos of the same service, add a numbered suffix: "slab-leak-repair-scottsdale-az-1.webp" and "slab-leak-repair-scottsdale-az-2.webp." For before-and-after pairs, label them explicitly: "furnace-replacement-before-nashville-tn.webp" and "furnace-replacement-after-nashville-tn.webp." Google Images surfaces before-and-after content for high-intent queries like "water heater replacement" and "HVAC installation." Homeowners searching those terms are comparing options before hiring. A clearly labeled before-and-after photo puts your work in front of a buyer at the decision stage, with a direct link back to your service page.

Alt Text: The Formula That Works for Every Service Photo

Alt text is the primary signal Google uses when indexing images. It is also a WCAG 2.1 accessibility requirement: screen readers rely on alt text to describe images to visually impaired users. Missing alt text is both an SEO gap and an accessibility failure.

The formula for contractor service photos: [service performed] in [city, state] by [credential or trade]. Keep it between 80 and 140 characters.

  • "Tankless water heater installation in Raleigh NC by licensed plumber"
  • "Ductless mini-split installation in Sacramento CA by certified HVAC technician"
  • "Electrical panel upgrade in Portland OR by master electrician"
  • "Roof replacement with architectural shingles in Tampa FL"

Each photo on a service page should have unique alt text. If you have five HVAC installation photos on your HVAC repair page, vary the service descriptor across each one: "HVAC maintenance," "AC tune-up," "air handler installation," "furnace repair," "heat pump replacement." Identical alt text across multiple images on the same page signals low-effort content to Google and wastes the indexing opportunity each photo carries. Decorative images, dividers, and icons should use empty alt="" to signal to Google and screen readers that they carry no meaningful content.

Format and File Size: Why This Affects Rankings Indirectly

Image format and file size do not directly determine your ranking for a keyword, but they directly affect Core Web Vitals scores, which are a confirmed ranking factor. A service page with seven uncompressed JPEG photos loads slowly. A slow-loading page earns a lower Largest Contentful Paint score. Lower Core Web Vitals scores reduce rankings in competitive markets where two or three competitors have equivalent keyword signals but faster pages.

WebP is the correct format for all contractor website photos in 2026. It is supported by every major browser and produces files 25 to 35 percent smaller than equivalent JPEGs at the same visual quality. A 2.5MB JPEG of a completed roofing job becomes roughly 1.4MB in WebP with no visible quality difference. Convert existing photos using Squoosh (squoosh.app, free) or ShortPixel. Target file sizes under 200KB per image for standard service page photos. Header and hero images can go up to 400KB if well-compressed.

Photo typeFile name patternAlt text pattern
Completed job photoservice-city-state-1.webp"[service] in [city state] by [credential]"
Before/after pairservice-before-city-state.webp"Before [service] in [city state]"
Team/crew photohvac-crew-denver-co.webp"Licensed HVAC team serving Denver CO"
License/certificatehvac-license-texas.webp"Texas HVAC contractor license [number]"
Decorative icon or dividericon-checkmark.svgalt="" (empty, signals decorative)

Google Images: A Real Traffic Channel for Home Service Searches

Google Images is a meaningful traffic source for queries with high visual intent. For home service contractors, those queries include "water heater replacement before after," "what does a panel upgrade look like," and "[service] cost estimate." Google Images results appear as image packs blended into standard search results and as standalone results on images.google.com. A contractor with properly named and tagged job photos has a second entry point into search results beyond the organic blue-link listing.

Traffic from Google Images tends to be lower volume than organic text traffic but higher intent: a homeowner who clicked a before-and-after photo of a slab leak repair has already qualified the job type and is looking at your specific work. The image links back to the page it lives on. An optimized photo of a completed job is simultaneously a ranking signal for the service page, a Google Images result, and a click path back to your site. Without a correct file name and alt text, none of those three functions operate.

Three Actions for This Week

  1. Rename every image on your two highest-traffic service pages. Open Google Search Console and identify which two service pages receive the most clicks over the past 90 days. List every image file name on each page. Rename each one following the [service]-[city]-[state].webp pattern and re-upload. Update the src attributes in your page code or CMS. Submit both pages for reindexing through Google Search Console's URL Inspection tool. Google will recrawl within 24 to 72 hours and begin associating the updated file names with the page content. If your site runs on WordPress, the Media File Renamer plugin handles bulk renaming without breaking existing image references throughout the site.
  2. Audit and fix alt text on every image currently missing it. Use Screaming Frog (free up to 500 URLs) or your browser's developer tools to list every image element on your site. Filter for images with blank or missing alt attributes. For every content photo, write unique alt text using the formula above: [service] in [city, state] by [credential]. Prioritize service pages over blog posts or about pages. A five-page contractor site with correctly alt-tagged photos will outperform a twenty-page site with generic or missing alt text from an image indexing standpoint, because Google treats a blank alt attribute as unindexable content and skips the image entirely in its ranking calculations.
  3. Convert your top ten site photos to WebP and compress each under 200KB. Go to squoosh.app. Upload each current JPEG or PNG, switch output to WebP, and set quality to 80. Replace the originals on your server with the compressed WebP files. Then run your key service pages through Google PageSpeed Insights and record the before-and-after Largest Contentful Paint scores. A service page that moves from a 6-second mobile load to under 3 seconds typically sees Core Web Vitals improvements within two to four weeks of reindexing. In competitive local markets, a page speed advantage over similarly optimized competitors is often enough to shift rankings by two to three positions for the same keyword, which at the local level means the difference between appearing in the top five results and appearing on page two.

Image SEO is among the least competitive optimizations available to contractors because almost no one does it. Your direct competitors have the same camera-generated file names and the same blank alt text on every photo they have published. Fixing your images costs nothing beyond 60 to 90 minutes of work per service page. The returns compound over time: stronger page keyword signals, additional Google Images traffic from job photos and before-and-after pairs, improved Core Web Vitals from smaller file sizes, and WCAG accessibility compliance. Every completed job photo on your site is a wasted opportunity until it carries a file name and alt text that tells Google exactly what the service was, where it happened, and who did it.

Want this done for you?

Get a free audit of your website, SEO, and GEO presence.