Product Image SEO: Alt Text, File Names & Schema

The unsexy but high-leverage details that decide whether your product photos show up in Google Images, Shopping, and AI Overviews.

|image SEO product photography e-commerce SEO structured data

Most stores spend thousands on product photography and then hand Google a folder of files named IMG_4471.jpg with no alt text and no schema. Google Images sends roughly 20% of all search traffic across the web, and product images are increasingly cited inside AI Overviews and Shopping results — but only if the page makes it obvious what the image actually shows.

Image SEO is not a separate channel. It's the metadata around every product photo: the file name, the alt attribute, the surrounding HTML, the structured data, and the image sitemap. Get these right and the same photos that already exist in your catalog start pulling traffic on their own.

This is the practical checklist — what each element does, what to write, and how to ship it across a catalog without doing it by hand.

Why product image SEO matters more than it used to

Three shifts in the last 18 months have raised the stakes on image metadata:

  • AI Overviews cite images. When Google's generative answers surface a product, the cited image is almost always one with clean alt text and Product schema attached.
  • Google Lens and visual search rely on the page's textual signals to disambiguate what's in the photo. A black t-shirt with no alt text competes with millions of identical pixels.
  • Core Web Vitals penalize unoptimized images. Missing dimensions and oversized files tank LCP, which depresses rankings on the rest of the page too.
22%Of all Google searches happen in Google Images
36%More CTR for results with rich product snippets
2.5xHigher chance of AI Overview citation with Product schema

None of this requires reshooting anything. It's metadata work on the photos you already have.

File names: descriptive, hyphenated, lowercase

Google reads the file name as a weak ranking signal and as fallback alt text when the alt attribute is missing. Camera defaults like DSC_0421.jpg tell it nothing.

Don't

  • IMG_4471.jpg
  • final_FINAL_v3.png
  • black_tshirt_FRONT.JPG (mixed case, underscores)
  • mens-organic-cotton-crew-neck-tshirt-black-front-view-on-white-background-medium-size.jpg (keyword stuffed)

Do

  • organic-cotton-crew-tee-black-front.jpg
  • organic-cotton-crew-tee-black-back.jpg
  • organic-cotton-crew-tee-black-detail.jpg
  • Lowercase, hyphens, 4–8 words, describes what's actually in the frame

One file naming pattern across the whole catalog matters more than the perfect name on any single image. Pick a template — {product}-{variant}-{angle}.jpg works for most stores — and apply it consistently.

Alt text that ranks (and is actually accessible)

Alt text serves two audiences: screen readers and search engines. The good news is that what works for one usually works for the other. Describe the image factually, in a sentence a human would read aloud, and include the product name naturally.

ImageBad altGood alt
Front of a leather walletwalletBrown bifold leather wallet with brass snap closure, front view
Sneaker on a modelshoe shoe shoe sneaker runningWhite running sneaker with mesh upper, worn by model on grey background
Lifestyle of a candle(empty)Soy candle in amber glass jar lit on a wooden bedside table
Pro Tip

Aim for 80–125 characters. If a screen reader user wouldn't get useful information from your alt text, neither will Google. Decorative images (icons, dividers) should have alt="" — empty, not missing.

One more rule: don't repeat the same alt text on every image of the same product. The front, back, detail, and lifestyle shots should each describe what makes that image different.

Product schema: the highest-leverage 50 lines you can add

Product structured data is what unlocks rich snippets — price, availability, star ratings, and the image itself in Google Shopping and AI Overviews. Here's the minimum viable Product schema for an e-commerce page:

<script type="application/ld+json">
{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Organic Cotton Crew Tee",
  "image": [
    "https://example.com/img/organic-cotton-crew-tee-black-front.jpg",
    "https://example.com/img/organic-cotton-crew-tee-black-back.jpg",
    "https://example.com/img/organic-cotton-crew-tee-black-detail.jpg"
  ],
  "description": "Midweight organic cotton crew neck t-shirt in black.",
  "sku": "TEE-CRW-BLK-M",
  "brand": { "@type": "Brand", "name": "Your Brand" },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/products/organic-cotton-crew-tee",
    "priceCurrency": "USD",
    "price": "38.00",
    "availability": "https://schema.org/InStock"
  }
}
</script>

