Scorer changelog

When we change how the score is calculated, your number can move without anything about your brand moving. Every one of those changes is listed here, for both the Tracker score and the free audit, with the dates each version was in force and the reason it changed.

Why this page exists

A visibility score is only comparable with itself. If the scoring method changes underneath a trend line, the line reports our arithmetic rather than your visibility, and nobody looking at it can tell the difference. The IAB framework asks a measurement programme to re-baseline when that happens and to report the periods before and after as separate series rather than stitching them together.

So each scan we store is tagged with the scorer version that produced it and with a measurement baseline. Change the scoring method, the engine panel, one of the underlying models or your question set, and a new baseline opens. Inside the product, a movement measured across a baseline change is not shown as a movement: the dashboard says the baseline reset and names the reason instead of printing a number that would be ours rather than yours. Both fields, the scorer version and the baseline, are also columns in the raw export, so you can group your own rows by them.

Scans collected before we started tagging carry no baseline. We treat an unknown baseline as "no change detected" rather than inventing a boundary, because a fabricated reset is as misleading as a missed one.

Tracker: AI Visibility Score versions

These govern the AI Visibility Score in the Tracker, which measures whether engines name, cite or recommend you.

A brand that appears only inside a link URL was used as a source, not mentioned

In force today

28 August 2026 to today

Grok answered "popular tools include Profound, Otterly.ai, Peec AI, Semrush and Ahrefs" and cited searchscore.io/guides as its footnote source. The domain regex matched the brand inside the URL, so the report said "2 of 12 answers mentioned you" over an answer that recommends five rivals and never says the brand name - and the sentiment pass had already recorded the truth (in_body false, in_sources true) while the mention classifier counted it anyway. Mentioned and cited are different facts: being used as a source is real and stays visible through citedUrls; it is not the answer naming the brand to a customer. The matcher now requires the brand to appear outside link targets - markdown link LABELS still count, bare domains in prose still count, only the URL inside a markdown target and bare scheme-carrying URLs are excluded. This only ever REMOVES mentions. Measured before shipping across everything stored: 8,349 Tracker cells, zero flip; 360 Trust Map cells, exactly 2 flip, both q1/grok on the unreleased searchscore.io preview run. No released customer number moves. The 126-cell labelled fixture re-scores with zero disagreements.

2026-08-28.url-only-source

Three more ways of saying "I have never heard of them"

13 August 2026 to 28 August 2026

The 2026-08-12 epoch stopped a knowledge disclaimer losing its veto to the remedy that followed it. Re-scoring against the labelled set showed six answers still counting as citations, every one of them an engine saying plainly that it did not know the brand. All three causes were vocabulary rather than logic. First, the disclaimer list held "could not find" and "cannot find" but not the contracted "couldn't find", so one spelling of a sentence was an absence and the other was a citation, decided by an apostrophe. Second, "Without public reviews or case studies on X, their effectiveness remains unclear" is an absence of evidence stated about the brand, and it was rescuing the mention because it is a clean clause that happens to name it. Third, a clause that puts a question back to the reader is part of the not-knowing response, not an answer: "do you have a website or company name associated with X?" is the engine admitting it does not know what X is. That rule only applies where the answer disclaims the brand somewhere, so an ordinary question in a real recommendation is untouched. This only ever REMOVES citations. Re-scoring all 5,977 stored cells, 11 stop counting and none start, moving the mention rate from 21.78% to 21.60%. Every one of the 11 was checked by hand and is an engine disclaiming knowledge of the brand.

2026-08-13.disclaimer-vocabulary

An engine saying it has never heard of you is no longer a citation

12 August 2026 to 13 August 2026

Three corrections to what counts as a mention, found by measuring the classifier against a hand-labelled set for the first time. Two of them REMOVE citations, so scores may step down, and that is the correction rather than a drop in visibility. First, a knowledge disclaimer no longer loses its veto to the remedy that follows it. "I have no information about X. To find out, search for X on Google" names the brand twice, and the second clause was clean, so the answer counted as a citation; the same held for "could you tell me more about X?". That is the stock response to a brand an engine does not know, and it was the single largest error in the classifier. Second, a name attributed to a different vendor is that vendor's product: "SearchScore by SearchUnify" and "SearchNode (formerly SearchScore)" were both counted as ours, which inflated our own visibility, and any brand whose name is a common compound was exposed to it. Third, a multi-word brand now matches its own singular or plural in the final word only, so "Millennium Hotels" is found in "Millennium Hotel and Conference Centre". That one ADDS citations that were always real. A single-word brand is untouched, so Boots can never match Boot.

2026-08-12.mention-integrity

Ranks must be corroborated, and sentiment carries its confidence

11 August 2026 to 12 August 2026

