Product Image SEO: Alt Tags, File Names, and Compression That Pull Traffic From Google Images

⏱ 10 min read

Most Shopify stores upload a product photo called IMG_4821.jpg, leave the alt text blank, and push a 3 MB file live. Then they wonder why Google Images sends them almost nothing. Product image SEO is the discipline that fixes all three problems at once, and it is one of the most under-worked levers in ecommerce.

The stakes have grown. Google reports that Lens is now used for nearly 20 billion searches a month, and that 20% of them are shopping-related. Meanwhile, on more than 70% of web pages the largest element in the first screen is an image, which means your product photo usually is your Largest Contentful Paint. Get images right and you win discovery and speed together. Get them wrong and you lose both.

Product image SEO in practice: ecommerce homepage with a search bar for finding products

Why Product Image SEO Now Decides Ecommerce Discovery

Image search is a purchase channel, not a vanity metric. A shopper who finds your product in Google Images or through Lens has already seen the item and is deeper in the funnel than a typical text searcher. That intent is why ecommerce has more to gain from image SEO than almost any other content type.

There is a second payoff that most guides ignore: speed. Images routinely make up the largest share of a Shopify page’s weight, and a single uncompressed product photo can weigh 3 to 8 MB when it should weigh 100 to 300 KB. Because the product image is so often the LCP element, compressing it is one of the fastest ways to move Core Web Vitals. Shopify, drawing on its own data across millions of transactions, reports that even a half-second speed improvement can increase conversion, though it does not publish a single fixed figure. If you run a serious catalogue, a proper Shopify SEO agency will treat images as a ranking and a revenue asset, not decoration.

🎯 If you only fix one thing

Compress every product image before upload and rename the file. Those two habits improve Google Images visibility and page speed at the same time, and they cost nothing but discipline.

What Google Actually Reads on a Product Image

Google does not “see” your photo the way a human does. It infers meaning from a stack of signals around the image. Understanding that stack tells you exactly where to spend effort.

  • The file name. The words in the file become part of the image URL and give Google an early clue about the subject.
  • The alt attribute. The primary text description of the image, used for both accessibility and search context.
  • Surrounding page content. Google’s image SEO guidelines state plainly that it extracts subject matter from nearby text, captions, and titles, so place images next to the copy that explains them.
  • Structured data. Product or ImageObject markup can earn a rich result or badge in Google Images.
  • The image sitemap. A dedicated feed that helps Google discover images it might otherwise miss on large stores.

Every section below maps to one of these signals. None of them requires an app. All of them require intent.

How to Write Alt Text That Ranks and Stays Accessible

Alt text serves two masters at once. Screen readers read it aloud to describe the image, and search engines use it to understand context. Write it for a person first and the SEO value follows. WebAIM’s alt text guidance is blunt on the core rule: describe the meaningful content or function of the image, and skip filler like “image of” or “photo of” because assistive tech already announces that it is an image. Keep it succinct, roughly 125 characters, and include the product name plus one natural keyword.

This matters more than store owners think. In WebAIM’s 2026 audit of the top one million home pages, 16.2% of all images were still missing alt text, which is both a compliance risk under laws like the European Accessibility Act and a wasted ranking signal.

Here is what weak and strong alt text looks like side by side on a real product.

ContextWeak alt textStrong alt text
Main product imagejumperNavy merino wool crew jumper, front view
Detail shot(left blank)Close-up of ribbed cuff on navy merino jumper
Collection bannerbannerWomens knitwear collection, autumn 2026 range
Keyword stuffedjumper wool jumper buy cheap jumperNavy merino wool jumper with ribbed cuffs

Alt Text Patterns for Product Galleries

A product page usually carries several images of the same item. Repeating identical alt text on all of them adds noise for screen reader users and dilutes context for Google. Differentiate by angle or detail instead.

  • Main image: “Navy merino wool crew jumper, front view”
  • Second angle: “Navy merino wool jumper, back and shoulder seam”
  • Detail shot: “Close-up of ribbed cuff on navy merino jumper”
  • Lifestyle shot: “Model wearing navy merino jumper with grey trousers”
  • Scale or fit: “Navy merino jumper flat lay next to a size guide”

Each description stands alone, names the entity, and reads naturally. That is the pattern that satisfies accessibility auditors and search crawlers together.

The Alt Text Mistakes That Quietly Cost You

  • Keyword stuffing. “best running shoes cheap running shoes buy shoes online” hurts accessibility and can be treated as spam.
  • Duplicate boilerplate. Every image tagged “Product image” tells Google and users nothing.
  • Describing decoration. A purely decorative divider or background flourish should use an empty alt="" so screen readers skip it.
💡 Pro tip

On Shopify, set alt text in Products, then the image, then Edit alt text. For collection banners and blog images, set it in the theme editor or the media library. These non-product images rank for broader queries and get forgotten most often.

File Naming: The Signal Most Stores Overwrite

Camera and phone exports arrive as DSC_0042.jpg or Screenshot-2026.png. Those names carry zero meaning. Shopify keeps your original filename in the CDN image URL, so a descriptive name becomes a permanent, crawlable signal. Rename the file before you upload, because renaming after upload does not change the stored URL.

