Image alt text via vision AI
Most SEO apps generate alt text by templating: ${product.title} - ${product.type}. That's not alt text. It's a placeholder.
RankEngine analyzes each image and writes descriptive alt text from what's actually in the photo.
Why this matters
- Accessibility: screen readers read alt text aloud. Generic templated text is useless.
- Image SEO: Google Images ranks pages with descriptive alt higher.
- AI citation: ChatGPT and Perplexity often cite images by their alt text — better alt = better citation visibility.
How it works
- RankEngine fetches the image URL from Shopify.
- Sends it through RankEngine's image understanding pipeline.
- Receives 80-120 char descriptive alt text.
- Saves to Shopify as the image's alt attribute.
- Verifies the value persisted by re-fetching from Shopify.
Cost: ~$0.005 per image. Wallet-debited only on successful AI return — silent template fallback (rare) does NOT charge.
Where to use it
- Per-product: Content tab → Images → click "Optimize all alt text" on any product card.
- Bulk: On-Page → "Push to Score 100" → image_alt is one of the included branches.
- Autopilot: Set a rule for "image_alt missing" → fixes new product images on a schedule.
Quality
- 300-product test: 96% of generated alt text passed manual review on a kids-vitamins store.
- Failure modes: images with no actual subject (gradient backgrounds, text overlays) get a fallback "${product.title} product image" — better than nothing but not vision-accurate.
What about images without alt?
Two states:
- Missing alt (
alt=""oraltattribute absent) — flagged asno_alt_textissue. - Partial alt (some images have alt, some don't) — flagged as
partial_alt_textwith a count.
Both are auto-fixable.
Tips
- Verify before bulk. Run on 1-2 products first. If quality looks off (rare), edit your image style preset in Settings.
- Don't overwrite good alt by default. The
optimize-alt-textendpoint defaults toreplaceExisting: false— images with non-empty alt are skipped. Phase 251 added a "Replace existing alt text" toggle in the per-product Optimize flow + a global Optimize button for whole-store sweeps. Flip the toggle if you want to overwrite (e.g. you've changed product type and want fresher descriptions).