All guidesDiagnostics

Why Your Images Aren't Showing in Google Images: A Diagnostic Walkthrough

Nine causes in the order they actually occur, with the check for each. Most 'my images don't rank' problems turn out to be discovery failures, not quality ones.

July 26, 20268 min read
A magnifying glass resting on a printed website analytics report beside a laptop

"Our images don't rank in Google Images" is almost never a ranking problem. In the large majority of cases the images were never indexed at all, and the cause is something mechanical — a robots rule, a JavaScript gallery, a page that is not indexed itself.

The distinction matters because the fixes are unrelated. Ranking problems are solved with better filenames, alt text and page context. Discovery problems are solved by removing whatever is in the way, and no amount of metadata work will help until you do.

Here are the nine causes in roughly the order they occur in practice, each with the check that confirms or eliminates it. Work down the list; do not skip to the interesting ones.

First, rule out impatience

Image indexing is slow. Pages can appear within days; images routinely take weeks and sometimes a couple of months. Google's guidance on this is unusually direct about the delay.

The check: when did the images go live and become discoverable? If it is under a month, there may be nothing wrong. Open Search Console → Performance → set Search type to Image and look at the trend rather than the absolute number. Rising impressions from zero means the process is working and you are early.

If it has been live for months with a flat zero, continue.

1. The page itself is not indexed

Image discovery rides on page crawling. An unindexed page takes its images with it.

The check: run the page through URL Inspection in Search Console. If it reports the URL is not on Google, or is excluded by a noindex, or is canonicalised to another URL, stop here — this is your problem and it is a page-level one. Nothing about the images matters until the page indexes.

Frequent culprits: a staging noindex that survived launch, a canonical tag pointing at a different URL, a page reachable only through a form or a filter with no crawlable link path.

2. robots.txt is blocking the image path

The single most common silent cause, and the most satisfying to fix because it is one line.

The check: open yourdomain.com/robots.txt and read every Disallow. Look for anything covering /assets/, /uploads/, /media/, /static/, /img/, or a wildcard on file extensions. Then check whether your images are served from a different subdomain or CDN hostname — that host has its own robots.txt, and it is frequently more restrictive than the main one. A CDN added after launch with a default deny is a classic.

URL Inspection on the page will also flag images it could not fetch.

3. The images aren't in the rendered HTML

If a gallery, carousel or lazy-load library injects images client-side, they may not be present in what Google actually processes.

The check: URL Inspection → View Crawled Page → the rendered HTML tab. Search it for your image filenames. If they are absent, Google did not see them.

Fixes, in order of preference: put the images in the server-rendered HTML as plain <img> elements; if a carousel is required, render the first slide server-side and let the script take over after; if a third-party widget is responsible, accept that its images will not index and put the ones you care about in the page markup yourself.

This is also a performance issue — a JavaScript-injected hero image is a common cause of a failing Largest Contentful Paint, covered in images and Core Web Vitals.

4. Lazy loading is implemented incorrectly

Native loading="lazy" is fine and Google handles it. What breaks is a JavaScript lazy-loader that leaves src empty or holds the real URL in a data-src attribute with no <noscript> fallback.

The check: view source (not DevTools — actual source) and look at your img tags. If src is a placeholder or a data URI and the real path lives only in a data- attribute, that is a discovery risk.

The fix: use native loading="lazy" with a real src. It is better supported, faster, and needs no library. Remember it must not be on your above-the-fold hero.

5. No sitemap coverage

Not a blocker on its own, but it removes a discovery path — and on large sites where crawl budget is a genuine constraint, that path matters.

The check: open your sitemap XML and look for <image:image> entries. Many SEO plugins add them automatically and many configurations do not.

The fix: add image entries for pages whose images matter. Our image sitemaps guide covers the markup and the common validation errors. Then resubmit in Search Console rather than waiting.

6. The images are too small to be useful

Very small or heavily compressed images are poor candidates for image search results, which are a visual surface.

The check: what dimensions do you actually serve? A file that is 1200 px wide but constrained by CSS to 180 px is fine; a file that is genuinely 180 px wide is not much use to anyone.

The fix: serve images at a size appropriate to how they are displayed, with a srcset so phones get smaller variants. Do not simply serve everything huge — that trades one problem for a speed problem. Our format comparison covers the sizing and encoding decisions together.

7. Duplicate or near-identical images across many URLs

If the same file is referenced from forty URLs, or forty near-identical files exist, Google picks one representative and ignores the rest.

The check: does your platform generate a distinct upload per product variant even when the variants look identical? Do your location pages share one stock photograph?

The fix: reference one canonical file from many pages rather than duplicating it, and give genuinely different things genuinely different images. Our product image SEO post covers the variant rule in detail.

8. Nothing on the page says what the image is

At this point discovery is fine and you have moved into the ranking problem. Google needs to understand what the image shows in order to serve it for anything.

The check: pick an image and ask what evidence exists about its content. Is the filename descriptive or is it IMG_4471.jpg? Is the alt attribute present, non-empty and specific? Does nearby body text discuss the subject? Is there a caption?

The fix: this is the core of image SEO and it is per-file work. Descriptive filenames — see the filename guide. Real alt text — see the alt text guide. Place images adjacent to the text that discusses them rather than in a gallery block at the bottom. Embedded metadata adds a further layer, covered in EXIF metadata for SEO.

9. You are competing, and losing

If the Image search-type report shows impressions but few clicks, everything above is working. You appear and are not chosen — or you appear for the wrong queries.

