Free SEO audit + custom 90-day roadmap — claim yours →

How SEOIndia.co measures SEO, AEO and AI search performance

This page describes exactly how we measure search performance — in Google, in Bing, and inside AI answer engines. We publish it for one reason: if you cannot check how a number was produced, the number is not evidence. It is the method as we have written it down, including the parts that limit what we can claim, the surfaces we cannot measure yet, and the dates on which each instrument started producing readings.

Why we measure the three surfaces separately

Organic visibility now happens in three different places that behave differently: classic search results, Bing and the engines built on it, and AI answer engines that write a response and cite sources. These are not interchangeable, and a single blended “visibility score” hides more than it shows.

So we keep them apart. Google Search Console data is never joined, summed or averaged with AI answer-engine observations. A mention inside an AI Overview is a manual observation of a result page; it is not a Search Console metric and we never present it as one. Where a report shows both, they sit in separate sections with separate denominators.

1. Google Search

We pull Search Console data through the API as raw rows, not through a dashboard summary, and we read the final dataset rather than the provisional one, because provisional days move. Every figure we quote names its window and its date of extraction. This is the measurement that sits underneath our SEO work in India, and it is the same pull whether the news is good or bad.

What “position” means here

An average position is an average. A query sitting at, for example, 8.4 is not “ranked 8th” — it is a mean across every impression in the window, across devices, locations and result types. We therefore report rank-bucket movement rather than single-position claims:

  • 1–3 — winners. These are protected: we do not experiment on them casually.
  • 4–10 — page one, with room to move.
  • 11–20 — the near-win band with the highest expected return per hour of work.
  • 21–50 — reachable with a real content or authority change.
  • 50+ — not a near-term target without a structural reason.

To illustrate with invented figures rather than a client’s: a query that moves from 14.2 to 8.1 has crossed onto page one, and that is a real, reportable event. A query that moves from 14.2 to 13.6 has not, and we will say so rather than present it as progress.

Query ownership

For each commercially meaningful query we identify which single URL should own it, and check whether the URL Google actually ranks is that one. Two of our own pages competing for the same query is a defect we fix, not a result we report twice.

What we never infer

Search Console impressions are not search volume. They are the number of times a result was shown to somebody, filtered by everything Google filters. We never convert impressions into an estimated monthly volume, and we never present a volume figure as if it came from Search Console.

2. Bing and the engines built on it

Bing matters beyond its direct traffic share, because several assistant products draw on its index. A site that is healthy in Google and invisible in Bing has a specific, fixable problem, and it will not show up in a Google-only report. Measuring it properly means Bing Webmaster Tools, because that is the only first-party source for how Bing actually sees a site.

That access was connected for seoindia.co in September 2026, and the first reading we took (20 July to 23 September 2026) recorded no Bing search impressions for this site. That reading is the Bing baseline for this site: a dated starting point, not a backdated history. Until a site has that access, anything an agency tells you about Bing is inference dressed up as measurement. We would rather leave a surface visibly unmeasured than report a number we cannot trace. Every later Bing reading is dated like every other figure on this page and compared only with the readings taken the same way.

Be careful how you read the gap: unmeasured is not the same as zero. We are not claiming Bing visibility we cannot see, and we are equally not claiming its absence. A check of a public search page is not an index report, and we do not treat it as one.

3. AI answer engines (AEO / GEO)

This is the part most often described vaguely, so here is the actual instrument.

One thing to be straight about first. The prompt suite, the record format and the validator described below are written, versioned and published — the current version is v3-20260920. The first full baseline run took place on 2026-09-20, and the observation log begins on that date. As of this writing it holds 54 validated observations, independently re-validated as 54 rows, 0 invalid, 0 warnings. We published the instrument before its first readings existed, precisely so the method could not be quietly adjusted once the numbers were in and so you can hold the readings to a specification that existed before them. The current baseline — a starting point, not a permanent state — is zero SEOIndia mentions and zero citations across 42 completed answers on Google AI Overview, Perplexity and Gemini, the three surfaces with no contamination signal. That count is deliberately narrower than the full log: Perplexity completed only 10 of its 12 assigned prompts because two hit a free-plan quota wall and are recorded as blocked in the run ledger, and a blocked run is not an answer (20 + 10 + 12 = 42). It excludes ChatGPT entirely — a logged control test showed that the same prompt produced a citation in a signed-in, memory-on session but not in a Temporary Chat opened in the same signed-in account, and even the Temporary Chat answer addressed the reader as though they were our own operator, so those observations describe contamination in one account rather than organic visibility and are not counted toward the baseline above. Where the sections below use the present tense, they describe what a run does and what the record requires.

