Skip to content

Images · 7 min read

Image SEO checklist: what Google actually uses

Every item here traces back to Google Search Central's image guidance or Core Web Vitals advice, with the markup to copy. Work through it before you publish a page with images.

In short

  • Put images in HTML img elements. Google says it doesn't index images set as CSS backgrounds.
  • Alt text is the most important image metadata, according to Google. Describe the image in context and don't stuff keywords.
  • Use short, descriptive file names with hyphens, such as black-kitten-sleeping.jpg, instead of IMG00023.JPG.
  • Never lazy-load the main image at the top of the page. Lazy-load images further down and give every image width and height.
  • License details in structured data or IPTC metadata can earn a Licensable badge in Google Images.

What image SEO covers

Image SEO is two jobs. The first is helping Google find, understand and index your images, so they can appear in Google Images and as thumbnails in search results. The second is making images load fast, because heavy images slow the page and hurt Core Web Vitals.

Google publishes its own guidance on both, which makes this one of the few SEO topics where you don't have to guess. This checklist follows Google Search Central's image SEO best practices page (last updated March 2026), its pages on lazy loading and image license metadata, and the Optimize LCP guide on web.dev.

1. Make images indexable

Google finds images in the src attribute of img elements, including an img inside a picture element. Its documentation states directly that it doesn't index CSS images, so a hero photo set with background-image won't show up in Google Images.

Indexed:
<img src="golden-retriever-puppy.jpg" alt="Golden retriever puppy on a lawn">

Not indexed:
<div style="background-image:url(golden-retriever-puppy.jpg)"></div>
  • Use a supported format: Google Search supports BMP, GIF, JPEG, PNG, WebP, SVG and AVIF. Make sure the file extension matches the actual file type.
  • When you use srcset or picture, always keep a fallback src, because some browsers and crawlers don't read the other attributes.
  • Add an image sitemap for images Google might not find through crawling. Unlike regular sitemaps, image sitemaps can list URLs on other domains, which covers images served from a CDN.
  • If the same image appears on many pages, use the same URL everywhere so it can be cached and reused.
  • Inline Base64 data URIs are allowed, but Google warns they can make the page much bigger. Keep them for tiny icons.

2. Write alt text for SEO and for people

Google calls alt text the most important attribute for providing metadata about an image. It's also what screen readers announce and what appears if the image fails to load, and when an image is a link, Google treats its alt text like anchor text. Google's own examples show the range:

<img src="puppy.jpg">                                  bad: no alt text
<img src="puppy.jpg" alt="puppy dog baby dog pup pups puppies doggies ...">   bad: keyword stuffing
<img src="puppy.jpg" alt="puppy">                      better
<img src="puppy.jpg" alt="Dalmatian puppy playing fetch">   best

Write what someone would need to know if they couldn't see the image, in the context of that page. On a recipe page, "Sourdough loaf with a dark, blistered crust cooling on a rack" is useful. On a chart, give the finding: "Bar chart: monthly visits rose from 12,000 in January to 31,000 in June". Google warns that stuffing keywords into alt text can be treated as spam.

Purely decorative images, like a divider line, should have an empty alt="" so screen readers skip them. For inline SVG, Google recommends a title element inside the SVG instead of an alt attribute.

3. Use descriptive image file names

Google says file names give it light clues about what an image shows. Its example: my-new-black-kitten.jpg is better than IMG00023.JPG. Avoid generic names like image1.jpg or pic.gif.

  • Separate words with hyphens. Google's URL guidance recommends hyphens over underscores.
  • Keep names short and accurate: three to five words naming what's in the picture.
  • If you translate a page, translate the image file names too.
  • Rename before you publish. Changing a file name later changes the image URL, and links to the old one break unless you redirect them.

Renaming a folder of camera exports by hand is slow. Our bulk image renamer applies a pattern with kebab-case and sequence numbers to up to 500 files at once.

4. Give images context and choose the preferred image

Google uses the page's text, captions and title to understand what an image is about. Place images near the text they illustrate, on pages about that subject. A caption directly under the image ties it to a specific sentence about it.

For the thumbnail that represents your page in search results, Google picks an image automatically, but you can state a preference with the og:image meta tag, schema.org primaryImageOfPage, or the image property of the page's main entity, such as a BlogPosting. Google's advice for that image: make it relevant and representative, avoid your site logo or images full of text, avoid extreme aspect ratios, and use a high resolution.

<meta property="og:image" content="https://example.com/images/sourdough-loaf.jpg">

5. Make images fast: LCP, lazy loading and responsive sizes