Critical: the URLs in the image array must be the actual hosted image URLs, must be crawlable (not behind login), and should ideally be at least 1200px on the long edge for Shopping eligibility.

Common mistake

Pages that only include schema on the listing template but not on variant URLs miss out on indexing. Every indexable product URL needs its own Product schema with that variant's images.

Image sitemaps and crawlability

If your product images live on a CDN with a different hostname than your storefront, Google may not associate them with the page. An image sitemap fixes that.

Indexation rate by setup
No sitemap, CDN host
42%
Standard XML sitemap only
68%
Image sitemap + lazy-load fallback
94%

Three crawlability rules that quietly tank image indexing:

  • Lazy loading without a fallback. If the image only loads via JavaScript when scrolled into view, Googlebot may never see it. Use loading="lazy" on the <img> tag itself, not a JS library that swaps the src.
  • Missing width and height. Always set explicit dimensions. This fixes CLS and helps Google pick the right image for different SERP layouts.
  • Robots.txt blocking the CDN. Check that your image host isn't disallowed. A surprising number of stores block their own image CDN.

Doing this at scale (when you have 5,000 SKUs, not 50)

The checklist above is straightforward for a 50-product store. At 5,000 products with 6 photos each, manual alt text isn't realistic. Three approaches that work:

  1. Template-driven alt text. Generate alt from product attributes you already have: {color} {material} {product_type}, {angle} view. Not poetic, but better than empty and consistent across the catalog.
  2. Vision-model captioning. Run product images through a multimodal model to generate factual captions, then human-review the top 20% of traffic-driving SKUs. The long tail gets adequate alt; the head gets great alt.
  3. Centralize image metadata in the product database. Alt text, file name, and schema image arrays all derive from the same source of truth so they stay in sync when products are renamed or recategorized.

If you generate product imagery with a tool like Retouchable, the metadata can be written at generation time — alt text derived from the prompt, file names from product attributes, schema image arrays populated automatically. That's the easiest way to keep image SEO from rotting as the catalog grows.

The 80/20

If you do nothing else: rename files to a consistent template, add factual alt text on every image, and put valid Product schema on every indexable product URL. Those three changes cover most of the upside.

Frequently Asked Questions

Should alt text include the brand name?

Once per product page is fine, usually on the primary image. Repeating the brand on every single image (front, back, detail, lifestyle) reads as spammy to both screen readers and Google. Describe what the image actually shows.

Does Google still use file names as a ranking signal?

Yes, but as a weak signal. File names are most valuable as fallback alt text and as a hint when alt is missing or generic. Descriptive, hyphenated, lowercase file names cost nothing to implement and remove a small but real source of ambiguity.

Do I need both Product schema and an image sitemap?

They serve different purposes. Product schema enables rich snippets and Shopping eligibility. Image sitemaps help Google discover and associate images that live on a separate CDN. Larger catalogs benefit from both; small stores on a single domain can usually skip the image sitemap.

How long should product alt text be?

80 to 125 characters is the sweet spot. Long enough to describe color, material, and angle; short enough that screen readers don't cut it off. If you find yourself writing more than two sentences, you're probably writing caption text, not alt text.

Will AI-generated alt text hurt my SEO?

No, as long as it's factually accurate and unique per image. Google's guidance is about helpful, descriptive alt — it doesn't care whether a human or a model wrote it. The risk is generic, templated alt that's the same across every image; that's a problem regardless of who wrote it.

Ship product images with SEO metadata baked in

Retouchable generates product photography with consistent file names, descriptive alt text, and ready-to-use schema — so image SEO stops being a manual cleanup task.

Try Retouchable Free No credit card required