Use lowercase words separated by hyphens, describe what is in the frame, and include the product and one attribute. Keep it short enough that it does not get truncated.

  • IMG_4821.jpg becomes navy-merino-wool-jumper-front.jpg
  • DSC_0042.jpg becomes oak-dining-table-4-seater.jpg
  • Screenshot-2026-03-11.png becomes size-chart-mens-trainers.png
  • final_v2_edited.jpg becomes ceramic-pour-over-coffee-set.jpg

Underscores and spaces are worse than hyphens because search engines read hyphens as word separators. This is a five-second habit that compounds across thousands of SKUs.

Compression and Format: What Shopify Does, and What It Leaves to You

Shopify’s CDN, delivered through a global edge network, does more than most owners realise. When you use the image_url Liquid filter, it converts JPEG and PNG uploads to WebP for supporting browsers automatically, and it serves AVIF where the browser supports it and the file comes out smaller. WebP is typically 25 to 35% smaller than JPEG, and AVIF often 30 to 50% smaller, at comparable quality.

Here is the trap almost every competing guide glosses over: Shopify resizes but does not aggressively compress your original upload. If you upload a 5 MB file, that 5 MB source is stored and re-encoded from as-is. Garbage in, garbage out. So format conversion is handled for you, but source compression is still your job.

FormatBest useSize vs JPEGWhat it means for you
JPEGPhotos, product shotsBaselineSafe source upload; the CDN converts it
PNGLogos, transparencyLargerAvoid for photographic product images
WebPAlmost everything25 to 35% smallerServed automatically to modern browsers
AVIFPhotos at low bitrate30 to 50% smallerServed when supported and smaller than WebP

A concrete example makes the target obvious. A 4000 by 3000 px photo straight off a camera can weigh 6 MB. Resized to 2048 px on the long edge and exported at JPEG quality 82, the same image drops to roughly 180 KB with no visible loss, and Shopify then serves that as an even smaller WebP or AVIF. That is a 97% reduction before the CDN even gets involved.

As a practical rule of thumb, and not a fixed Google requirement, upload a source no larger than about 2048 px on the long edge, export at JPEG quality 80 to 85, and aim for product images under 200 KB, hero and LCP images under about 150 KB, and thumbnails under 30 KB. Treat these as working targets rather than official limits. Squoosh and TinyPNG handle this for free on smaller catalogues. Larger libraries justify an app that hooks into the upload pipeline. Slow, heavy images are exactly what a Shopify store design review flags first.

⚠️ Warning

If you serve images from metafields or a headless build, Safari can request a WebP URL and still receive a heavier PNG or JPEG. Pipe metafield images through image_url and verify the response content-type in DevTools so a 150 KB file does not silently balloon to over 1 MB.

Responsive Delivery, Lazy Loading, and Your LCP Image

Serving one desktop-sized image to every device wastes bandwidth and drags mobile Core Web Vitals down. Modern Shopify themes use the srcset and sizes attributes so a phone downloads a 400 px file while a desktop gets 1200 px from the same source. Request specific widths with the Liquid filter, for example | image_url: width: 800.

Three technical moves separate a fast product page from a slow one:

  1. Lazy load below-the-fold images with loading="lazy" so off-screen gallery shots do not block the first paint.
  2. Prioritise the LCP image with fetchpriority="high" and a preload hint. Never lazy load your main product image, because that delays the very element Google measures.
  3. Set explicit width and height or an aspect-ratio container so the layout does not jump as images load, which protects your Cumulative Layout Shift score.

For example, a product gallery might preload the first image and lazy load the rest:

<img src="navy-merino-jumper-front.jpg" width="1200" height="1200"
     fetchpriority="high" alt="Navy merino wool crew jumper, front view">
<img src="navy-merino-jumper-back.jpg" width="1200" height="1200"
     loading="lazy" alt="Navy merino wool jumper, back and shoulder seam">

If your product pages feel heavy despite these fixes, a focused CRO audit will connect the speed loss to the revenue you are leaving on the table.

Structured Data and Image Sitemaps: The Layer Most Stores Skip

This is where you pull ahead of nearly every competing article. Google can display your images in rich results and with badges in Google Images when you provide structured data, and the image attribute is a required field to be eligible. On a product page, that means Product schema with an image array, or ImageObject markup for editorial images. Add the markup to every page an image appears on, even if it is the same image.

A minimal Product image array looks like this, with several angles referenced by their descriptive URLs:

"image": [
  "https://cdn.shop/navy-merino-jumper-front.jpg",
  "https://cdn.shop/navy-merino-jumper-back.jpg",
  "https://cdn.shop/navy-merino-jumper-cuff.jpg"
]

For large catalogues, discovery is the bottleneck. An image sitemap lists your image URLs so Google can find and index them faster, and it may include URLs on a separate CDN domain. IPTC photo metadata embedded in the file is an alternative route to metadata and can qualify images for the licensable badge. Verify your CDN domain in Search Console so crawl errors surface.