Three changes to how a citation is read. A rank is now stated only when the markdown reading and the classifier reading of the same answer agree on the same number; they agreed on 16% of the cells where either had an opinion, and the markdown reading alone was what customers saw. An uncorroborated rank is credited as a prose mention, never as a low rank. The markdown reading itself was also fixed: its list counter did not reset between lists, a prose mention above a list beat the rank below it, and a sentence after a list of rivals inherited the count, which reported a top-3 rank for a brand that was never in the list. Sentiment is now weighted by the confidence the classifier returned with it, which was previously stored and ignored, so a hedged verdict moves the score less than a certain one. Scores may step down slightly where ranks are no longer confirmed; that is the correction, not a change in visibility.

2026-08-11.corroborated-position

Transactional intent added

9 August 2026 to 11 August 2026

Adds a transactional intent, completing IAB's four intent types. It is decision-stage, being the closest of the four to a purchase, so 8 question-instances across the live sets move into the scored set. Prompt-type coverage goes from 3 of 4 to 4 of 4, which is the criteria-matrix row separating directional from decision-grade. Brand-named comparisons were NOT reclassified: that behaviour is deliberate and locked by tests/avs-brand-safety, and they are now marked by isBrandedComparison for separate reporting instead.

2026-08-09.intent-taxonomy

Provenance dropped from cell credit

27 July 2026 to 9 August 2026

Provenance dropped from cell credit: it measured engine retrieval capability (Perplexity 99% vs Gemini 18%) rather than the brand. Sentiment and position only.

2026-07-27.provenance-removed

The first AI Visibility Score

Until 27 July 2026

AVS weighted by sentiment, position and provenance.

2026-06-01.initial

Audit: scoring generations

The free audit is a separate scorer with its own history. It grades what a site itself makes available to an AI engine, and it is stamped on every audit we store, so a saved score always names the generation that produced it. It is on geo-160-2026-08 today.

Most of these enhancements let the audit recognise something it could not previously read, so a score under a newer generation is usually higher for the same unchanged site. Where a generation moved scores the other way, it says so.

Three measurements stopped counting a page's code as its content

In force today

From 26 August 2026 · scores move in both directions

Text extraction included the contents of script and style tags, so on a typical page about a third of what was measured as content was actually code, and sites were charged for the JavaScript they ship. Off-site presence now reads links and structured data rather than any appearance of a name in the source, so a page that merely used the word "Reddit" is no longer counted as having a Reddit presence. And the JavaScript-gating check compared a page against itself, which reported no gating for every site ever measured; it now compares what a browser sees against what a crawler sees. Measurement changed in BOTH directions: sites gain where they were charged for their own code, and lose where a presence was counted that was never linked, or where content genuinely is hidden from crawlers. Measured across 446 sites the typical score did not move and the largest single change was 1.6 points.

geo-159-2026-08

Three checks stopped scoring the markup instead of the content

From 26 August 2026 · scores move up

The answer-first check walked SIBLINGS of the h1, so any page builder that nests the heading in a div made a perfectly good lead paragraph unreachable and the check read an empty string. The social-proof checks never fetched /reviews/, /testimonials/, /press/ or /case-studies/, which are the pages that hold reviews and case studies. And the copyright proxy demanded a two-year span, so an accurate "2025-2026" failed while a stale "2025" passed. Measurement moves UP only, and only for sites that already had the signal.

geo-158-2026-08

robots.txt read to the letter of the standard

From 25 August 2026 · scores move in both directions

Two readings of robots.txt were sharpened. A field our parser did not recognise, such as the Content-Signal line Cloudflare now adds by default, no longer ends the rule group it sits in, so a following Allow line is honoured rather than discarded. And a group is now closed by the next User-agent line, as the standard requires, so a rule written for one crawler can no longer apply to a crawler named earlier in the file. Measured by parsing the same 448 live robots.txt files with both versions: 94.0% of sites are unchanged, 21 moved up and 6 moved down, every move being 5.3 GEO points or less. Scores move in BOTH directions and some sites are newly reported as blocking, which is the correction working rather than a regression: a file that disallows everything and then whitelists named crawlers really does block the AI crawlers it leaves out, and the old grouping leaked those whitelist Allow lines to every agent in the file.

geo-160-2026-08

YouTube channels recognised by handle and in structured data

From 25 August 2026 · scores move up

A YouTube channel is now recognised when it is linked by its @handle, the format YouTube has issued since 2022, and when it is declared in Organization structured data rather than as a link. Measurement improved: worth 3 points of brand authority, and sites that had a channel all along are now credited for it, so scores move up only.

geo-157-2026-08

Anthropic's search crawler scored separately from its training crawler

From 25 August 2026 · scores move in both directions

