▶ 51 answers
Questions, answered straight
Including the ones with awkward answers — what the score can't tell you, what you can get without paying, and how our crawler actually behaves.
Starting out
What this is and how to get a first result.
What does BrandKnown actually do?
It scans a public website and reports how clearly that site identifies its brand to search engines and AI assistants — whether crawlers are allowed in, whether there is a structured entity record, whether outside sources corroborate it.
You get a score with every deduction shown, and paste-ready files that fix what it found. It does not touch your site. Nothing is installed and there is no script to embed.
Do I need an account?
No, not to start. You get one scan and one run of each free tool with no account at all, held in your browser.
After that, signing up (free, no card) gives you 3 scans and 3 AI visibility checks a month. Saving brands and re-scanning over time need a paid plan.
What does a scan look at?
Your homepage, /robots.txt, /llms.txt, and your About page if it can find one. From the homepage it reads the title, H1, meta description, og: tags, any JSON-LD, the logo, and outbound links to recognised profile sites like LinkedIn, Crunchbase, Wikidata and GitHub.
That is roughly five requests. It is not a full-site crawl and it does not follow your whole sitemap.
How long does it take?
Usually a few seconds. Each request has a 12-second timeout and retries 2 times on network errors, so a slow or flaky site can take up to a minute in the worst case.
Is this an SEO tool or an AI tool?
Both, because the underlying work is the same. Structured entity data, crawler access, and third-party corroboration are what traditional search has always used to identify an organisation, and they are what AI assistants draw on too.
What we do not do is keyword rankings, backlink counts, or content scoring. This is about whether a machine can tell who you are.
The scan and the score
How the number is built and why it moves.
How is the health score calculated?
It starts at 100 and subtracts for specific findings. Blocking AI crawlers costs 15 each, capped at 40. No Organization schema is 20. Schema missing sameAs or a logo is 8 each. No About page or meta description is 8. No recognised profile links at all is 10. An inconsistent brand name is 10. No llms.txt is 5.
Every deduction that applied to you is listed under Damage Report on the card. There is no hidden weighting — if you disagree with a deduction, you can see exactly what caused it.
What counts as a good score?
Above 80 means the mechanical basics are in place. Below 60 usually means something structural is missing — most often no entity schema, or crawlers blocked.
Treat it as a checklist rather than a grade. A score of 100 means we found nothing to flag; it does not mean an assistant will recommend you.
What do Access, Identity and Evidence mean?
Access: can a crawler reach and read the site at all. Robots rules and whether your HTML contains real text without running JavaScript.
Identity: does the site say clearly and consistently who the entity is. Schema, name consistency, logo, About page.
Evidence: does anything outside your own site back it up. Profile links, and the llms.txt hint file.
My scan says “degraded”. What does that mean?
One of the resources could not be fetched — a timeout, a network error, or a block — so it was not scored at all rather than scored as missing.
That makes your score a lower bound: the real number can only be the same or higher. Re-scan and it usually clears. Nothing on your site needs to change.
My score changed and I did not touch anything.
Almost always a degraded scan on one run or the other. If a request to robots.txt or your About page fails, that check is skipped, and the score reflects what we could verify.
Check the confidence note at the top of the card. If it says degraded, that run is the unreliable one.
Why is my brand name flagged as inconsistent?
We compare the canonical name you entered against your title tag, H1, og:site_name and schema name. If two or more disagree — or if your schema name conflicts outright — it is flagged.
Legal suffixes like Inc or Ltd are ignored in the comparison, and you can add aliases when you scan so alternate names do not count against you.
The scan says I have no logo or About page, but I do.
The logo is found by looking for an image with “logo” in its filename, alt text or class, then an apple-touch-icon, then og:image. The About page is found from a link in your markup, then by trying /about and /about-us.
If yours lives somewhere unusual, or is rendered by JavaScript after load, we will miss it. That is worth fixing regardless: a crawler that does not run JavaScript will miss it too.
AI Visibility Checker
The five-question spot check, and what it can and cannot tell you.
How does the checker work?
It reads your homepage to work out what category you are in, writes five questions a buyer might ask an assistant when shopping that category, puts each one to an assistant, and counts how many answers name your brand.
The questions never mention you by name. The point is whether you come up unprompted.
Does it search the live web?
On Free Play, no — it answers from the model's own knowledge, which is what keeps a free run free. It tells you what an assistant reaches for off the top of its head.
On Continue and Boss Mode, yes. Each question goes to an assistant that searches the web first, so the answer reflects what is findable now rather than at training time.
That distinction matters more than it sounds. We tell you to re-check after making changes — and a run that cannot look anything up could never show a change you made last week.
Why only five questions?
Five keeps a free run cheap enough to give away. It is also, honestly, a small sample — which is why the result is described as a spot check rather than a measurement.
Paid plans allow far more runs, and Boss Mode puts all five to every configured assistant, so one run collects several times as many answers. Running it more than once still tells you more than any single result.
I scored 0 of 5. Is that bad?
It is common, and it is not a verdict on your product. Assistants name a handful of brands per answer and lean heavily on well-established third-party sources.
The useful part of that result is not the zero. It is the list of who took the slots and where the answers came from.
Why do I get different results each time?
Because model answers vary between runs. That is inherent, not a bug.
It is also why the tool tells you to re-check after changes rather than treating one run as fact. A single number is noise; a trend across several runs is signal.
It guessed my category wrong.
The category comes from your homepage title, meta description and H1. If those are vague or full of coined terminology, the guess drifts — and the questions drift with it.
That is itself a finding. If a model reading your homepage cannot place you in a recognisable category, buyers asking about that category will not find you either.
Where does “Where the answers come from” get its list?
The model reports which sites, communities and publications its answer for your category draws on. We group them, classify each as a community, review site, directory or editorial outlet, and show how many answers leaned on each.
On a run that searched the web, the URLs are ones the assistant actually cited. On a free run it reports them from memory, so read that as the shape of your category's sources rather than a verified citation log.
Either way it is directionally useful for deciding where to show up. It is not an audit of who links to you.
Which assistants do you actually query?
ChatGPT on every plan. Boss Mode puts the same questions to every assistant configured on the deployment — ChatGPT, Claude, Perplexity and Gemini — and reports each one separately.
There is no Copilot column, deliberately. Microsoft exposes no general consumer-Copilot API: Azure OpenAI serves OpenAI's own models and GitHub Copilot is code-only. A Copilot result would either duplicate the ChatGPT one or be invented, so we left it out.
Each assistant is reached through its provider API, which is not identical to its consumer app — different system prompts, different retrieval. Read it as a strong proxy, not a replay of what you would see typing into the app yourself.
Why does one assistant name me and another doesn't?
Usually because they lean on different sources. A search-native assistant weights recent web results; one answering from memory weights whatever was common in its training data. When they disagree, the sources panel is where the reason usually shows up.
Agreement is the part worth trusting. If every assistant names you, that is robust. If none do, it is a gap at the category level rather than a quirk of one model.
What does “you weren't named” next to a source mean?
That source shaped at least one answer, and in those same answers your brand did not come up. It is the clearest signal in the report: those are the places influencing the conversation without you in it.
llms.txt
What it is, and an honest read on whether it matters.
What is llms.txt?
A short Markdown file at the root of your site that tells a language model what the site is and which pages matter. One H1 with your name, a one-line summary, then sections of curated links.
Does anything actually read it?
Barely. Adoption is growing but audits keep finding close to zero real AI bot traffic on these files, and no major assistant has committed to using them.
We generate one because it takes a minute and costs nothing. The genuine value is the discipline: writing one honest sentence about your site and picking your ten most important pages. We are not going to tell you it moves rankings.
Where do I put it?
At your web root, so it resolves at yoursite.com/llms.txt and serves as plain text. In Next.js that is public/llms.txt.
Open the URL in a private window afterwards to confirm it is served as text and not caught by a redirect or your app router.
Will adding it improve my ranking?
No, and anyone telling you otherwise is guessing. It is a convenience hint file, not a ranking signal.
If AI crawlers are blocked in your robots.txt, fix that first. A tidy index of pages nothing is allowed to fetch does nothing at all.
Competitor diff
Comparing your structural signals against a rival's.
What does it compare?
It runs a full scan of both sites and lines up 8 signals: AI crawler access, readable server HTML, Organization schema, sameAs entries, logo, About page, profile references, and llms.txt.
Gaps are ranked by how far behind you are, so something you lack entirely outranks something you merely have less of.
If I match them on everything, will I get named?
No. These are structural signals a machine can read, not a ranking model.
Matching a rival makes you easier to identify and cite. Whether an assistant actually names you depends mostly on things off your site — reviews, roundups, community discussion — which no markup fixes.
The competitor's site would not scan.
Larger sites often sit behind a WAF that rejects unfamiliar user-agents. When that happens the report says so and marks the affected rows incomplete rather than scoring them as zero.
Why is it on a paid plan?
It runs two complete scans per comparison, which is the most expensive thing in the product. It is included on Continue and Boss Mode.
The Apply Pack
The downloadable zip on Boss Mode.
What is in the zip?
Up to 9 files: llms.txt, a robots.txt merge snippet, organization.jsonld, ABOUT.md, BRAND-COPY.md, CHECKLIST.md, a README explaining where each file goes, plus GPTBOT-REPORT.md and SITEMAP-REPORT.md when the data is available.
They are static files you own and host. There is no pixel, no script, and no CMS login required.
Can I get these files without paying?
Some of them, yes — and we would rather say so than pretend otherwise. Four of them, in fact: the JSON-LD, robots snippet, llms.txt draft and About block are all on the copy buttons for every visitor, including anonymous ones.
What the zip adds is packaging and four files that exist nowhere else: your brand copy as a standalone deliverable, a checklist pre-ticked with what your scan found, the live GPTBot result, and a sitemap report read at download time.
What is the GPTBot report?
We request your homepage using GPTBot's user-agent and record what comes back. robots.txt states a policy; this is the result.
The case it catches is the awkward one: robots.txt allows GPTBot, but your CDN or WAF rejects it anyway. Nothing else in the product surfaces that, and no file we generate can fix it — it has to be an allowlist rule at your edge.
What is the sitemap report for?
It reads your sitemap at the moment you download, and lists which of its URLs your llms.txt draft leaves out.
A gap is expected and fine. llms.txt is a shortlist, not a mirror of your sitemap. Use the list to check nothing important was missed, not to pad the file.
Plans and billing
Limits, upgrades and what happens when you run out.
What do I get on each plan?
Free Play: 1 anonymous scan without an account, then 3 scans and 3 AI visibility checks a month once you sign up. Checks answer from the model's own knowledge. No saved brands, no history.
Continue ($19/mo): 20 scans, 30 visibility checks, 3 saved brands, 30-day history with re-scan, about 10 LLM-drafted descriptions, and competitor diff. Checks search the live web.
Boss Mode ($49/mo): 100 scans, 100 visibility checks, 10 saved brands, 12-month history, about 50 LLM drafts, competitor diff, the Apply Pack zip, and the live GPTBot fetch. Checks search the live web and run against every configured assistant at once.
What happens when I hit a limit?
The action is refused with a message telling you which limit you hit, and a link to upgrade. Nothing you already have is taken away, and no work is lost.
Do you charge overages?
No. There are no usage-based invoices. Going over a limit shows an upgrade prompt, never a surprise charge.
When do my limits reset?
On your billing period if you have a subscription, otherwise at the start of each calendar month in UTC.
How do I cancel?
Through the billing portal link on your dashboard, which goes to Stripe. You keep access until the end of the period you have paid for.
The pricing page says checkout is not configured.
That deployment has no Stripe keys set, so the upgrade buttons are disabled. Scanning and the free tools still work normally.
If you are running your own copy, set STRIPE_SECRET_KEY and the two monthly price ids.
Your data and our crawler
What we store, and how our fetcher behaves.
What do you store?
For anonymous scans, nothing server-side. The result lives in your browser for that session only.
Once you sign in and save a brand, we store the scan result — the score, findings, and the public page data we read — so you can compare runs over time. How long depends on your plan's history window.
Can anyone else see my scans?
No. Every table has row-level security in Postgres restricting reads to the row's owner, enforced by the database rather than application code.
What does your crawler identify as?
BrandAnchorBot/0.1, with a URL in the user-agent string. One exception: the Boss Mode live check deliberately sends GPTBot's user-agent, because the whole point is to see how your server treats that specific agent.
Does your scanner obey robots.txt?
Not for its own requests, and we would rather be straight about that. It reads your robots.txt in order to analyse it, but it does not consult those rules before fetching your homepage or About page.
The reasoning: a scan is a one-off, user-initiated fetch of about five public URLs — closer to someone opening your site in a browser than to a background crawler indexing you. It is rate-limited and it identifies itself.
If you would rather it never reached you, block the user-agent at your CDN or WAF. A robots.txt rule alone will not stop it.
Can I point it at an internal address?
No. Hostnames are re-checked at connection time and any private, loopback or link-local address is refused, on the original request and on every redirect hop. It only connects to public addresses over http or https.
Do you train models on my site?
No. When an LLM is used at all it is to draft a description of your brand from text already on your own homepage, and only on plans that include drafts. Scraped text is passed as data, never as instructions, and is truncated before it reaches the model.
When something goes wrong
The failures we see most often.
“Could not fetch the site”
Usually one of: the domain does not resolve, the server timed out after three attempts, or a firewall rejected an unfamiliar user-agent.
There is a manual fallback on the card — paste your homepage HTML and robots.txt and the scan runs on that instead.
My site is behind Cloudflare and the scan fails.
Bot Fight Mode and similar rules reject unknown user-agents before your origin sees them. Allowlisting BrandAnchorBot fixes the scan.
Worth knowing this affects more than us: the same rules often block GPTBot and other AI crawlers while your robots.txt happily allows them. The Boss Mode live check exists specifically to catch that mismatch.
I am being rate limited.
Scans allow 3 per 10 seconds, 10 per minute and 60 per hour from one address. The AI visibility check is tighter — 2 per 10 minutes, 5 per hour and 10 per day — because each run costs several model calls against a shared daily budget.
That ceiling is shared, so an unlimited free-for-all would mean one heavy user degrading everyone else's results.
The checker showed a sample run instead of my site.
That happens when the deployment has no model key set, or the shared daily budget is spent. The result is clearly labelled as a sample and it does not count against your allowance.
It says my homepage is an empty JavaScript shell.
Your server returned almost no readable text — the content is assembled in the browser after load.
Search crawlers may eventually render it. Many AI crawlers will not. Server-rendering or prerendering the homepage is the fix, and it is the single change most likely to move everything else on the card.
Still stuck?
The fastest answer is usually a scan — it names the specific thing that is wrong on your site rather than the general case.
