# One Page Earned 102,657 Image Impressions and 2 Clicks. I Shipped 8 Free Tools That Find Pages Like It.

> Source: <https://suganthan.com/blog/gsc-mcp-image-seo-tools/>
> Published: 2026-08-27 00:00:00+00:00

# One Page Earned 102,657 Image Impressions and 2 Clicks. I Shipped 8 Free Tools That Find Pages Like It.

Image search on one client site ran at 64% of web's impressions and 11% of its clicks, and no tool in the stack could see it. The new GSC MCP update ships 8 free image SEO tools that read that surface and audit the pages behind it.

One page on a [Snippet Digital](https://snippet.digital/) client site earned 102,657 image-search impressions in 90 days. It got 2 clicks.

None of the tools we run had flagged it. Not the rank tracker, the site audit or the weekly reports. The page was getting pushed into Google Images results at position 50 all quarter, converting almost nothing, and every dashboard in the stack said things were fine.

I found it on 18 May, the day I patched [my free Search Console MCP](https://github.com/Suganthan-Mohanadasan/Suganthans-GSC-MCP) to ask Google for image-search data. First pull, first site, there it was.

The same pull put the whole site at 1,758,523 image-search impressions against 2,759,641 on web. Image impressions ran at 64% of web’s volume and image clicks at 11%. CTR was 0.14% on image against 0.78% on web, so a surface pulling two thirds as many impressions as web converted 5.6 times worse than the one everyone stares at.

## The API parameter almost nobody sends

This isn’t a data problem. Google has the numbers and serves them through the same Search Console API every SEO tool already uses. The API takes a `type`

parameter with six values: `web`

, `image`

, `video`

, `news`

, `discover`

, `googleNews`

. Nearly everything defaults to `web`

and never asks for the rest.

So the data behind that 102K page has been sitting in the account the whole time, unread. Yours is too.

The manual call looks like this.

```
POST https://www.googleapis.com/webmasters/v3/sites/{siteUrl}/searchAnalytics/query

{
  "startDate": "2026-02-17",
  "endDate": "2026-05-17",
  "dimensions": ["query", "page"],
  "type": "image",
  "rowLimit": 25000
}
```

Same fields as a web query. Clicks, impressions, CTR, position, filtered to image search only. Every useful pattern needs 2 to 4 of those calls plus the joining, web against image, this period against last, impressions against clicks. I did it by hand exactly once.

Image search might be the most under-audited surface in SEO right now, and the reason is tooling. The data was never hard to read. It just never got a UI.

## Ask a question, get the answer

The patch grew into a proper release. The latest update of the GSC MCP adds 8 image SEO tools, and the point of an MCP is that you don’t run API calls. You ask questions.

“*Which pages get image impressions but no clicks?*” is a complete, working query. Claude picks the right tool, makes the API calls, joins the results, and renders a dashboard. Ten seconds, straight from your account. Seven of the tools wrap the GSC patterns I kept re-running on client data. The eighth fetches the failing pages themselves and tells you why they fail.

New to the MCP? One command sets it up:

```
npx -y suganthan-gsc-mcp setup
```

It signs you in, verifies the connection with a live call, and writes your Claude Desktop and Claude Code configs. There’s also a one-click `.mcpb`

bundle on the [releases page](https://github.com/Suganthan-Mohanadasan/Suganthans-GSC-MCP/releases) if you’d rather never see a terminal, and the [full setup guide](/blog/google-search-console-mcp-server/) walks every step. Already running it? Restart Claude Desktop and you’re on the new version. `npx`

fetches it on launch, and `.mcpb`

installs update from the same releases page.

It’s free, it runs on your machine, and your data goes to Google and back and nowhere else.

`image_keyword_overview`

You can’t optimise a surface you’ve never looked at, and most sites have never once seen their image-search queries. This is the first look.

Ask: **“What do people search Google Images for that brings them to my site?”**

You get the top queries with clicks, impressions, CTR, and position, and some of them will be demand you never targeted. Open the page catching each big query and check whether its images actually answer that search. A query about one thing reaching a page whose images show another is the fastest fix on the list. Then the two triage tools below set the working order.

`image_pages_overview`

The queries are half the map. This is the other half, which pages are doing the earning.

Ask: **“Which of my pages perform best in image search?”**

The top of the list is your own evidence of what works. Open the top three, note what their images share (style, filename pattern, alt text, size), and apply that to the pages below them before inventing anything new. Pages missing from the list entirely are the bigger problem, usually blocked images, background images, or dimensions too small to index.

Five of the client’s biggest image pages from the August pull, URLs generalised to their format:

Content format | Image impressions | Clicks | CTR |
|---|---|---|---|
| Definition guide | 135,340 | 117 | 0.09% |
| Long-form comparison explainer | 120,392 | 65 | 0.05% |
| Beginner tips listicle | 92,589 | 111 | 0.12% |
| Category roundup | 57,924 | 169 | 0.29% |
| How-to guide | 36,689 | 75 | 0.20% |

Five pages, nearly 443,000 image impressions between them, 537 clicks. The roundup at 0.29% runs nearly six times the CTR of the explainer because its thumbnails answer the search instead of decorating the page. On this site the roundup is the template, and the copy-the-winner pass starts with what its images do that the explainer’s images don’t.

`compare_web_vs_image`

Some queries are typed by people who want to read and some by people who want to look, and the standard query report blends both surfaces so you can’t tell which is which. That means image work gets spent on web-led queries and skipped on the image-led ones.

Ask: **“Compare web and image performance for my top queries.”**

Query type | Web impr | Web CTR | Image impr | Image CTR | Image to web impr |
|---|---|---|---|---|---|
| Single generic noun | 8,092 | 0.05% | 61,125 | 0.04% | 7.6x |
| Plural generic noun | 10,916 | 0.41% | 26,946 | 0.06% | 2.5x |
| Two-word visual category | 2,896 | 0.00% | 48,115 | 0.06% | 16.6x |
| Niche profession query | 24,978 | 0.02% | 14,464 | 0.26% | 0.6x |

The ratio decides where the effort goes. The generic noun pulled 7.6 times more image impressions than web and converted almost none of them, so that page gets the image pass first and the text pass can wait. The profession query ran the other way, 0.26% CTR on image against 0.02% on web, because for that search the photo is the answer. Below 1x, keep the priority on text and copy.

`image_search_quick_wins`

A full image-search report on a real site runs to hundreds of rows, and a list without an order is homework. This one comes pre-sorted by what’s worth doing first.

Ask: **“Where are my image search quick wins?”**

It surfaces image queries at positions 4 to 15 with real impressions, scored by the traffic gained if they reach position 3. Below 15 you’re competing with the whole image catalogue. Inside the top 3 you’re already winning. The middle band is where one optimisation pass moves the line. The scoring uses an image-calibrated CTR baseline, because image search clicks through 5 to 6 times lower than web at the same positions and a web baseline would overpromise.

Each row points at a page worth a 30-minute pass with the fix list at the end of this post, working from the top of the score column down. Re-run after 2 to 4 weeks and the rows you fixed should drop off the list. A row that doesn’t move after the pass needs a different image.

`image_impressions_no_clicks`

The failure mode from the top of this post. A page can earn six figures of image impressions and convert none of it, and a web-first report will never mention it, because on the web surface the page looks ordinary.

Ask: **“Which pages get image impressions but no clicks?”**

You get query and page pairs with 500 or more impressions and 2 or fewer clicks, both thresholds adjustable. Each row is a page already earning attention it isn’t capturing, so the fixes here tend to pay back fastest. The audience exists, only the thumbnail is failing. Work the rows through the fix list at the end of this post.

The count is also a diagnosis. If 10 or more pages show the pattern at once, stop treating it per page and look for the site-wide cause. A CMS stripping metadata, a theme serving background images, or dimensions below the indexing minimum will produce the same pattern everywhere at once.

`image_keyword_trends`

You rewrote the alt text, re-cropped the thumbnail, renamed the file. Did any of it work? Optimisation you can’t measure is decoration.

Ask: **“What’s rising or falling in my image search queries?”**

It returns 28-day deltas against the prior 28 days, and a negative position delta means the query improved its rank. Rising impressions with improving position means something you changed on that page is being rewarded, so go find the change and repeat it on the next page in your queue. Falling is the early warning, worth investigating while it’s one query rather than at 90 days when decay flags the whole page. Run this 2 to 4 weeks after any optimisation push, because without the baseline you can’t prove the work did anything.

`image_content_decay`

Slow leaks don’t trip alarms. A page dropping 10% a month looks normal in isolation and is down over a quarter by the time anyone notices.

Ask: **“Which pages are losing image search traffic?”**

It finds pages losing image-search clicks across 3 consecutive 30-day periods, sorted by total loss. Read the position trend column first. It tells you which fix to reach for. Declining rank means the page or the competition changed, so the work is content and context rather than the image file. Stable rank with falling clicks is a thumbnail problem, usually a crop Google re-picked, so fix the image and leave the copy alone. Improving rank with falling clicks is the same problem at a better position. The thumbnail isn’t winning against its new neighbours, so try a different crop or a different image.

`image_page_audit`

The seven tools above tell you which pages fail. The old answer to “why” was opening each page, viewing source, and squinting at img tags. That’s the eighth tool now.

Ask: **“Audit the images on these pages”** and paste the URLs straight from any tool above. It fetches the pages from your own site, reads every image, and returns a findings table per image with an ordered fix list per page. Here’s what it checks and why each check exists.

**Alt text and markup.** The five alt failure modes (missing, empty, generic, the filename pasted in as alt, the same alt duplicated across the page), camera-default or stock-ID filenames, missing width and height attributes, lazy loading on the LCP image, and srcset coverage. Empty alt is correct for decorative images, so the audit reports it without counting it against you.

**Metadata inside the file.** Camera EXIF is dead weight, 10 to 20KB per image and sometimes a privacy leak, and the audit flags GPS coordinates specifically. Strip it. The IPTC editorial fields are the opposite. Creator, Copyright Notice and Caption feed attribution in Google Images, and most CMS uploads silently strip them. The audit tells you which of your images kept them.

** DigitalSourceType on AI images.** The XMP field that declares an image AI-generated. Google labels AI imagery in results when it’s set, and generation tools don’t set it by default. If you publish AI images, set

`trainedAlgorithmicMedia`

at export and the audit confirms it stuck.**Schema beyond the basics.** A full `ImageObject`

with `about`

pointing at the page’s entity is how you tell Google which entity an image represents, and the licensable fields (`creator`

, `creditText`

, `copyrightNotice`

, `license`

) keep attribution attached even when the image travels. The audit counts your `ImageObject`

nodes, checks for the licensable set, and reads the `max-image-preview`

directive while it’s there.

**Dimensions and delivery.** Below roughly 250x200 Google skips the image entirely. The LCP image should never be lazy-loaded and should carry `fetchpriority="high"`

, and photos belong in WebP or AVIF rather than PNG. All checked per image with the offenders named, including anything over 500KB.

The first run on this site flagged my own schema markup post, zero `ImageObject`

nodes on a page about schema. The audit doesn’t care whose site it is.

The audit can’t read everything. Text inside images should stay OCR-legible, because AI engines read your charts now and stylised fonts on low contrast throw that information away. And alt text at scale is best written with the page context in the prompt rather than from the image alone. Both are judgement calls, which is what you’re for.

Nothing leaves your machine except requests to Google and to your own pages.

Here’s an example where I picked the top 3 URLs from image_impressions_no_clicks.

Here’s the result.

**A word of warning:** Please be careful when making actual changes to the website. AI should help you get things done faster, not make critical decisions for you. Always use your own SEO knowledge, judgement and common sense before making any important changes.

## The audit flow

In practice the 8 tools run as a 7-step loop.

`image_keyword_overview`

and`image_pages_overview`

to see what’s happening at all.`compare_web_vs_image`

to find where image is the primary surface, so you know where the work goes.`image_impressions_no_clicks`

for the biggest losses,`image_search_quick_wins`

for the highest-leverage fixes. Triage from here.`image_page_audit`

on the pages steps 1 to 3 named. It returns the fix list per page.- Make the fixes.
`image_keyword_trends`

2 to 4 weeks later to measure impact.`image_content_decay`

monthly to catch gradual losses before they compound.

## The fixes

The per-page menu the audit works from is short.

- Alt text that describes what the image shows, not the page topic.
- A filename that says what the image is.
`subject-modifier-context.webp`

, hyphens not underscores. - A crop where the subject survives at thumbnail size. Google picks the visible portion from what you serve.
- A higher-resolution export if the source is small or heavily compressed.
`ImageObject`

schema with`about`

pointing at the page’s entity.

That’s the menu. The tools tell you which pages need it, and the audit tells you which lines apply to each one.

## What else is in the server

The image suite joins a server that already does the web-side work. Quick wins, content decay, cannibalisation checks, CTR against position benchmarks, traffic-drop diagnosis, content gap analysis, sitemap submission, URL inspection, and a `verify_claim`

tool that re-queries the API to fact-check any number before you repeat it. The setup wizard defaults to the read-only scope, so write access is something you opt into. Every analysis renders as a dashboard in Claude Desktop rather than a wall of JSON, and `advanced_search_analytics`

now takes the `type`

parameter too, so any custom question can be pointed at any of the six search surfaces.

The [setup guide](/blog/google-search-console-mcp-server/) covers the install and the original tool set, and the [README](https://github.com/Suganthan-Mohanadasan/Suganthans-GSC-MCP) lists everything the server does today.

## One site, dated pulls

All the client numbers above come from one site. The opening story and the site-wide split are from the 18 May 2026 pull, the day the type parameter went in. Every dashboard and table after that is a fresh pull from 23 August 2026, so the two sets won’t reconcile against each other. A 90 day window that moves three months puts different queries on top, and the six-figure page from the opening isn’t in the no-clicks screenshot. Treat all of it as one site’s behaviour rather than industry benchmarks. The 64% and 11% split will vary by vertical. The part I’d expect to travel is the pattern, image impressions outrunning image clicks by multiples, because the thumbnail does the converting and almost nobody optimises it.

The page from the opening gets the full menu first, and `image_keyword_trends`

will tell me in a few weeks whether any of it moved. I’ll post the result either way.

If you run these on an image-heavy site, comments are on. I want to know where the pattern breaks for your kind of site, and what `image_impressions_no_clicks`

flags that nothing else caught.

Want your images doing more on your site?

If you want help applying this on your own site, my agency Snippet Digital takes on this kind of work. Send an enquiry and I will be in touch.

[Work with me](/work-with-me/)

Enjoying this? Get the next one in your inbox.

I email when I publish something new. Usually 2 to 4 emails a month. Unsubscribe anytime.

Join 1,300+ readers. Unsubscribe anytime.

[Suganthan Mohanadasan](/about/)

Norwegian entrepreneur with 20+ years in SEO. Co-founder of Keyword Insights and Snippet Digital. Based in Dubai.