📊 Good to know

Structured data does not change how your page looks. It changes how Google understands it. A correct Product image array is the difference between a bare thumbnail and a badged, information-rich result in Google Images.

Optimising Product Images for Google Lens and AI Visual Search

Visual search has moved from novelty to mainstream, and it is tightly integrated with Google’s Gemini models. When a shopper points Lens at an object or uploads a screenshot, Google matches the visual to indexed images and leans on the same signals you have been optimising: file name, alt text, page context, and image quality. Multimodal AI systems also read alt text and captions to understand what an image shows, which feeds whether your product gets surfaced or cited.

Three things earn visual-search visibility. Use unique, high-quality product photography rather than the manufacturer’s stock shot that a hundred other stores use. Place each image beside descriptive copy about that exact variant. And keep the surrounding page relevant to the image subject. For example, a shopper photographing a friend’s trainers with Lens is far more likely to reach a store whose image is named white-leather-court-trainers.jpg, sits beside a matching product description, and carries Product schema, than one serving IMG_0099.jpg with no context. If you are building this into a broader programme, our AI SEO services treat visual and multimodal discovery as first-class channels.

Shopper using a phone camera to search for a product through visual search

A Practical Product Image SEO Audit

Run this on your top revenue pages first, then work down the catalogue. It takes under an hour to audit a template and pays back across every product using it.

  1. Sample the file names. Open a product page, inspect the images, and check the URLs. If you see IMG or DSC strings, your naming convention never happened.
  2. Check alt text coverage. Spot-check main images, gallery shots, collection banners, and blog images. Blank or duplicated alt text is the most common gap.
  3. Weigh the images. In DevTools, sort the network panel by size. Any product image over 300 KB or any hero over 200 KB needs recompression.
  4. Confirm format delivery. Check the response content-type reads image/webp or image/avif on a modern browser.
  5. Test the LCP element. Run the page through PageSpeed Insights and confirm the LCP image is preloaded, not lazy loaded.
  6. Validate structured data. Paste the URL into Google’s Rich Results Test and confirm the Product image field passes.
  7. Verify the image sitemap. Confirm images appear in a sitemap submitted in Search Console.
💡 Pro tip

Fix the template, not the image. Most Shopify image problems live in the theme’s image tags and the upload habit, so correcting those two places propagates the fix across thousands of products at once.

Conclusion

Product image SEO is not a single tactic. It is a stack: descriptive file names, human-first alt text, aggressive source compression, responsive and prioritised delivery, structured data, and an image sitemap. Shopify hands you format conversion and a fast CDN for free, but the naming, compression, alt text, and markup are yours to own. Do them well and you win two channels at once, higher Google Images and Lens visibility, and a faster store that converts better.

Turn your product images into a discovery and speed advantage

Shopify Speed Audit

Find the heavy images and LCP bottlenecks slowing your product pages down.

Audit my speed →
🔍

SEO Audit

Uncover missing alt text, weak file names, and image indexing gaps across your store.

Find the gaps →
🚀

Shopify Marketing Agency

Tie image SEO into a full organic and paid growth programme built on your data.

See how we work →
FAQ

Frequently Asked Questions

Yes. Alt text is one of the main signals Google uses to understand what an image shows, alongside the file name and surrounding text. Descriptive alt text with the product name and one natural keyword improves your chances in Google Images. It also keeps the page accessible for screen reader users.

Aim for product images under 200 KB, hero or LCP images under about 150 KB, and thumbnails under 30 KB. Export sources at JPEG quality 80 to 85 and no larger than roughly 2048 pixels on the long edge. Shopify converts format but does not compress your original, so do it first.

You do not need to. Shopify’s CDN automatically serves WebP to supported browsers, and AVIF where it is smaller, when images use the image_url filter. Upload compressed JPEG sources at quality 80 to 85 and let the CDN handle format. Compression of the original file is still your responsibility.

Keep it concise, around 125 characters. Describe what the image shows, include the product name and one relevant keyword, and skip phrases like image of or photo of. For a gallery, vary each description by angle or detail so no two images share the same alt text.

Use lowercase words separated by hyphens that describe the product, such as navy-merino-wool-jumper-front.jpg. Avoid camera defaults like IMG_4821.jpg, spaces, and underscores. Shopify keeps the original filename in the image URL, so rename the file before uploading, because renaming later does not change the stored URL.

Shopify generates a sitemap that references product and page images, but large catalogues benefit from confirming coverage in Google Search Console. An image sitemap helps Google discover images faster and can include URLs on a separate CDN domain. Verify the CDN domain in Search Console to catch crawl errors.

Yes. Google Lens matches a photo or screenshot against indexed images using file names, alt text, page context, and image quality. Unique, high-quality product photography placed next to descriptive copy about that exact variant gives Lens the strongest signals to surface your product in visual search results.

No. Purely decorative images such as dividers or background flourishes should use an empty alt attribute, written as alt equals two quotation marks with nothing between them, so screen readers skip them. Informative and product images always need descriptive alt text. Missing alt causes a screen reader to announce the filename instead.