# QueryScope > The SEO agent that lives in your IDE. QueryScope has your coding agent read the repo and propose the searches your buyers type, sizes each one and shows who ranks for it, then holds the plan for the ones you pick, reads your real Google Search Console against it from Claude Code, Cursor, Cline or Windsurf, hands your coding agent one change at a time, and measures whether traffic moved. Your IDE runs the LLM. From $49/month, everything included. QueryScope is a hosted SaaS at queryscope.dev, from $49/month (1 site), $99/month (3 sites) or $149/month (10 sites), every feature in every plan. It connects a remote Model Context Protocol server to the user's AI IDE. It sizes the searches the agent proposes from the repo (monthly demand, where the site already ranks, who holds each one), lists the searches Google already shows the site for that no plan claims, holds the site's plan (the searches the owner declared they are chasing, and the page aimed at each), reads the user's own Google Search Console against it (clicks, impressions, position, indexing status), hands back one change at a time to get the user ranking for the searches they decided to win, waits for the owner's commit before anything a visitor reads is altered, briefs a page before it is written, and measures the lift on every recorded change. The user's IDE runs the LLM, so QueryScope charges nothing for inference. It is built for post-revenue technical teams whose website is a codebase: the search traffic already matters, and the people who change the pages work in an IDE. QueryScope is independent and not affiliated with Google; it reads the user's own Search Console over an OAuth grant the user approves and can revoke. The MCP server exposes five tools, and they are a loop rather than a menu: `focus` (record what the site sells, who buys it and which rivals it competes with; it also renders the plan file), `keyword` (`propose` sends the searches the agent read out of the repo and sizes them; no arguments reads back what is stored, including the searches Google already shows the site for that no plan claims and the buyer-intent searches a rival holds close to the plan; with a search it gives demand, position, the page aimed at it and who ranks above), `verdict` (record every decision from a research pass in one call), `work` (the loop: no arguments returns the single next thing to do and the next few it was chosen over, then the agent reports what it changed, what it expects and a checkable prediction, and the measurement starts), and `history` (the stored weekly series for one search or one page, every results-page reading and every change, as tables). Answers end with the figures behind every sentence as JSON, so the agent reasons from the numbers rather than from a summary. A change is judged against what the rest of the site did over the same days, and the agent's prediction is scored when the measurement closes. ## Product - [QueryScope homepage](https://queryscope.dev): Product overview, pricing, the one-line install command, and how the loop works: declare the searches worth winning, work one at a time, measure each change - [Google Search Console in your terminal](https://queryscope.dev/google-search-console-in-your-terminal): How reading Search Console in the terminal compares to the web UI, and the three things the dashboard hides (history past 16 months, the anonymized-query under-count, query intent) - [Google Search Console over MCP](https://queryscope.dev/google-search-console-mcp): Connect Search Console to a coding agent (Claude Code, Cursor, Cline, Windsurf) over MCP in one line. The hosted alternative to self-hosting an open-source GSC MCP server: no Google Cloud project or OAuth screen of your own, history kept past the 16-month wall, and one change at a time instead of raw JSON - [Google Search Console API limits](https://queryscope.dev/google-search-console-api-limits): What the Search Console API actually caps (25,000 rows a request, 1,200 QPM, 2,000 URL inspections a day, 16 months of history) and what it never exposes at all (backlinks, competitor data, the whole page-indexing report, the rare queries Google drops for privacy). Also why API totals disagree with the interface (the data-state setting), and what you still have to build after the client: the store, the daily job, the diff, and the ranking - [Google Search Console SEO tools, compared](https://queryscope.dev/google-search-console-seo-tools): The tools that read your own Search Console (Search Console, Looker Studio, SEO Gets, SEOTesting, open-source MCP servers, QueryScope) compared by what they hand back, history past 16 months, where you read it, and price - [SEOgets alternative](https://queryscope.dev/seogets-alternative): SEO Gets and QueryScope side by side: a GSC and GA4 dashboard with an MCP server, against an agent that hands back one change and measures it, and who should stay on each - [SEOTesting alternative](https://queryscope.dev/seotesting-alternative): SEOTesting and QueryScope side by side: split and time-based tests for changes you chose, against a loop that picks the change and measures it from Google's recrawl, and who should stay on each - [SaaS SEO tools, sorted by job](https://queryscope.dev/saas-seo-tools): Six SEO tools a SaaS team buys (Ahrefs, Semrush, SEO Gets, SEOTesting, ChatSEO, QueryScope) grouped by the job each does, with the price read off each vendor's site and who each is wrong for - [SEO automation tools](https://queryscope.dev/seo-automation-tools): Seven SEO automation tools (Screaming Frog, Alli AI, Link Whisper, ChatSEO, SEO Gets, Gumloop, QueryScope) grouped by the job each automates, with what each one changes on a live site without a person approving and the price read off each vendor's site - [SEO tools for developers, sorted by where they run](https://queryscope.dev/seo-tools-for-developers): Six SEO tools a developer uses (Lighthouse, Screaming Frog, Ahrefs Webmaster Tools, the Search Console API, SEO Gets, QueryScope) sorted by where each runs, with the price read off each vendor's site and who each is wrong for - [Track SEO changes](https://queryscope.dev/track-seo-changes): How to tell if one SEO change worked: log it against the search it was for, start the clock at Google's recrawl, wait the window for the kind of change (about 4 weeks for a title, up to 6 for technical, up to a quarter for content), one change per page per window, judged from daily data - [ChatSEO alternative](https://queryscope.dev/chatseo-alternative): ChatSEO and QueryScope side by side: an agent that writes and publishes content to your CMS, against one that writes nothing and waits for your commit, and who should stay on each - [SEO Stack alternative](https://queryscope.dev/seo-stack-alternative): SEO Stack and QueryScope side by side: a Search Console warehouse and SEO suite with an MCP server, against an agent that hands back one change and measures it, and who should stay on each - [Google Search Console alternative](https://queryscope.dev/google-search-console-alternative): Why nothing replaces Search Console as the source of your own search data, and which tool fixes each reason people look past it: the 16-month wall, the 1,000-row cap, reporting, proving a change, and knowing what to change next - [Find pages ranking for the wrong intent](https://queryscope.dev/find-pages-ranking-for-the-wrong-intent): The use case for the site-level fit read: what the searches Google already shows this site for are actually asking it to do, grouped by the job behind the search and by subject, and sized, so a cluster the site is visible for where nobody is shopping can be named - [Find your decaying pages](https://queryscope.dev/find-decaying-pages): The use case for content decay: raise a declared search the site has lost (Search Console showed it before and shows nothing now) or one that fell five or more positions for two weeks with impressions falling too, separate from a page still ranking while an AI answer takes the click - [Find keyword cannibalization](https://queryscope.dev/find-keyword-cannibalization): The use case for keyword cannibalization: flag a search only when two of your pages take turns leading it week by week and the lead goes back to a page it had lost, not whenever two pages rank, read from your own Search Console - [Find your low-CTR pages](https://queryscope.dev/find-low-ctr-pages): The use case for CTR quick wins: raise the declared searches where a page ranks well but under-earns the click against a published 2026 click-through curve, and read the results page to separate a title you can fix from an AI Overview taking the click that no rewrite recovers - [Find your striking distance pages](https://queryscope.dev/find-striking-distance-pages): The use case for near-misses one push from page 1: read the query ranking just off page 1 out of the page's blended average, gate it on real demand and matching intent, and treat it as a ranking job (deepen the answer, link internally) rather than a title rewrite - [Find the pages Google is not indexing](https://queryscope.dev/find-unindexed-pages): The use case for the index gate: split the pages Google cannot index (noindex, 404, redirect chain) from the ones it found but has not crawled and the duplicates it resolves on its own, then surface first the unindexed page that was still earning clicks. Read-only: it finds and names the block, it cannot request indexing - [Search Console glossary](https://queryscope.dev/glossary): Plain definitions of the Search Console terms these pages use (clicks, impressions, CTR, position, index coverage, canonical, URL Inspection), each with the caveat that comes with it - [About](https://queryscope.dev/about): What QueryScope is, why it exists, who it is for, how it works, and what it deliberately does not do ## Writing Essays on reading Search Console honestly, and dogfood reports from running QueryScope on a real SaaS. Full text of every post is inlined in /llms-full.txt. - [Buyer intent keywords: how to find the ones your rivals win](https://queryscope.dev/blog/buyer-intent-keywords) (2026-10-22): Buyer intent keywords are the searches people type when they are choosing or paying. Find them from what you sell, then check which ones a rival already wins. - [How to measure SEO impact: did your change work?](https://queryscope.dev/blog/how-to-measure-seo-impact) (2026-10-22): Measure an SEO change from the day Google rereads the page, against what the search would have done anyway. Five steps, using your own Search Console data. - [Keyword research for SaaS: start from what you sell](https://queryscope.dev/blog/keyword-research-for-saas) (2026-10-22): SaaS keyword research works backwards from the product: category, use cases, comparisons and problems, sized with real demand and checked against your own Search Console. - [SEO Checklist for Web Developers: Every Check, in the Order That Matters](https://queryscope.dev/blog/seo-checklist-for-developers) (2026-10-17): A technical SEO checklist for developers: 24 checks from status codes to measurement, in the order they block each other, each with the command or Search Console report that verifies it. - [SEO for Developers: What Actually Moves Rankings When Your Site Is a Repo](https://queryscope.dev/blog/seo-for-developers) (2026-10-15): SEO for developers is five jobs: get pages indexed, aim each page at one search, win the click, link to the pages that earn, and measure each change from Google's recrawl. - [Why Google rankings fluctuate: what 46,000 days of page data show](https://queryscope.dev/blog/google-ranking-fluctuations) (2026-10-12): We measured how much pages move in Google with nobody touching them: day to day, week to week and month to month. Here is what is normal, and how to tell a real change from drift. - [How to Do a Keyword Gap Analysis That Finds Buyers, Not Noise](https://queryscope.dev/blog/keyword-gap-analysis) (2026-10-03): A keyword gap analysis in five steps, including the two most guides skip: filtering the list for buyer fit, and checking it against your own Search Console. - [SaaS SEO: A Guide for Teams That Already Have Traffic](https://queryscope.dev/blog/saas-seo) (2026-10-03): A SaaS SEO strategy for a team that already ranks for something: start from the clicks you earn, in the order the work pays, with measured results from a live SaaS. - [How to check which keywords you rank for on Google (from your own Search Console)](https://queryscope.dev/blog/which-keywords-do-i-rank-for) (2026-10-03): Search Console already lists every search your site appeared for, with the position Google recorded. Where to find it, how to read it per page, and the two gaps that make the list shorter than it should be. - [Google Search Console MCP servers: compare access, not tools](https://queryscope.dev/blog/google-search-console-mcp-servers-compared) (2026-08-11): Every GSC MCP server is a community project reading the same API. What differs is the access each asks for, and several ask for more than the job needs. - [How we compute decay and intent, threshold by threshold](https://queryscope.dev/blog/how-we-compute-decay-and-intent) (2026-08-11): Every constant behind our decay and intent flags: 20 percent clicks, 100 impressions, 5 clicks, the keyword lists, and where they are weakest. - [SEO Quick Wins, Measured: 32 Fixes, 11 Worked, 5 Backfired](https://queryscope.dev/blog/search-console-fixes-measured) (2026-08-10): SEO quick wins, tried and measured: 32 fixes on a live SaaS, each read against the 28 days before it. 11 improved, 7 went flat, 5 declined, and 9 can't be read at all. - [Search Console Coverage Report: Fix, Wait, or Ignore](https://queryscope.dev/blog/google-search-console-coverage-report) (2026-08-07): Google's coverage report ships a column telling you which rows aren't yours to fix. The three-way split that replaces reading the state list one by one. - [How to Check if a Page Is Indexed (3 Methods, 1 Blind Spot)](https://queryscope.dev/blog/how-to-check-if-a-page-is-indexed) (2026-08-06): URL Inspection is the only method that reports Google's real index status, and Google says so. Plus the drop Search Console structurally cannot show you. - [URL Inspection Tool: 4 Ways One Reading Misleads You](https://queryscope.dev/blog/how-to-read-url-inspection) (2026-08-05): URL Inspection shows Google's stored copy, not your live page. The four misreadings, including the canonical comparison that runs backwards. - [Fix Discovered, Currently Not Indexed: It's Not Crawl Budget](https://queryscope.dev/blog/discovered-currently-not-indexed) (2026-08-02): How to fix discovered, currently not indexed on a site under 1M pages: confirm the page is under-linked, add one contextual link, then wait. It's not crawl budget. - [Crawled, Currently Not Indexed: 11 Fields, No Reason Why](https://queryscope.dev/blog/crawled-currently-not-indexed) (2026-08-01): Crawled, currently not indexed is the status Search Console gives no reason for. See the three fields that rule out a technical block, and what's left. - [Claude Code SEO: Skills, MCP, and the Loop That Works](https://queryscope.dev/blog/claude-code-seo) (2026-07-26): Claude Code SEO works when the agent can read, decide, edit, and check. See what to wire, where to put the instruction, and where its judgment stops. - [Google Search Console MCP Server: Self-Host or Hosted?](https://queryscope.dev/blog/google-search-console-mcp-server) (2026-07-24): Choosing a Google Search Console MCP server is not about tool count. It comes down to three trade-offs the feature tables skip: what setup really costs, rows versus analysis, and whether your history survives. - [Merging Two Blog Posts for SEO: Which One Survives?](https://queryscope.dev/blog/which-page-to-keep-when-merging) (2026-07-21): Two of your pages genuinely compete and one has to go. The page with more clicks is often the wrong one to keep. Here's how to pick, on your own data. - [#Anchor URLs in Search Console: Why They Appear, What to Do](https://queryscope.dev/blog/anchor-urls-search-console) (2026-07-18): Some URLs competing for one query are anchors of one page, not separate pages. There's nothing to merge. Here's the check that tells them apart. - [Keyword Cannibalization in Search Console (The Honest Test)](https://queryscope.dev/blog/keyword-cannibalization-gsc) (2026-07-17): Two of your pages ranking for one query usually isn't cannibalization. Here's the honest test, run on your own Search Console data. - [Which Striking Distance Keywords to Prioritize (Click Math)](https://queryscope.dev/blog/which-striking-distance-keywords-to-prioritize) (2026-07-15): Not all striking distance keywords are worth the same push. Rank them by the clicks a climb actually buys, using your own Search Console impressions. - [How to Push a Page From Page 2 to Page 1 of Google](https://queryscope.dev/blog/push-a-page-from-page-2-to-page-1) (2026-07-14): A page ranks on page 2 for a query you could win. Here's how to push it to page 1: deepen the answer, link the query, and measure the climb in Search Console. - [How to Find Striking Distance Keywords in Search Console](https://queryscope.dev/blog/striking-distance-keywords) (2026-07-14): Striking distance isn't a page property, it's a query hiding in your page's blended average. Find the real near-miss in your own Search Console data. - [How to get cited in AI Overviews (and when it is worth trying)](https://queryscope.dev/blog/get-cited-in-ai-overviews) (2026-07-12): To get cited in an AI Overview, put a quotable answer, a sourced stat and a cited quote on a page that already ranks. Here's what earns the citation, and how to find the pages worth it. - [How to write a title tag that wins the click](https://queryscope.dev/blog/how-to-write-a-title-tag-that-wins-the-click) (2026-07-10): Write your title tag from the queries your Search Console shows you rank for, match the H1 to it, and cut the odds Google rewrites it. - [SEO Click-Through Rate: Is It Your Title or the AI Overview?](https://queryscope.dev/blog/low-ctr-high-impressions) (2026-07-09): When your SEO click-through rate is low on a page-1 listing, there are two usual causes: a weak title you can fix, or an AI Overview taking the click that no rewrite recovers. Here's how to tell them apart in your own Search Console data. - [Content decay detection in Search Console](https://queryscope.dev/blog/content-decay-detection) (2026-07-07): Content decay is a slow slide in a page's clicks, not a sudden drop. Here's how to spot real decay in your own Search Console data, and tell it from an AI Overview taking the click. - [How to revive an old blog post that is losing traffic](https://queryscope.dev/blog/revive-decaying-page) (2026-07-07): You found a decaying page in your Search Console data. Here's how to decide between a refresh, a merge, and letting it go, and how to tell which one the data is asking for. - [Blog posts ranking for commercial keywords: route the buyers](https://queryscope.dev/blog/informational-pages-ranking-for-buyer-queries) (2026-07-06): When a guide ranks for buyer queries, it pulls ready-to-buy visitors to a page with nothing to buy. Catch it in your Search Console data, and route it. - [Commercial pages ranking for informational keywords: find and fix it](https://queryscope.dev/blog/money-pages-ranking-for-informational-queries) (2026-07-02): When a commercial page ranks for informational keywords, it pulls clicks it can't convert. How to catch it in your Search Console data, and how to fix it. - [Search intent mismatch: ranking for the wrong queries](https://queryscope.dev/blog/search-intent-mismatch) (2026-07-01): A page ranking for the wrong search intent pulls clicks it can't satisfy. Here's how to catch intent mismatch in your own Search Console data. - [SaaS SEO case study: 30 days of Search Console on a real SaaS](https://queryscope.dev/blog/30-days-search-console-real-saas) (2026-06-30): We read AppScreenshotStudio's live Search Console for a month through QueryScope. Impressions doubled, clicks stayed near flat, and one page ranked seventh with zero clicks. Here is what the dashboard hides, and the honest limit on each finding. - [Search Console metrics explained: what impressions, clicks, CTR and position really count](https://queryscope.dev/blog/google-search-console-metrics-explained) (2026-06-29): Clicks, impressions, CTR, and position in Google Search Console, plus the honest limit behind each metric: why your totals never reconcile. - [Search Console history: how to keep data older than 16 months](https://queryscope.dev/blog/google-search-console-data-retention) (2026-06-25): Search Console history stops at 16 months, and Google drops the oldest day every day. Why your most trusted numbers are the most perishable, and how to keep them. - [Anonymized GSC data: can you access the hidden queries?](https://queryscope.dev/blog/anonymized-queries-search-console) (2026-06-24): Anonymized queries hide about half your Search Console clicks. Why filtering can't recover them, and how to measure your own hidden share. - [Page vs query data in Search Console: which to trust for what](https://queryscope.dev/blog/page-level-vs-query-level-data) (2026-06-22): Search Console's page and query views never add up to the same total. Here is why, and which view answers each question you actually ask of your data. ## Legal - [Privacy policy](https://queryscope.dev/privacy): How QueryScope collects, stores, and processes user data, including Google Search Console tokens - [Terms of service](https://queryscope.dev/terms): The contract for paying QueryScope customers - [Subprocessors](https://queryscope.dev/subprocessors): The full list of third-party services QueryScope relies on ## Optional - [Sitemap](https://queryscope.dev/sitemap.xml): XML sitemap of all crawlable pages - [Full LLM context](https://queryscope.dev/llms-full.txt): The same index, for agents that want the full context in one fetch