A fixed prompt suite

We maintain a versioned suite of buyer-intent prompts. Each prompt is pasted verbatim into a fresh conversation, with no persona, no added context and no follow-up turns, because each of those changes the answer. We never reword a prompt: changing the wording creates a new prompt with a new identifier, and the suite version number changes with it. That is what will make one week’s run comparable to the next.

Each scheduled run covers the core prompts, with the remainder rotating so that every prompt in the suite comes round on a defined cycle. The default method is a person running each prompt by hand in an ordinary browser, signed out. Three other methods are permitted and no more: a signed-in session with memory off, an approved grounded API route, and browser automation — the last only with the owner’s written say-so. Every record states which of the four was used, because they are not equivalent and a signed-in session can carry personalisation. We do not create accounts to run prompts, and we do not solve, bypass or outsource CAPTCHAs or bot challenges — if an engine blocks a run, that run is recorded as blocked in a run ledger, not quietly dropped.

Four different things, counted separately

“We got mentioned by AI” is not one event. We record four, and we never let one stand in for another:

  • Mention — the brand appears in the answer text.
  • Citation — the brand’s own page appears in the engine’s source list.
  • Linked citation — that source is one the reader can actually click. A source shown as plain, unclickable text is a citation but not a linked one, and since it cannot send a visit we do not report it as if it could.
  • Recommendation — the answer actively advises the reader to consider, shortlist or choose the brand. Being one name in a list of providers is a mention, not a recommendation.

These are four separate required fields in the observation record, not four readings of one field, so a run cannot log one in place of another and cannot leave the distinction blank. The record format enforces what it can: a citation must carry a judgement of whether it was clickable, and nothing can be marked as recommended unless it was also mentioned.

A brand can be recommended while a competitor’s page is the cited source. That distinction is the whole game in AI search, and collapsing it into one number is how agencies produce flattering reports. It is also why we publish no single “AI visibility score”: a recommendation count and a citation count measure different things and can move in opposite directions.

What we refuse to turn into a number

The order in which an answer lists companies is descriptive only. It is not a rank. We never convert it into a position, never average it, and never chart it as one. Answers are non-deterministic: the same prompt can return a different list minutes apart. Anyone presenting an “AI ranking position” is presenting an artefact.

For the same reason readouts report raw counts — k of n answers, per engine, per prompt — and not a share-of-voice percentage. And we do not call a change real on the strength of a single run. We treat a change as real only after two consecutive scheduled runs agree. We want to be plain about this: that two-run threshold is a considered judgement, not a figure derived from a statistical model.

Brand disambiguation

We work on a brand whose name collides with a generic phrase and with other businesses using similar names. So the rule is explicit: the generic phrase is not a mention of the brand, and a similarly-named different company is not a mention of the brand. Getting this wrong inflates every subsequent number, and it is one of the easiest ways for a report to be honestly wrong.

4. No evidence, no row

An observation is only recorded if it carries evidence — a screenshot, or a short verbatim excerpt of the answer — captured at the time. We do not back-fill observations from memory, and we do not infer which model produced an answer when the interface does not say; where the product displays no model name, the record says “not displayed” rather than a guess. If evidence was not captured, the observation does not exist. The validator refuses a row without it, so this is a property of the format rather than a promise about our diligence.

The same discipline applies to our published research: figures are drawn from a registry that traces each value back to the raw record it came from, not from an earlier version of the page. Our AI search readiness benchmark for India is the worked example — it publishes its dataset and its verification script alongside its findings, so a reader can recompute the numbers rather than take them on trust. How we record and review changes like that is set out in our governance policy. If we ever find that a published figure misstates the record, we correct the page and say what changed.

5. How we attribute a change to a cause

Search is full of things moving at once. To claim a change caused a result, we hold the changed thing still:

  1. Change one variable on a page — the title, or the body, not both.
  2. Record what was changed, when, and what else was happening that could confound it (an algorithm update, a seasonal shift, another release).
  3. Hold that page unchanged for a stated period, so there is a clean before and after.
  4. Judge at the stated horizon — not when the number happens to look good.

