Image SEO Checklist
Google Images handles over a billion queries every day, and images appear in roughly a third of all searches. Yet most sites have never deliberately optimized a single image. This checklist covers the full image SEO stack: alt text, file names, WebP and AVIF formats, lazy loading, image sitemaps, and structured data, so your visuals can rank in Google Images, Google Lens, and Discover.
Images Are a Traffic Channel
For visual industries, image search is often a primary discovery channel. Sites with optimized image libraries see 20-40% of organic traffic arrive through image search. For ecommerce, food, travel, and interior design, that share is even higher, and Google Lens now processes billions of visual searches every month.
Google uses a mix of signals to understand and rank images: the page context around the image, alt text, the file name, image quality, the Core Web Vitals of the host page, structured data, and the backlinks pointing at the page. Alt text remains the single most direct image-specific signal and is also a WCAG accessibility requirement.
The performance side matters just as much. A typical WordPress site ships 2-4 MB of images per page, while PageSpeed Insights recommends staying within 300-500 KB. Choosing the right format and serving the right size per device can cut image payload by 50-80% with no visible quality loss. This page is part of the complete technical SEO checklist, with every image signal you need.
Sources
- Images make up roughly 37% of total page weight on desktop, HTTP Archive page weight report.
Image Format Cheat Sheet
The 15 Image SEO Checks
Optimize every image for discoverability, accessibility, and speed.
| # | Check | Who Does It | Tool | Difficulty |
|---|---|---|---|---|
| 1 | Audit the image library: alt text, names, sizes | You | Screaming Frog | Easy |
| 2 | Write descriptive alt text for meaningful images | You | CMS | Easy |
| 3 | Use empty alt for purely decorative images | You | CMS | Easy |
| 4 | Rename files with descriptive hyphenated slugs | You | CMS | Easy |
| 5 | Compress every image toward target size | Developer | Squoosh / ShortPixel | Medium |
| 6 | Serve WebP or AVIF with picture fallback | Developer | CDN / pipeline | Hard |
| 7 | Add srcset and sizes for responsive delivery | Developer | Code | Hard |
| 8 | Set width and height on every image | Developer | Code | Easy |
| 9 | Never lazy-load the LCP image, preload it | Developer | Code | Medium |
| 10 | Lazy-load below-the-fold images natively | Developer | Code | Easy |
| 11 | Add images to the XML sitemap | You | Sitemap | Easy |
| 12 | Add structured data with image properties | Developer | JSON-LD | Medium |
| 13 | Enable max-image-preview:large and add captions | Developer | robots meta | Easy |
| 14 | Optimize for Discover and Lens requirements | You | Photography | Medium |
| 15 | Monitor image performance in Search Console | You | GSC | Easy |
Deep Dive: Every Check Explained
What each optimization does and how to implement it.
1 Audit the Image Library: Alt Text, Names, Sizes
Run a Screaming Frog crawl and export every image with its alt text, file name, URL, and file size. Filter for missing alt, generic names like IMG_0042.jpg, and files over 300 KB. Prioritize fixing high-value pages first, then roll out the fixes by template.
2 Write Descriptive Alt Text for Meaningful Images
Describe what the image shows in a natural phrase under 125 characters. Screen readers cut off longer descriptions, and keyword stuffing is discounted by Google. Use the pattern: what the image is, of what subject, in what context. Never open with "image of" or "picture of".
3 Use Empty Alt for Purely Decorative Images
Decorative dividers, background textures, and filler icons should have an empty alt attribute. This tells screen readers and crawlers to skip them, keeping your optimization signals clean. Do not omit the attribute entirely; always include it, even when empty.
4 Rename Files With Descriptive Hyphenated Slugs
File names are indexed and act as a keyword signal. Rename before upload: lowercase, hyphens between words, three to six words, one or two relevant keywords, and no special characters. A name like black-leather-handbag-women.webp beats IMG_0042.jpg every time.
5 Compress Every Image Toward Target Size
Most web images should stay under 300 KB, and ideally under 100 KB. A typical WordPress site ships 2-4 MB of images per page while the recommended budget is 300-500 KB. Use Squoosh, TinyPNG, or ShortPixel before upload, and avoid letting plugins recompress already optimized files.
6 Serve WebP or AVIF With Picture Fallback
WebP is roughly 25-35% smaller than JPEG at equal quality and supported everywhere. AVIF adds another 25-50% savings. Use the picture element to serve AVIF to supporting browsers, WebP next, and JPEG as the final fallback. CDNs can convert and negotiate format automatically.
7 Add Srcset and Sizes for Responsive Delivery
Serve the right image size per device. A hero that displays at 1600px on desktop and 400px on mobile should not push 1600px to phones. The srcset attribute lists candidate sizes and the browser picks the right one. Art-directed crops need the picture element with media queries.
8 Set Width and Height on Every Image
Explicit width and height attributes reserve space before the image loads, eliminating layout shift and protecting your CLS score. Without them, images that load late push content down the page and hurt Core Web Vitals. Add aspect-ratio in CSS as extra insurance.
9 Never Lazy-Load the LCP Image, Preload It
The largest contentful paint element is usually an image. Lazy-loading it delays LCP and tanks the score. Give the hero image fetchpriority="high", skip loading="lazy" on it, and add a link rel=preload hint in the document head so it downloads first.
10 Lazy-Load Below-the-Fold Images Natively
Add loading="lazy" to images below the fold so browsers defer them until scroll. Keep real img tags in the HTML with lazy loading; do not load every image through JavaScript, because Googlebot may not execute scripts to discover them, and AI crawlers often do not render JS at all.
11 Add Images to the XML Sitemap
Include image tags inside your XML sitemap entries so Google can discover and index them faster. On JavaScript-heavy sites where Googlebot may not render lazy-loaded images, an image sitemap is the reliable path. Submit it through Search Console.
12 Add Structured Data With Image Properties
Product, Recipe, and Article schema with image properties unlock rich results in image search, including price overlays, recipe thumbnails, and product carousels. List multiple image URLs for products. Keep image URLs stable, with no redirects and no dynamic parameters.
13 Enable Max-Image-Preview:large and Add Captions
Add the max-image-preview:large robots meta tag so Google can show large previews of your images, a requirement for Discover eligibility. Visible captions below images are high-confidence context signals that often outperform alt text because users can see them.
14 Optimize for Discover and Lens Requirements
Discover needs images at least 1200px wide and the large preview tag. Google Lens matches by visual similarity, so use high-resolution product shots on clean backgrounds with accurate Product schema. Retail pages should shoot multiple angles and a lifestyle shot.
15 Monitor Image Performance in Search Console
Filter the Performance report by Images to see which images earn impressions and clicks. Watch per-image CTR, and replace underperforming visuals. Sites that actively monitor image KPIs consistently outgrow peers that ignore the channel.
Image Ranking Signals
How Google decides which images surface in search.
| Signal | Impact | Action |
|---|---|---|
| Page context | High | Surrounding text, title, and headings must match the image topic |
| Alt text | High | Descriptive, under 125 chars, no stuffing, no "image of" |
| File name | Medium | Descriptive, hyphenated, lowercase slug |
| Image quality | Medium | High resolution, sharp, correct format |
| Core Web Vitals | High | LCP and CLS must pass; images are the top cause of LCP failure |
| Structured data | Medium | ImageObject, Product, Recipe, Article with image URLs |
| Page authority | Medium | Backlinks to the host page transfer to its images |
Common Image SEO Mistakes
The errors that keep your visuals invisible and slow your pages.
Missing alt attributes
Not the same as empty alt. Missing tells screen readers to announce the file name. Always include the attribute, empty for decorative images.
Keyword-stuffing alt text
Running shoes best running shoes buy running shoes. Google recognizes and discounts this, and it hurts accessibility.
Lazy-loading the hero image
Delaying the LCP image tanks Core Web Vitals. Preload the hero with fetchpriority="high" and lazy-load only below the fold.
Underscores in file names
Google reads hyphens as word separators and underscores as word joiners. Use hyphenated lowercase slugs.
Missing width and height
Images without dimensions cause layout shift on load, hurting CLS and pushing content around for users.
No image sitemap on big sites
Large image libraries and JS-heavy pages need an image sitemap to guarantee discovery without script execution.
Image SEO Tools
Audit, compress, and deliver optimized images at scale.
Screaming Frog
Exports every image with alt text, file name, URL, and size to flag failures in bulk.
Free (500 URLs)Squoosh
Google's browser-based image compressor for WebP and AVIF export with visual comparison.
FreeTinyPNG / ShortPixel
Batch compression plugins that resize and convert images automatically.
PaidCloudflare Images / ImageKit
CDN image delivery with automatic format negotiation, resizing, and edge caching.
PaidNext.js / Astro image components
Framework image components that auto-generate WebP, AVIF, srcset, and lazy loading.
FreeGoogle Search Console
Images filter in Performance shows which images earn impressions and clicks.
FreeRelated Checklists
Keep exploring the technical SEO series. Every checklist follows the same structure.
Core Web Vitals and Performance
Why image payload is the biggest lever for LCP and overall page speed.
On-Page Technical SEO
Alt text, file names, and image captions as part of your full on-page audit.
CDN, Caching, and Hosting
How a CDN serves optimized images faster and improves image search signals.
Accessibility and A11y
Alt text is both an image SEO signal and a WCAG success criterion.
Ecommerce Faceted Navigation
Product image optimization across large ecommerce catalogs.
Structured Data and Schema
ImageObject and Product schema that unlock rich image results.
Need Image SEO Help?
Get professional image optimization audits from Clienvora. Our expert team fixes alt text, formats, and image sitemaps so your visuals rank in Google Images and Google Lens.
Free consultation. Get a personalized technical SEO audit for your website today. Or download the full checklist PDF.
Image SEO Frequently Asked Questions
Direct answers on alt text, formats, and indexing.
Alt text. It is the primary way search engines understand what an image shows, a main Google Images ranking signal, and a WCAG accessibility requirement. Keep it descriptive and under 125 characters.
Under 125 characters. Screen readers cut off descriptions after that point. A clear descriptive phrase is enough, not a full sentence.
WebP is the web standard at 25-35% smaller than JPEG. AVIF adds 25-50% more savings. Serve AVIF with picture fallback to WebP or JPEG.
Only if you lazy-load the LCP image or load images via JavaScript. Preload the hero and use native loading=lazy below the fold with real img tags.
Descriptive file names and alt text, stable URLs with no redirects, images in your XML sitemap, and a submitted image sitemap. This matters most on JavaScript-heavy sites.
Use descriptive, hyphen-separated, lowercase file names like black-leather-handbag-women.webp instead of IMG_0042.jpg. File names are indexed and act as a keyword signal. Google reads hyphens as word separators.