The check: impressions up with clicks flat usually means you rank for something irrelevant. Compare your images against what currently appears for your target query. Are theirs clearer, better cropped, more obviously the answer?

The fix: relevance and quality rather than mechanics. Clean isolated subjects, honest descriptions matching real search intent, and the page-level authority that no image tweak substitutes for. The full checklist sorts the remaining levers by leverage.

A twenty-minute triage

If you want to work the list without reading all nine sections, this is the sequence and it resolves most cases. Current as of July 2026.

  1. Search Console → Performance → Search type: Image. Any impressions at all? If yes, discovery works and you are on cause 8 or 9. If a flat zero over 90+ days, continue down this list.
  2. Fetch /robots.txt on both your main domain and your image host. Read every Disallow. This single step resolves a surprising share of cases.
  3. URL Inspection on one page whose images should rank. Is the page indexed? If not, that is the problem.
  4. Same panel → View Crawled Page → rendered HTML. Search for one image filename. Absent means the images are JavaScript-injected.
  5. View source and read one img tag. Is src a real path, or a placeholder with the URL hidden in data-src?
  6. Open your sitemap XML. Do <image:image> entries exist?
  7. Look at three filenames and three alt attributes. If they are IMG_*.jpg with empty alt text, you have found the ranking half of the problem regardless of what else is true.

Steps 1 to 6 are mechanical and take about fifteen minutes between them. Step 7 is the one that leads to ongoing work rather than a one-time fix, which is why it belongs last — there is no point writing alt text for images Google is forbidden from fetching.

One measurement caution before you act on any of this: Search Console reports on a delay, and image data in particular is sparse for low-traffic sites. A single day's numbers tell you nothing. Compare 28-day windows.

The shape of the answer

Symptom Most likely cause First check
Zero image impressions, site is new Too early Time since launch
Zero impressions, pages rank fine robots.txt or CDN block robots.txt on the image host
Zero impressions, images in a gallery JS injection Rendered HTML in URL Inspection
Some images indexed, most not Sitemap coverage or duplicates Sitemap XML, variant handling
Impressions but no clicks Relevance / quality Compare with what ranks now
Sudden drop after a redesign Filenames changed, no redirects Old image URLs returning 404

That last row deserves a warning. The most common self-inflicted version of this problem is a bulk re-encode or rename that changed every image URL without redirects. If your impressions fell off a cliff after a migration, check whether the old image paths still resolve before looking anywhere else.

The pattern underneath all nine

Causes 1 through 7 are infrastructure — configured once, fixed once, applied to everything thereafter. Causes 8 and 9 are per-file description, needed for every image forever, and impossible for any build step to invent because it does not know what your photograph shows.

Which is why the second category is where sites actually fail. The infrastructure gets fixed because someone can fix it in an afternoon and see it done. The description work never finishes.

For images you generate rather than photograph, SEOpix closes that side by writing the descriptive filename, alt text and EXIF block at generation time, so files arrive described instead of joining the backlog. At volume, the bulk workflow guide covers keeping the habit alive across hundreds of images a month.

Work the list in order. If you get to cause 8 and everything above is clean, congratulations — you have a real image SEO problem, which is the good kind. Ten images a month are free if the describing is your bottleneck, and the pricing page has the volume tiers.

Frequently asked questions

How long does it take for images to appear in Google Images?+

Considerably longer than pages — weeks is normal and a couple of months is not unusual. Image indexing is a lower-priority crawl activity and Google's own documentation is candid about the delay. Before diagnosing a problem, confirm the images have been live and discoverable for at least a month.

How do I check whether a specific image is indexed?+

There is no per-image index status report. The closest checks are URL Inspection on the containing page, which shows the rendered HTML Google used and whether the images are present in it, and a site: search restricted to Images. Search Console's Performance report with Search type set to Image tells you whether image traffic exists in aggregate.

Can images be indexed if the page isn't?+

In practice, no. Image discovery runs through page crawling, so an unindexed or noindexed page takes its images with it. If a page is excluded for any reason — noindex, canonicalised elsewhere, blocked, or simply not yet crawled — start there rather than with the images.

Does robots.txt block images separately from pages?+

Yes, and this is one of the most common silent causes. A Disallow rule covering an assets directory, an uploads path or a CDN subdomain removes every image behind it from image search while the pages themselves index normally. Sites that added a CDN after launch are especially prone to it.

Do JavaScript-loaded images get indexed?+

Sometimes, but unreliably and slowly. Google renders pages, so client-side images can be found — but images present in the initial server HTML are discovered far more dependably. If a gallery or carousel injects images after load, check the rendered HTML in URL Inspection to confirm they appear at all.

Will an image sitemap fix images that aren't indexed?+

It fixes discovery, which is one of several possible causes. If images are blocked, on unindexed pages, or absent from the rendered HTML, a sitemap changes nothing — Google will not fetch what it is forbidden or unable to reach. Rule out the blocking causes first, then add sitemap coverage to accelerate discovery.

Could my images be indexed but simply not ranking?+

Yes, and it is a different problem with a different fix. Impressions greater than zero in the Image search-type report means discovery worked and you are competing on relevance — filenames, alt text, surrounding page text and page authority. Zero impressions over a long window points at discovery instead.

Let SEOpix handle the metadata

Filenames, alt text, EXIF fields and GPS coordinates written automatically as each image is generated. Start with 10 free images a month — no credit card required.

Keep reading