A measurement hold covers only the variable under test. It is not a reason to freeze everything else on the site, and we do not use it as one.

6. Traffic, leads and what actually counts

Rankings are a means. The reportable outcome is qualified demand. Two rules keep that honest:

We report an engaged-session series, not raw sessions. Which series is used is written down rather than chosen per report, so the same definition is used month to month. It is common for a large share of raw sessions to be unengaged, and reporting those as an audience is misleading. Two limits on this, stated plainly because they are easy to overclaim: choosing an engaged-session series is not the same as removing automated traffic, and we do not currently filter bot patterns out of the base — we report the series and name it for what it is. If we start filtering, the rule and its start date will be written here before the first filtered figure is published.

First-party records outrank analytics. Enquiry forms are the ground truth for leads, along with tracked calls and booking records for the businesses that have them — this site does not, so for our own reporting the enquiry form is the record. Analytics platforms miss and misattribute conversions routinely; where the two disagree, we investigate rather than quote whichever is higher. Synthetic and monitoring traffic is excluded from lead counts by name.

7. Reporting intervals

  • Weekly — AI answer-engine prompt runs, from the first baseline on 2026-09-20; near-win queue movement.
  • Every 28 days — Search Console period-over-period, compared against the equally long preceding period, never against a mismatched window.
  • At the stated horizon — any page-level change under a measurement hold.
  • Quarterly — entity and authority review: profiles, corroborating sources, citations gained or lost.

8. Limitations — what this method cannot tell you

An honest method states its own boundaries:

  • AI answers are non-deterministic. Counts describe what the engines said on the days we asked; they are not stable properties of the engines.
  • A large share of Search Console queries are withheld as anonymised, so query-level analysis never covers all clicks.
  • Average position conceals variance across device, location and result type.
  • We can observe that a source is cited; we cannot see why an engine chose it.
  • Correlation between a change and a movement is not proof of cause, even with a measurement hold — the hold reduces the risk, it does not remove it.
  • Third-party tool estimates of volume, difficulty or traffic are modelled numbers. Where we use them, we label them as estimates.

9. What we do not promise

We do not guarantee rankings or positions. No agency can: the results are produced by systems we do not control, which change without notice. Any agency offering a guaranteed #1 is either describing a query nobody searches, or describing something they cannot deliver.

We also do not buy links, operate private blog networks, or use automated or spam tactics; and we do not gate, incentivise or filter reviews. What we commit to is the method on this page, applied consistently, with the evidence available for inspection. You can see who is applying it, and if you want it applied to your own site, talk to us — the first thing we will do is tell you which of the surfaces above we can currently measure for you and which we cannot.

Frequently asked questions

Do you guarantee first-page rankings?

No. Rankings are produced by systems we do not control and which change without notice, so no agency can honestly guarantee a position. What we guarantee is the method — applied consistently, with the evidence available for you to inspect. An agency promising a guaranteed #1 is either describing a query nobody searches, or describing something it cannot deliver.

How do you measure visibility inside ChatGPT, Perplexity and Google AI Overviews?

With a fixed, versioned suite of buyer-intent prompts. Each is pasted verbatim into a fresh conversation with no persona and no follow-up, because all of those change the answer. We record four separate things — whether the brand is mentioned, whether its page is cited as a source, whether that citation is linked, and whether the answer actively recommends it — and we report raw counts per engine and per prompt, never a blended score. To be precise about dates: the suite and its record format were published and versioned first, and the first full baseline run took place on 2026-09-20, which is when the observation log begins. The current baseline is zero SEOIndia mentions and zero citations across 42 completed answers on Google AI Overview, Perplexity and Gemini — a starting point, not a permanent state.

Why don’t you report an “AI ranking position”?

Because there isn’t one. The order in which an answer lists companies is descriptive, not a rank, and answers are non-deterministic — the same prompt can return a different list minutes apart. Turning that order into a position produces a number that looks precise and means nothing. We treat a change as real only after two consecutive scheduled runs agree, and we are explicit that the two-run threshold is a considered judgement rather than a statistically derived one.

How long before results?

It depends on the starting point, the competition for the query and how much of the fix is technical versus authority-based. Technical and on-page corrections can show movement within weeks; authority and citation work is slower because it depends on third parties. Rather than quote a single timeline, we report rank-bucket movement at fixed intervals so you can see the trajectory early instead of waiting for a headline number.