monkeyman.agency
industry

AI Can't See Your Products: The Image Alt Text Gap Killing Discovery

Most product images ship with no alt text, so shopping agents and multimodal AI skip them entirely. How we make Shopify catalogs machine-readable at scale.

July 10, 2026 9 min read

Renata runs Vela Ceramics, a 640-SKU tableware brand on Shopify doing about $1.8M a year. In April she asked a shopping agent to find “a matte terracotta dinner set for 6, oven safe,” which is close to a word-for-word description of her bestselling product. The agent came back with four competitors and zero Vela. We audited her catalog the next week: 2,340 product images, and 91% of them had an empty alt attribute.

The audit that came back 91% blank

That number sounds extreme until you run the same query on other stores. An agency dev told us in a Slack DM that roughly 85% of product images they audit carry no alt text at all, and our own numbers across 11 Shopify catalogs this spring land within a few points of that. The gap is the norm, not the outlier.

It happens for a boring reason. Alt text lives in a small optional field in the media editor, nobody’s job description includes it, and the store looks identical with or without it. So the field stays empty for years while the team ships collections, rebuilds the theme twice and runs three photo shoots.

The audit itself takes an afternoon, not a project plan. Pull every product image and its alt state through the Admin API, count the blanks, then sort by product revenue so you know where the gap actually costs money. Vela’s blank rate on her top 50 revenue products was 96%, worse than the catalog average. The images that mattered most had the least metadata, because the bestsellers were also the oldest listings.

Human shoppers never notice. Machines notice immediately.

Multimodal doesn’t mean the machine reads pixels first

The pitch for multimodal models is that they can look at an image and understand it. That’s partially true and mostly misleading for commerce. Vision inference is expensive at crawl scale, so retrieval systems lean on the cheap signals first: alt attributes, filenames, captions, structured data and the copy sitting near the image. The pixels get analyzed selectively, often only after the text signals decided the page was worth the effort.

Think about the query path from the agent’s side. A shopper types “matte terracotta dinner set for 6, oven safe” and the system needs candidate products before any model looks at a single photo. Candidates come from indexed text. If the words the shopper used exist nowhere in your image metadata or page copy, you never make the candidate pool, and no amount of vision capability rescues a product that was never retrieved in the first place.

Which means an empty alt attribute isn’t a neutral gap the model politely fills in. It’s a missing ranking signal at the exact stage where the system decides whether your product exists.

There’s a second-order effect too. When an agent does spend vision budget on your page, it cross-checks what it sees against what the page says, and models under uncertainty prefer sources that don’t make them guess. Your competitor with the boring, literal, complete metadata wins the citation even with worse photography.

Renata’s matte terracotta set is a perfect example. The photography was excellent. But the image was named IMG_4419.jpg, the alt field was blank, and the word “terracotta” appeared nowhere on the page because the product title said “Sol Collection.” Every signal a retrieval system reads cheaply said nothing. And not by a small margin.

What a useful product alt text actually says

The instinct once someone owns the task is to stuff it: “terracotta dinner set plates bowls ceramic dinnerware oven safe microwave safe best.” That reads as spam to modern systems and does nothing for the humans using screen readers, who were the original audience for the attribute and still matter.

What works is describing the product the way a shopper would ask for it. Material, color, finish, shape, count, distinguishing detail. “Matte terracotta 18-piece dinner set on a walnut table, six place settings with speckled glaze rims.” One sentence, under 125 characters where you can manage it, no keyword lists. Shopify’s own guidance on adding alt text to product media points the same direction: describe the image for someone who can’t see it, and the machine benefits follow.

Variants deserve their own line, not a copy of the parent. A colorway shot of the same set in olive green needs alt text that says olive green, because “matte terracotta dinner set” attached to a green product is worse than a blank: it’s wrong, and wrong metadata teaches retrieval systems to distrust the page. We keyed Vela’s variant alt text off the option values in the product data so it can’t drift.

The test we give content teams is simple. Read the alt text aloud with the image hidden, then ask whether a colleague could pick the product out of a lineup. If not, rewrite it.

The metadata nobody looks at: filenames, captions, surrounding copy

Alt text gets the attention, but it’s one field in a cluster. Filenames carry weight, sol-terracotta-dinner-set-6.jpg beats IMG_4419.jpg every single time a crawler parses the URL. Captions and nearby body copy anchor the image to the query language shoppers actually use. Even the order of images matters, because the first image feeds og:image tags and becomes the thumbnail agents display when they cite you.

On Vela we found the product descriptions were written in brand voice, lovely and useless: “Sunset in ceramic form.” Nowhere did the page say oven safe, dishwasher safe, stoneware, or six settings. We rewrote 40 top-revenue product pages to keep the brand voice in the opening line and follow it with a spec paragraph in plain shopper language. That copy sits directly adjacent to the images and feeds the same retrieval pipeline the alt attributes do.

Pretty much every catalog we open has this split personality, poetic pages and literal queries. The page now has two readers, and the second one grades you on specifics.

Fixing 640 SKUs without typing 640 descriptions

Hand-editing 2,340 images through the admin was never going to happen, so we built the fix as a pipeline. Export every image reference and its current alt state through the Admin API. Generate draft alt text per image with a vision model prompted with the product title, type, materials metafields and our formatting rules. Then, and this is the step teams skip, route every draft through a human review pass in a spreadsheet before writing anything back.

