Ecommerce Image SEO Beyond Alt Text: File Names, Lazy Loading, EXIF, Captions
Alt text gets all the attention, but real ecommerce image SEO covers file naming, lazy loading, image sitemaps, EXIF data, and CDN format conversion. The full playbook.
Search "ecommerce image SEO" and you'll find 100 articles telling you to add alt text. Alt text is important — it's also the floor, not the ceiling. Real image SEO touches file names, formats, lazy loading, image sitemaps, EXIF data, and CDN delivery. Stores that get this right earn meaningful Google Images traffic and faster Core Web Vitals scores.
1. File Names: The Ranking Factor Almost Nobody Sets
An image filename is a ranking signal. Google uses it as a low-confidence input to image search ranking. Compare:
IMG_4892.jpg❌black-leather-jacket-mens-large.jpg✅
The bad version gives Google nothing. The good version reinforces the page's keywords and matches likely image search queries. Most stores upload photos straight from a camera or photographer, never renaming them.
How to enforce filename hygiene
- Build a filename convention:
{product-slug}-{angle-or-color}-{number}.jpg - Have your team or a script rename files at upload
- For platforms that hide the filename (Shopify CDN), still use clean names — they appear in
srcattributes which Google reads
2. Choosing the Right Format
- WebP — Default for product photos. ~25-35% smaller than JPEG at equivalent quality. Universally supported.
- AVIF — Even smaller (~50% vs JPEG). Use as a progressively-enhanced format with WebP fallback. Safari support arrived late but is now stable.
- JPEG — Acceptable fallback. Use when serving to old clients.
- PNG — Reserve for logos, icons, screenshots with text. Don't use for product photography.
- SVG — Use for logos and icons. Scales infinitely, tiny file size.
Most modern CDNs (Cloudflare Polish, imgix, Cloudinary, Shopify's CDN) auto-convert to WebP/AVIF based on the user's browser. If you're not on a CDN that does this, you're shipping 30-50% larger images than you need to.
3. Image Sitemap (or Image Tags in Your Sitemap)
Google supports image extensions in standard sitemaps. Each URL entry can include up to 1000 <image:image> tags listing the images on that page. Doing this:
- Helps Google discover images that load via JavaScript
- Lets you provide a license, geo location, and caption per image
- Improves Google Images coverage for product photos
Most ecommerce sitemap generators support this — it's just turned off by default.
4. Lazy Loading Done Right
Native lazy loading (loading="lazy") is supported in every modern browser. Add it to product gallery images, "you might also like" sections, and any below-the-fold imagery. But:
- Don't lazy-load above-the-fold images — your main product hero image, your homepage banner. Lazy loading these hurts Largest Contentful Paint (LCP).
- Use
fetchpriority="high"on the LCP image — tells browsers to prioritize this image over other resources. - Specify
widthandheight— even on responsive images. Prevents Cumulative Layout Shift (CLS).
5. Responsive Images with srcset
Don't ship a 4000px hero image to a phone. Use srcset and sizes attributes to deliver right-sized images per device:
<img src="hero-800.jpg"
srcset="hero-400.jpg 400w,
hero-800.jpg 800w,
hero-1600.jpg 1600w"
sizes="(max-width: 600px) 400px,
(max-width: 1200px) 800px,
1600px"
alt="Product hero"
width="1600"
height="900">
For platforms with image transformation CDNs, this is automatic. For static sites, build-time tools (Eleventy Image, Next.js Image, Astro Image) generate the right variants automatically.
6. EXIF Data: Strip It
Camera EXIF data (GPS coordinates, camera serial numbers, timestamps) bloats file sizes and can leak privacy data — especially relevant if your product photographer's phone embeds their home location into every photo.
Strip EXIF data in your image pipeline. Tools like exiftool, jpegoptim --strip-all, or any image CDN's transformation pipeline can do this in bulk. Typical savings: 5-30 KB per image.
7. Captions and Surrounding Context
Google reads the text immediately around an image as context for what the image shows. A product photo wrapped in <figure> with a <figcaption> describing the product gets more search context than a bare <img> tag. The same goes for nearby paragraph text and headings.
8. Image Schema Markup
For product images, the Product schema's image property is sufficient. For lifestyle and editorial imagery (blog posts, brand pages), use ImageObject schema with caption, contentUrl, and license fields. This unlocks richer Google Images results.
9. Alt Text — The Right Way
Yes, still important. But:
- Describe, don't keyword-stuff. "Black Patagonia fleece pullover on wooden hanger" beats "buy black fleece patagonia best black fleece"
- Empty alt for decorative images —
alt=""tells screen readers to skip purely decorative images. Don't omit the attribute. - Alt vs caption — alt is for accessibility (read aloud); caption is visible text describing the image to all users. Use both where appropriate.
10. CDN Configuration
Whatever CDN you use, verify:
- Long Cache-Control headers on images (
max-age=31536000, immutable) since image URLs include version hashes - Brotli or gzip compression for SVGs (text-based, compresses well)
- HTTP/2 or HTTP/3 — multiplexing matters when product pages load 30+ images
- Image hotlink protection — prevent other sites from embedding your bandwidth
11. Audit Your Top 50 Pages
Pull your highest-traffic 50 pages and check each for:
- Total image bytes on the page
- Images without alt text
- Images without explicit width/height
- JPEG/PNG images that should be WebP/AVIF
- Images larger than display size (sending 2000px to a 600px container)
- Filenames that look like camera defaults
Fixing the worst offenders typically improves LCP by 15-40% and adds 5-15% more Google Images traffic over 60 days.
StoreVitals checks for missing alt text, oversized images, and proper image format usage on every scan. Run a free scan to see your store's image SEO grade.