On many pages the largest element in the first screen is an image, which makes it the Largest Contentful Paint (LCP) element. Google's Core Web Vitals target is an LCP within 2.5 seconds. The web.dev guide to optimizing LCP gives specific rules for that image:

  • Never lazy-load the LCP image. web.dev states that it always adds unnecessary delay.
  • Put it in the HTML as an img, not in CSS or JavaScript, so the browser finds it early. If it has to come from CSS, preload it.
  • Add fetchpriority="high" to it, and to no more than one or two images, or the signal stops meaning anything.

For images further down, use loading="lazy". Google's lazy-loading guidance says content must load when it enters the viewport without any scrolling or clicking, because Google Search doesn't interact with your page, and you shouldn't lazy-load content that's visible when the page opens.

<img src="hero-1600.webp"
     srcset="hero-800.webp 800w, hero-1600.webp 1600w"
     sizes="(max-width: 800px) 100vw, 800px"
     width="1600" height="900"
     fetchpriority="high"
     alt="Sourdough loaf on a cooling rack">

<img src="crumb-800.webp" loading="lazy" width="800" height="600"
     alt="Cut loaf showing an open crumb">

Always set width and height. The browser reserves the space before the image arrives, which prevents layout shift (Google's good CLS score is under 0.1). Then cut the bytes: resize to the displayed size with the image resizer, compress photos with the JPG compressor, and serve WebP made with our WebP converter. Our guide to compressing images without losing quality has measured settings.

6. Add structured data and license metadata

Structured data can make images eligible for rich results and badges in Google Images, and Google notes that the image property is required for a badge in each structured data type. A recipe, product or article without an image property can't get one.

For photos you license, Google reads either schema.org ImageObject properties (license, acquireLicensePage, creator, creditText, copyrightNotice) or IPTC photo metadata embedded in the file (Web Statement of Rights, Licensor URL, Creator, Credit Line, Copyright Notice). Supplying license, or the Web Statement of Rights field in IPTC, can make the image eligible for the Licensable badge. If the two sources conflict, Google uses the structured data, and it doesn't guarantee either will show.

There's a privacy trade-off. Camera files also carry EXIF data, including GPS location for many phone photos. Remove location data from photos taken at home before publishing, and if you rely on IPTC rights fields, check that your cleaning tool doesn't strip those too. Our EXIF viewer and cleaner shows exactly what a file contains before you decide.

The image SEO checklist

  1. Image is an img element (or inside picture) with a working src, not a CSS background.
  2. Format is JPEG, PNG, WebP, AVIF, GIF, SVG or BMP, and the extension matches the file.
  3. Alt text describes the image in the page's context; decorative images have alt="".
  4. File name is short, descriptive and hyphenated.
  5. Image sits near related text, with a caption where it helps.
  6. Main image for the page is set with og:image or structured data, and isn't a logo.
  7. Image is resized to its display size and compressed; srcset serves smaller versions to small screens.
  8. width and height are set.
  9. LCP image isn't lazy-loaded and has fetchpriority="high"; images below the first screen use loading="lazy".
  10. Images Google can't reach by crawling are listed in an image sitemap.
  11. Location data is removed; license metadata is added if you sell or license images.
  12. The rendered page in Search Console's URL Inspection tool shows the image URLs in src attributes.

Frequently asked questions

Does alt text help SEO?

Yes. Google's image SEO documentation calls alt text the most important attribute for image metadata and uses it, along with the surrounding page, to understand the image. It also counts as anchor text when the image is a link.

How long should alt text be?

Google doesn't set a length. Write enough to describe the image in context, usually one short sentence, and leave out phrases like "image of", since screen readers already announce that it's an image.

Do image file names matter for SEO?

A little. Google says file names give it light clues about the subject, so black-kitten.jpg helps more than IMG00023.JPG. Alt text, captions and page context carry more weight.

Should I lazy load all images?

No. Lazy-load images below the first screen, but never the main image visible when the page opens, because that delays Largest Contentful Paint. Google also needs lazy-loaded images to load on entering the viewport without scrolling or clicks.

Does Google index WebP, AVIF and SVG images?

Yes. Google Search supports images in BMP, GIF, JPEG, PNG, WebP, SVG and AVIF formats when they're referenced in an img element's src attribute.

Are CSS background images indexed by Google?

No. Google's documentation says it doesn't index CSS images. Use an img element for any image you want to appear in Google Images.

Sources

Published 11 October 2026Written and fact-checked by the ToolzyLab teamEditorial policy