The review pass caught real problems on about 12% of drafts. The model called speckled glaze “polka dots,” misread a serving bowl as a planter, and described studio shadows as product damage on two dark-glazed items. Merchants who bulk-write model output straight to production ship those errors at catalog scale.

Write-back runs through the same API, and metafields hold structured attributes (material, finish, capacity) so future rewrites regenerate from data instead of starting over. Total wall-clock time for Vela: about nine days, most of it review.

One Shopify-specific trap: your theme has to actually render the alt attribute. We’ve audited OS 2.0 themes that silently overwrite media alt in Liquid with the product title on every gallery image. Grep your theme for image_tag and media.alt before and after the migration. Ten minutes of checking protects nine days of work.

Filenames need the same treatment, since Shopify locks a file’s name at upload. Re-uploading under descriptive names is manual, so we limited it to Vela’s top 120 revenue SKUs, the effort curve gets steep and the marginal return doesn’t.

Structured data that vouches for the image

Alt text tells a crawler what an image shows. Structured data lets the page vouch for it in a format machines verify against everything else on the page. Product schema with a proper image array, and ImageObject markup carrying contentUrl, caption and description fields, give retrieval systems a second copy of the visual context that doesn’t depend on parsing your theme’s HTML quirks.

We also rebuilt Vela’s image sitemap so every product image, not just the first, gets crawled with its page context attached. Themes that lazy-load galleries through JavaScript often hide images two through eight from crawlers entirely, and Vela’s theme was doing exactly that. The sitemap closed the gap without a theme rebuild.

Product feeds are the third leg, several assistant shopping surfaces ingest feed data directly rather than crawling at all. If your feed’s image link points at a cropped thumbnail or an out-of-stock variant photo, that’s what agents show. Vela’s feed had been auto-generated by an app in 2023 and never reviewed since.

None of this is exotic. It’s plumbing, and it compounds with the alt work rather than replacing it.

Did any of it move discovery

Measurement is the honest weak point of this whole category, because agent-driven traffic doesn’t announce itself cleanly. Anyone selling you a precise ROI number for metadata work is rounding heavily in their own favor. We track three proxies instead. Crawl volume on image URLs from AI-associated user agents, which for Vela rose about 3x in the eight weeks after write-back. Citation checks, a weekly scripted run of 25 shopper-style queries against the major assistants, where Vela went from appearing in zero of 25 to nine of 25 by week ten. And referral sessions from assistant surfaces in analytics, small in absolute numbers but up from a baseline of effectively zero.

We also held back two mid-tier collections as a rough control group. Their crawl volume and citation counts stayed flat while the treated collections moved, and when we later ran the pipeline on the holdouts they followed the same curve on the same lag.

Attribution stays fuzzy. The trend doesn’t.

The number Renata actually cares about moved too: the matte terracotta set now comes back as a cited result for the exact query that returned four competitors in April.

What we keep telling clients

Image metadata is the highest-leverage unglamorous work in AI-era discovery. Nobody gets promoted for filling in alt attributes, and yet a catalog where every image is named IMG_4419.jpg is functionally opted out of a growing slice of product search. The gap is so common that closing it is a competitive move, not table stakes.

Do it in this order: fix the signals machines read cheaply (alt text, filenames, adjacent copy), then add the structured layer that verifies them, then build the measurement loop. Teams that start with schema on top of blank alt attributes are notarizing an empty page.

And keep a human in the review loop when you generate descriptions at scale. The failure mode isn’t that vision models write badly, it’s that they’re confidently wrong about 1 image in 10, and at 2,000 images that’s 200 lies about your own catalog written in your own voice.

Renata’s team now runs the pipeline on every new collection before launch, alt text and spec copy reviewed alongside the photography itself. Discovery stopped being a thing that happened to her catalog. It became part of shipping it.

Questions we get every week

Does alt text really matter if AI can see images now?

Vision capability exists, but retrieval still leans on cheap text signals to decide what to look at. Empty alt attributes remove your products from that first cut. Treat model vision as a bonus layer, not a replacement for the metadata.

Should I use AI to write the alt text itself?

Yes, at catalog scale it’s the only practical option, but route drafts through human review before write-back. Our error rate on vision-model drafts runs 10 to 12%, and those errors are confidently wrong, not obviously wrong. Review in a spreadsheet takes a fraction of the time writing from scratch would.

Will fixing alt text improve my Google image rankings too?

The same signals feed classic image search, so yes, the work does double duty. Descriptive filenames, alt text and image sitemaps are longstanding image SEO fundamentals. The AI discovery angle just raised the price of ignoring them.

How long before I see results?

Recrawl and re-indexing take weeks, not days. Vela saw crawl volume shift within three weeks and citation improvements around week eight to ten. Set expectations on a quarter, and build the measurement loop before you start so the movement is visible.

Want to know how much of your catalog is invisible to shopping agents? Talk to us about an image metadata audit and we’ll hand you the blank-alt-text number for every collection you run.

Need help with this?

Send us your store. We'll send back an audit.

Send us your store URL. We'll send back a free audit within 48 hours.

Phone (optional)