{"slug": "one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it", "title": "One Page Earned 102,657 Image Impressions and 2 Clicks. I Shipped 8 Free Tools That Find Pages Like It.", "summary": "A single page on a Snippet Digital client site earned 102,657 image-search impressions and 2 clicks in 90 days, while the site's overall image-search impressions ran at 64% of web's volume and clicks at 11%, with CTR at 0.14% versus 0.78% on web. Developer Suganthan Mohanadasan released a free update to his Search Console MCP that adds 8 image SEO tools, enabling users to query Google Search Console API for image-search data and audit underperforming pages.", "body_md": "# One Page Earned 102,657 Image Impressions and 2 Clicks. I Shipped 8 Free Tools That Find Pages Like It.\n\nImage 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.\n\nOne page on a [Snippet Digital](https://snippet.digital/) client site earned 102,657 image-search impressions in 90 days. It got 2 clicks.\n\nNone 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.\n\nI 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.\n\nThe 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.\n\n## The API parameter almost nobody sends\n\nThis 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`\n\nparameter with six values: `web`\n\n, `image`\n\n, `video`\n\n, `news`\n\n, `discover`\n\n, `googleNews`\n\n. Nearly everything defaults to `web`\n\nand never asks for the rest.\n\nSo the data behind that 102K page has been sitting in the account the whole time, unread. Yours is too.\n\nThe manual call looks like this.\n\n```\nPOST https://www.googleapis.com/webmasters/v3/sites/{siteUrl}/searchAnalytics/query\n\n{\n  \"startDate\": \"2026-02-17\",\n  \"endDate\": \"2026-05-17\",\n  \"dimensions\": [\"query\", \"page\"],\n  \"type\": \"image\",\n  \"rowLimit\": 25000\n}\n```\n\nSame 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.\n\nImage 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.\n\n## Ask a question, get the answer\n\nThe 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.\n\n“*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.\n\nNew to the MCP? One command sets it up:\n\n```\nnpx -y suganthan-gsc-mcp setup\n```\n\nIt 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`\n\nbundle 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`\n\nfetches it on launch, and `.mcpb`\n\ninstalls update from the same releases page.\n\nIt’s free, it runs on your machine, and your data goes to Google and back and nowhere else.\n\n`image_keyword_overview`\n\nYou 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.\n\nAsk: **“What do people search Google Images for that brings them to my site?”**\n\nYou 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.\n\n`image_pages_overview`\n\nThe queries are half the map. This is the other half, which pages are doing the earning.\n\nAsk: **“Which of my pages perform best in image search?”**\n\nThe 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.\n\nFive of the client’s biggest image pages from the August pull, URLs generalised to their format:\n\nContent format | Image impressions | Clicks | CTR |\n|---|---|---|---|\n| Definition guide | 135,340 | 117 | 0.09% |\n| Long-form comparison explainer | 120,392 | 65 | 0.05% |\n| Beginner tips listicle | 92,589 | 111 | 0.12% |\n| Category roundup | 57,924 | 169 | 0.29% |\n| How-to guide | 36,689 | 75 | 0.20% |\n\nFive 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.\n\n`compare_web_vs_image`\n\nSome 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.\n\nAsk: **“Compare web and image performance for my top queries.”**\n\nQuery type | Web impr | Web CTR | Image impr | Image CTR | Image to web impr |\n|---|---|---|---|---|---|\n| Single generic noun | 8,092 | 0.05% | 61,125 | 0.04% | 7.6x |\n| Plural generic noun | 10,916 | 0.41% | 26,946 | 0.06% | 2.5x |\n| Two-word visual category | 2,896 | 0.00% | 48,115 | 0.06% | 16.6x |\n| Niche profession query | 24,978 | 0.02% | 14,464 | 0.26% | 0.6x |\n\nThe 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.\n\n`image_search_quick_wins`\n\nA 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.\n\nAsk: **“Where are my image search quick wins?”**\n\nIt 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.\n\nEach 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.\n\n`image_impressions_no_clicks`\n\nThe 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.\n\nAsk: **“Which pages get image impressions but no clicks?”**\n\nYou 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.\n\nThe 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.\n\n`image_keyword_trends`\n\nYou rewrote the alt text, re-cropped the thumbnail, renamed the file. Did any of it work? Optimisation you can’t measure is decoration.\n\nAsk: **“What’s rising or falling in my image search queries?”**\n\nIt 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.\n\n`image_content_decay`\n\nSlow 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.\n\nAsk: **“Which pages are losing image search traffic?”**\n\nIt 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.\n\n`image_page_audit`\n\nThe 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.\n\nAsk: **“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.\n\n**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.\n\n**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.\n\n** 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\n\n`trainedAlgorithmicMedia`\n\nat export and the audit confirms it stuck.**Schema beyond the basics.** A full `ImageObject`\n\nwith `about`\n\npointing at the page’s entity is how you tell Google which entity an image represents, and the licensable fields (`creator`\n\n, `creditText`\n\n, `copyrightNotice`\n\n, `license`\n\n) keep attribution attached even when the image travels. The audit counts your `ImageObject`\n\nnodes, checks for the licensable set, and reads the `max-image-preview`\n\ndirective while it’s there.\n\n**Dimensions and delivery.** Below roughly 250x200 Google skips the image entirely. The LCP image should never be lazy-loaded and should carry `fetchpriority=\"high\"`\n\n, and photos belong in WebP or AVIF rather than PNG. All checked per image with the offenders named, including anything over 500KB.\n\nThe first run on this site flagged my own schema markup post, zero `ImageObject`\n\nnodes on a page about schema. The audit doesn’t care whose site it is.\n\nThe 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.\n\nNothing leaves your machine except requests to Google and to your own pages.\n\nHere’s an example where I picked the top 3 URLs from image_impressions_no_clicks.\n\nHere’s the result.\n\n**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.\n\n## The audit flow\n\nIn practice the 8 tools run as a 7-step loop.\n\n`image_keyword_overview`\n\nand`image_pages_overview`\n\nto see what’s happening at all.`compare_web_vs_image`\n\nto find where image is the primary surface, so you know where the work goes.`image_impressions_no_clicks`\n\nfor the biggest losses,`image_search_quick_wins`\n\nfor the highest-leverage fixes. Triage from here.`image_page_audit`\n\non the pages steps 1 to 3 named. It returns the fix list per page.- Make the fixes.\n`image_keyword_trends`\n\n2 to 4 weeks later to measure impact.`image_content_decay`\n\nmonthly to catch gradual losses before they compound.\n\n## The fixes\n\nThe per-page menu the audit works from is short.\n\n- Alt text that describes what the image shows, not the page topic.\n- A filename that says what the image is.\n`subject-modifier-context.webp`\n\n, hyphens not underscores. - A crop where the subject survives at thumbnail size. Google picks the visible portion from what you serve.\n- A higher-resolution export if the source is small or heavily compressed.\n`ImageObject`\n\nschema with`about`\n\npointing at the page’s entity.\n\nThat’s the menu. The tools tell you which pages need it, and the audit tells you which lines apply to each one.\n\n## What else is in the server\n\nThe 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`\n\ntool 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`\n\nnow takes the `type`\n\nparameter too, so any custom question can be pointed at any of the six search surfaces.\n\nThe [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.\n\n## One site, dated pulls\n\nAll 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.\n\nThe page from the opening gets the full menu first, and `image_keyword_trends`\n\nwill tell me in a few weeks whether any of it moved. I’ll post the result either way.\n\nIf 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`\n\nflags that nothing else caught.\n\nWant your images doing more on your site?\n\nIf 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.\n\n[Work with me](/work-with-me/)\n\nEnjoying this? Get the next one in your inbox.\n\nI email when I publish something new. Usually 2 to 4 emails a month. Unsubscribe anytime.\n\nJoin 1,300+ readers. Unsubscribe anytime.\n\n[Suganthan Mohanadasan](/about/)\n\nNorwegian entrepreneur with 20+ years in SEO. Co-founder of Keyword Insights and Snippet Digital. Based in Dubai.", "url": "https://wpnews.pro/news/one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it", "canonical_source": "https://suganthan.com/blog/gsc-mcp-image-seo-tools/", "published_at": "2026-08-27 00:00:00+00:00", "updated_at": "2026-08-27 06:48:49.096632+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools"], "entities": ["Snippet Digital", "Suganthan Mohanadasan", "Google Search Console", "Claude Desktop", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it", "markdown": "https://wpnews.pro/news/one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it.md", "text": "https://wpnews.pro/news/one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it.txt", "jsonld": "https://wpnews.pro/news/one-page-earned-102657-image-impressions-and-2-clicks-i-shipped-8-free-tools-it.jsonld"}}