Image SEO: a practical guide
What actually helps images rank, and what is wasted effort.
Last updated
Image SEO is two separate jobs that often get muddled. One is helping search engines understand what an image shows, through alt text, filenames and structured data. The other is stopping images from slowing your page down, which affects the ranking of the whole page, not just the image.
For most online stores the second job is worth more. A page that loads quickly outranks a page with beautifully-written alt text and four megabytes of unoptimised photography.
Image SEO image requirements
| Alt text | Describe the image; skip "image of" |
|---|---|
| Filename | blue-cotton-shirt.jpg, not IMG_4821.jpg |
| Format | WebP or AVIF for photographs |
| File size | Under ~200 KB for product images |
| Dimensions | Serve close to displayed size |
| Lazy loading | loading="lazy" below the fold only |
| Structured data | ImageObject or Product with image |
How to do it
- 1Rename files descriptively before uploading, because filenames are a real ranking signal for image search.
- 2Write alt text that describes the product as you would to someone who cannot see it.
- 3Compress and convert to WebP so images stop dragging your page speed down.
- 4Add width and height attributes to prevent layout shift, and lazy-load anything below the fold.
Frequently asked questions
Does alt text help SEO?
Yes, in two ways: it is the primary signal for ranking in Google Images, and it is required for accessibility. Describe what is actually in the image rather than stuffing keywords.
Do image filenames matter for SEO?
They do, particularly for image search. "blue-cotton-shirt.jpg" gives Google information that "IMG_4821.jpg" does not. Rename in bulk before uploading. It costs nothing.
How do images affect Core Web Vitals?
Heavily. Images are usually the Largest Contentful Paint element on a product page, and un-sized images cause Cumulative Layout Shift. Compressing and setting explicit dimensions addresses both.
Should I lazy-load all images?
No. Lazy-loading your main product image delays the LCP element and makes the score worse. Lazy-load only what starts below the fold.
Does image structured data help?
It helps search engines associate an image with a product, price and availability, which supports rich results. It is worth adding, but page speed and alt text come first.