Image SEO
Last updated View as Markdown
Image SEO covers the practices that make images discoverable in image search, accessible to assistive technology, and efficient enough to load without dragging down Core Web Vitals. It overlaps three disciplines (search, accessibility, performance) and the same techniques typically improve all three.
File names
Images uploaded with default camera or stock-library file names (IMG_4892.jpg, screenshot-2026-04-25-at-10-33-11.png) provide no signal about content. Rename before uploading to descriptive, hyphen-separated, lowercase strings:
core-web-vitals-search-console-report.webpliam-hayward-seo-specialist-portrait.webpgbp-listing-knowledge-panel-example.png
Google says a file name gives it “very light clues” about an image’s subject matter.1 It also makes content management vastly easier for everyone working on the site.
Alt text
Alt text describes an image for users who cannot see it: screen reader users, users on slow connections where images don’t load, and search engines indexing the page.
The rules:
Describe what the image shows. Not what it means symbolically; not what you want the user to associate with the image. The literal content of the image.
Be specific. “Person at a laptop” is weak. “SEO specialist Liam Hayward analysing a Search Console report on a laptop” is useful. Specificity helps both screen reader users and search visibility.
Skip “image of” or “picture of”. Screen readers already announce the element as an image. Repeating the type is redundant.
Use empty alt for decorative images. Pure decoration (background patterns, separator graphics) should have alt="", which tells screen readers to skip the image. Don’t use the word “decorative” in the alt; use the empty string.
Don’t keyword stuff. Alt text is a content field, not a keyword field. Stuffed alt text damages accessibility (it’s read out loud to screen reader users), and Google says it “may cause your site to be seen as spam”.1
File formats
Use modern formats. The order of preference for most cases:
- AVIF. Smallest file sizes for photographic content. Browser support is now near-universal.
- WebP. Excellent compression, broad support, the safe modern default.
- PNG. Use only when transparency or pixel-perfect graphics are required (logos, UI screenshots).
- JPEG. Acceptable fallback for older systems. Newer formats are smaller at equivalent quality.
- SVG. The right choice for logos, icons, and illustrations. Scales without quality loss; usually the smallest file size.
JPEG XL is missing from this list on purpose: Chrome displays it, but Google Search does not support it, so if you use it, serve it as a <source> inside a <picture> element and keep a supported format in the <img> src.1
Avoid GIFs for anything except short looping animations. For longer animations, use a video format (MP4, WebM) with the <video> element. A video is not indexed like an image, though: Google gives it a video result only on a page built around it, which is the subject of video SEO.
Image dimensions and srcset
Images should be served at the dimensions they will be displayed at, with appropriate variants for different viewport sizes. The srcset and sizes attributes let the browser choose the right variant:
<img
src="hero-800.webp"
srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1600.webp 1600w"
sizes="(min-width: 768px) 800px, 100vw"
width="800"
height="450"
alt="Descriptive alt text"
loading="lazy"
/>
Setting explicit width and height reserves layout space and prevents Cumulative Layout Shift, one of the Core Web Vitals.
Lazy loading
Use loading="lazy" on images below the fold. This defers loading until the image is about to enter the viewport, reducing initial page weight and improving LCP for above-the-fold content.
The exception: do not lazy-load the LCP image. The largest above-the-fold image is the one Core Web Vitals is measuring; lazy-loading it actively damages LCP scores.
Image compression
Modern build tools and CDNs handle compression automatically (Astro’s <Image> component, Next.js Image, Cloudflare Images, Vercel’s image optimisation). For static images, run them through a tool like Squoosh or ImageOptim before uploading. Aim for the smallest file size that delivers acceptable visual quality; for most photographic content, WebP at quality 75 to 85 is the sweet spot.
WebP
WebP is an image format developed by Google that covers both lossy and lossless compression in a single format, with support for transparency (unlike JPEG) and animation (unlike JPEG; PNG animates only as animated PNG, part of the PNG standard since June 2025).2 For photographic content, WebP files are typically 25 to 34% smaller than JPEG at equivalent visual quality.3
Browser support is universal across all current browser versions. AVIF usually compresses further than WebP and is worth adding where build tooling supports it. For any image that is not a vector (SVG) or pixel-perfect graphic (PNG), WebP is the safe default.
Converting existing images. Squoosh handles one-off conversion in the browser with no installation required. For bulk conversion: ImageMagick, Sharp (Node.js), and most CMS media libraries support WebP output. Framework image components (Astro’s <Image>, Next.js Image) convert to WebP or AVIF automatically at build or request time.
Quality settings. Lossy WebP at quality 75 to 85 is visually indistinguishable from JPEG source material for most photographic content. Lossless WebP is the better choice for screenshots and images with flat areas of colour.
Transparency. WebP replaces PNG for transparent images in most cases. Where pixel-perfect rendering is a requirement (certain logos, UI screenshots), PNG and lossless WebP produce comparable file sizes and either is acceptable.
Image search and structured data
Image search remains a meaningful traffic source for visual niches (recipes, products, photography, design). To improve image search visibility:
- Use descriptive file names and alt text
- Surround images with relevant text: Google extracts information about an image’s subject from the content of the page, including captions and image titles1
- Provide an
<img>element rather than a CSS background image, which Google does not index1 - Where licensing matters, add ImageObject schema with the fields Google Images displays:
license,acquireLicensePage,creatorandcreditText4 - List images Google might otherwise miss (for example, images loaded via JavaScript) in an image sitemap, using the
<image:image>extension, up to 1,000 per URL5
For e-commerce, Product schema with image references is more impactful than ImageObject schema for the typical use case.
Google is not the only index reading these images. In the same visual niches, Pinterest search is a second destination for the same assets, and it now ranks partly on what its computer vision reads from the image itself rather than only on the text around it, which raises the return on original, well-lit photography over stock.
Images in AI search
Images now surface inside AI experiences, not just the Images tab. Google is bringing image generation directly into AI Overviews using its Nano Banana model, and AI Mode uses a “visual image fan-out” that breaks a single image query into dozens of sub-queries to understand the full scene.6 For visual search through Google Lens and similar tools, the same fundamentals carry the load: a real <img> element, descriptive file names and alt text, and relevant surrounding copy are what let a system identify an image and place it in context. Optimising for image search and optimising for these AI-visual surfaces are largely the same work. Search Console reports that traffic separately: since 24 September 2026, rolling out globally, its performance reports carry a multimodal search type filter covering searches made with Lens, Circle to Search on Android, image uploads to Google Search and Chrome’s “Search this image”.7
Provenance is the newer layer, and it is the one an image publisher applies rather than receives. C2PA Content Credentials attach cryptographically signed metadata to a file recording who created it and how it has been edited since. Google added C2PA verification to the Gemini app in May 2026 and said it would come to Search and Chrome “in the coming months”; the check Search gained that day was SynthID, Google’s own AI watermark, which a reader runs by asking whether an image was made with AI through Lens, AI Mode or Circle to Search.8 No platform has said these signals affect ranking. Applying Content Credentials to original photography and to AI-generated illustration is a transparency measure rather than an SEO one, and worth doing on that basis alone.
Common image SEO mistakes
| Mistake | Effect |
|---|---|
| Default camera file names | Lost relevance signal |
| Missing alt text | Accessibility failure; weaker indexing |
| Decorative images with descriptive alt | Screen reader noise |
| PNG for photographic content | Far larger than a lossy WebP or AVIF |
No width/height attributes | CLS damage |
| Lazy loading the LCP image | LCP damage |
| Background-image CSS for content imagery | Not indexed by image search |
Frequently asked questions
Should I include keywords in image file names?
Where they fit naturally, yes. Don’t manufacture keyword-stuffed file names that don’t accurately describe the image.
Do alt text length limits matter?
Screen readers handle long alt text but it becomes tedious for users. 125 characters is a useful target. Beyond that, consider whether the image needs a longer description elsewhere on the page (a caption or surrounding text).
Does Google index images served from a CDN with a different domain?
Yes. Serving images from a CDN or a media subdomain is supported, and it insulates image URLs from future CMS and template changes. A sitemap may list image URLs on another host provided both hosts are verified in Search Console, which Google’s image sitemap guidance states for exactly this case.5 Two conditions are easy to miss. The host’s robots.txt must not disallow crawling of the images, and it is a different file from your main site’s. And Search Console coverage depends on your property type: a Domain property (sc-domain:) already covers every subdomain, so a media subdomain needs nothing extra, while a URL-prefix property does not, and a genuine third-party CDN domain is outside both. Google frames verifying the image host as encouraged rather than required, and the benefit is diagnostic: it is how you get told about crawl errors on those URLs.1 What a migration does to images on any host, including a CDN, is covered in Images During a Site Migration.
Footnotes
-
Google Images best practices — Google Search Central ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Portable Network Graphics (PNG) Specification (Third Edition) — W3C, Recommendation of 24 June 2025 ↩
-
Announcing web multimodal Search performance reporting in Search Console — Google Search Central Blog, 24 September 2026 ↩
-
Making it easier to understand how content was created and edited — Google. Published 19 May 2026. ↩