Claude-SearchBot, which indexes content for search, is now scored separately from ClaudeBot, which collects content that may contribute to training. The existing weight is split rather than added to, so no total moves. Measurement changed in BOTH directions: a site that allows search while declining training gains, and a site blocking the search crawler now sees the visibility gap it previously was not shown.

geo-156-2026-08

Trust-page and canonical signals recognised in more languages

From 20 August 2026 · scores move up

The four trust-page signals now recognise contact, about, privacy and terms pages in languages whose words do not contain the English spelling, and the canonical-domain check is sharpened again. Measurement improved: worth up to 15 points of brand authority, and non-English sites gain most. Both changes move scores up only.

geo-155-2026-08

A blocked crawler is no longer read as JavaScript gating

From 20 August 2026 · scores move up

The rendering signal now distinguishes a page that hides its content behind JavaScript from one whose crawler request was refused by a firewall or timed out. Measurement improved: a site that was never gated is no longer told that it was, and scores move up for every site whose audit had been blocked rather than gated.

geo-154-2026-08

llms.txt assessed against the specification

From 19 August 2026 · scores move down

The llms.txt signal now assesses the file against the specification - a Markdown document with a heading and at least one link - rather than recording only that a file exists. Measurement changed and this one moves DOWN: a site whose file exists but does not meet the spec now scores lower than under geo-152. Adoption figures published before this generation were measured on presence and continue to say so.

geo-153-2026-08

Article detection distinguishes content from card grids

From 19 August 2026 · scores move up

Article detection now distinguishes a published article from a grid of cards that happens to use the same markup. Measurement improved: homepages laid out as card grids are no longer asked for a publication date they were never going to carry, and gain the 6 points that question was costing them.

geo-152-2026-08

SEO and AI-search signals judged on the same pages

From 19 August 2026 · scores move up

Breadcrumb, Article and FAQPage signals in the SEO score are now judged across the same pages the AI-search score already used. Measurement improved: the two halves of a report now agree, and a site credited by one is no longer queried by the other.

geo-151-2026-08

FAQ and speakable content found beyond the homepage

From 19 August 2026 · scores move up

FAQ and speakable signals are now judged across every page the audit fetches rather than the homepage alone, and the audit reaches /faq, /faqs and /pricing alongside /about. Measurement improved: a site publishing questions away from its homepage is now credited for them, so scores move up only.

geo-150-2026-08

Canonical-domain check compares the host it lands on

From 19 August 2026 · scores move up

The canonical-domain signal now compares the host the alternate address resolves to, so a site that correctly redirects one address to the other is recognised as consistent. Measurement improved: sites with a single correct canonical gain 3 points they were previously not credited with.

geo-149-2026-08

Quotable statistics recognised beyond English and dollars

From 13 August 2026 · scores move up

The quotable-statistics signal now recognises money outside dollars, ordinary English sentences where the figure follows the object, verb-final languages, and a space as the thousands separator. It is worth 8 points. Measurement improved: scores read higher than geo-146 for any site previously unread, and non-anglophone sites gain most.

geo-148-2026-08

Authorship and dates read from structured data

From 1 August 2026 · scores move up

The audit now reads authorship and publication dates from structured data, follows a site's own navigation to find its content, and no longer counts a soft 404 as a content page. Measurement improved: scores read higher than geo-145 for the same site, so figures must name the generation they were measured under.

geo-146-2026-08

Generations before geo-146 predate this record. Their identifiers are still stamped on the scans they produced, so an older score can always be told apart from a newer one, but we do not publish notes we cannot source.

This page is generated from the scoring code, not written alongside it. The entries above are read at build time from the version history the scorer itself uses to decide which method applied on a given date, so the page cannot describe a scorer we do not run. That matters because one of the changes listed above originally shipped with no history entry at all, and nine surfaces went on describing the retired method for weeks. That is the failure a hand-maintained changelog invites.

What counts as a change

The version above moves whenever the scorer would produce a different result for identical input. A wording change, a new chart or a faster query does not move it. Anything that alters what a cell is worth does, and a golden corpus of stored answers is re-scored on every change so that "identical input, identical output" is checked rather than assumed.

Changes that are not ours are handled the same way. An AI engine swapping its underlying model, or joining or leaving the panel we query, also breaks comparability, so those open a new baseline for your account even though our code did not change. We record the model that actually answered on every observation for that reason.

Back to measurement standards, where we grade each plan against the IAB criteria and name what it falls short on, or on to the IAB disclosure fields, where the rest of the method is set out field by field and generated the same way this page is.

If you have read this far, the useful next step is your own numbers: the free check scores any site and asks for no email.

Current scorer version 2026-08-28.url-only-source. Framework reference: IAB, Measuring Visibility in the AI Era, August 2026.