WooCommerce Product Image Alt Text: A Practical SEO Guide

Product pages are the pages you actually want to rank, and their images are the part most stores leave blank. A shopper who cannot see the photo — because they use a screen reader, a slow connection, or images are blocked — gets nothing from an empty alt attribute. A search engine gets nothing either.

WooCommerce makes alt text slightly awkward because it never shows the field on the product edit screen. The text lives one layer down, on the media attachment, which is why so many catalogs have hundreds of products with no descriptions at all.

Where WooCommerce keeps alt text

Every product image in WooCommerce is a WordPress attachment. The product stores a reference to the attachment ID; the description is stored on the attachment itself, in the _wp_attachment_image_alt meta field. There is no alt text box in the Product data panel.

So the workflow is indirect: set the images on the product, then edit the description in Media → Library. Find the file, open Attachment details, fill in Alt Text, and save. If you set alt text before uploading, the media modal's Alt Text field does the same job at upload time.

The practical consequence: if the same attachment is used on five products, one description serves all five. That is usually fine for a plain packshot and awkward for anything more specific.

Featured image vs product gallery

WooCommerce gives each product two image slots, and they do different jobs.

  • Featured image. The main image in the Product image panel. It appears on the product page, in category and shop loops, in related products, in the cart, and in structured data. This is the one that gets seen the most and the one search engines associate with the product.
  • Product gallery. The extra images in the Product gallery field. Detail shots, alternate angles, the item in use, size charts. Each gallery image is a separate attachment with its own alt text.

Both need descriptions. A common pattern is a store that writes a careful alt for the featured image and leaves all four gallery images empty, which is most of the visual information on the page.

Write alt text with the product name in it

The product name is the noun the rest of the page is about, and it is the one word the image description should usually contain. After that, add what distinguishes this photo from the other photos of the same product: the view, the color, the material, or the setting.

ImageWeak alt textBetter alt text
Featured image, linen shirtIMG_8842Sand linen camp-collar shirt, front view, on a plain white background.
Gallery, cuff detaildetailClose-up of the linen shirt's rolled cuff and mother-of-pearl button.
Gallery, on a modelmodelModel wearing the sand linen shirt untucked with navy chinos.
Variation, olive coloroliveOlive green linen camp-collar shirt, front view, on a plain white background.
Lifestyle photo, studiostudio shotThe linen shirt hanging on a rail beside a window in a bright studio.

Notice what the better versions avoid: prices, stock status, "buy now", and season words. Alt text that mentions a discount or "new for summer" goes stale the moment the campaign ends, and it is read aloud to every screen reader user who visits the page in March.

Variations and swatches

Variable products can have an image per variation. When a shopper picks "olive, medium", WooCommerce swaps the gallery image to that variation's attachment. The alt text comes from that attachment, so each variation image needs its own description — and it should name the attribute that changed, not just repeat the parent description.

If your variations share one generic image, either accept a single broad description or give the important variations their own photo and description. The second option is more work and materially better for both shoppers and search.

Where stores go wrong

  • Keyword stuffing. "linen shirt men's linen shirt buy linen shirt online cheap linen shirt" is not alt text. Say it once, in a sentence a person would read.
  • Copying the product title. The title is already on the page and already announced. Alt text should add the visual detail the title cannot carry.
  • Using the caption field. Captions are visible text under the image; they are not the alt attribute and screen readers may read both.
  • One description for forty products. "Product photo" on every attachment is worse than an empty field in one way: it hides the problem during an audit.
  • Forgetting the shop loop. Category pages, related products, and cart thumbnails all render the same attachments. Fixing the featured image fixes all of them at once.

Fixing a catalog in bulk

On a store with 300 products and five images each, hand-editing is a fortnight of work. The realistic approach is to separate the catalog into images that need a description and images that already have one, then work in batches.

AltMint scans the media library and WooCommerce product images, lists only the attachments with an empty alt field, and uses the product name as context when it drafts a suggestion. Every suggestion waits for review, so a packshot that needs "front view" and a detail shot that needs "cuff and button" get different sentences instead of the same one pasted five times. The free plugin is unlimited with your own AI key; Pro automation is on the pricing page.

Work category by category rather than alphabetically. One category is a bounded batch you can finish and check, and the descriptions stay consistent within it. If you want the fuller process, the bulk editing guide covers scan-only-missing, review, and save in detail.

Frequently asked questions

Does alt text help product pages rank?

It helps search engines understand the image and the page, and it feeds image search, which sends real traffic for visual products. It is not a substitute for a good product title, description, and internal links, but it is one of the cheaper things to fix.

Should the product name go in every image's alt text?

Usually yes for the featured image and the main gallery shots. For a detail photo, the product name plus the detail is ideal — "linen shirt cuff detail" tells a screen reader user both what it is and why it is there.

What about the image title and filename?

They are separate fields and neither replaces alt text. A descriptive filename helps you find the file later, but a screen reader will not read it as the image description.

Can I use the same alt text in every product?

You can, but it is rarely right. A shirt and a lamp need different descriptions. Reusing text across a catalog is the fastest way to make the whole set look machine-generated to a reviewer — human or otherwise.

If you are still setting up the field by hand, the WordPress alt text walkthrough covers the block editor, the classic editor, and the Media Library.