Skip to content
BrandAnswers

All answers.

Everything we know about getting brands into AI answers, in 414 questions.

The basics

What is GEO?

GEO, or generative engine optimisation, is the work of getting a brand retrieved, cited and recommended in AI-written answers from tools like ChatGPT, Perplexity, Claude, Copilot and Google's AI Overviews. The term comes from a 2024 research paper. In practice it means making pages readable to AI crawlers, answering real buyer questions clearly, and earning mentions on the third-party sites those engines cite.

The original GEO paper (KDD 2024) tested rewriting tactics in a simulated engine and found statistics and quotations helped. Later work, C-SEO Bench (NeurIPS 2025), found most rewriting had little effect in realistic conditions, and that getting retrieved in the first place dominates. So good GEO starts with technical access and off-site presence, not clever phrasing.

What is AEO?

AEO stands for answer engine optimisation: making your content the source an AI or search engine uses when it answers a question directly, instead of showing a list of links. It covers being crawlable, writing answer-first content in the buyer's own words, and being mentioned on the sites engines trust. It overlaps heavily with GEO.

Is there a difference between AEO and GEO?

In practice, AEO and GEO describe the same job: getting your brand into AI-generated answers. AEO (answer engine optimisation) grew out of featured snippets and voice search; GEO (generative engine optimisation) was named in a 2024 research paper about LLM-powered search. You'll also see LLMO, AI SEO and AI search optimisation used for the same work.

Don't let the label decide your plan. The work is the same in priority order: make pages readable to AI crawlers, publish clear answers to the questions buyers ask, and get mentioned on the third-party pages engines cite. Be wary of anyone who sells a GEO package built mainly on schema or llms.txt, as neither shows a measured citation lift.

Is GEO just SEO with a new name?

Partly. GEO shares SEO's foundations, because AI engines search an index before they answer, and crawlability, sitemaps and clear content still matter. The differences are real, though: several AI crawlers don't run JavaScript, engines lift self-contained passages rather than rank whole pages, and third-party mentions drive recommendations more than backlinks do. There is also no stable 'rank' to chase.

Ahrefs' study of 75,000 brands (Dec 2025) found branded web mentions and YouTube mentions correlate far more strongly with AI visibility than backlinks or Domain Rating. And SparkToro/Gumshoe (2026) found AI tools return an identical brand list less than 1% of the time, which is why GEO is measured as mention rate over repeated runs, not position.

Do I still need SEO if people are using AI search?

Yes. AI answers are built on search indexes: Google's AI Overviews and AI Mode use Google's index, Copilot uses Bing, and Bing is part of ChatGPT search. If you aren't crawled and indexed there, you're much less likely to be retrieved. Classic SEO basics, such as sitemaps, clean status codes and crawlable HTML, are the floor for AI visibility.

How does an AI engine decide what to say about my brand?

Most AI engines decide whether a question needs a web search, rewrite it into several sub-queries, retrieve pages for each, then write an answer from the passages they found. So three things gate you: bots must be able to read your pages, those pages must be retrieved for the sub-queries, and other sites must say good things about you, since engines lean on third-party sources.

This is why the BrandAnswers rulebook puts crawler readability first (R1), answer content second (R2) and off-site presence alongside it (R5). Chen et al. (2025) found a strong bias in AI search towards earned, third-party media over brand-owned content, so your own site is necessary but rarely sufficient.

Does ChatGPT answer from its training data or from live search?

Both. A model has background knowledge from its training data, which has a cut-off date, and for many questions it also runs a live web search and answers from the pages it retrieves. Commercial questions like 'best X for Y' usually trigger a search, so what's on the web now matters more than what was in training data.

Different bots serve each path. GPTBot and ClaudeBot collect training data; OAI-SearchBot, ChatGPT-User, Claude-SearchBot and Claude-User fetch pages for search and live answers. That's why blocking a training bot doesn't remove you from AI search. Live fetches also mean a page can be used minutes after it goes up, if the bot can read it.

My company is new. Can AI engines still recommend it?

Yes, through live search rather than training data. When an engine searches the web for a question, it can retrieve and cite a page published last week, as long as its bots can read the page and it appears in the indexes they use. New brands usually need third-party mentions too, because engines favour what other sites say over a brand's own pages.

Start with the technical basics: server-rendered pages, robots.txt that allows the search bots, a sitemap submitted to Google and Bing. Then work on being listed in the 'best {category}' articles and reviews that already get cited for your category. Expect the off-site part to take longest, so start it early.

Why isn't my brand showing up in ChatGPT?

The most common reasons are technical: the page is client-rendered so ChatGPT's crawlers see a blank shell, robots.txt or a CDN blocks OAI-SearchBot, or the site isn't well indexed in Bing. Beyond that, ChatGPT leans on third-party lists and reviews, so if no one else mentions you for your category, you're unlikely to be recommended.

Check in priority order. First, fetch the page as a bot without JavaScript, which the BrandAnswers audit does, and confirm the main text is there. Second, check robots.txt and any 'block AI bots' setting. Third, submit your sitemap to Bing Webmaster Tools. Then look at which third-party pages ChatGPT cites for your category and whether you're on them.

What should I fix first to appear in AI answers?

Fix readability first: make sure each important page returns its main text in the initial HTML and that robots.txt and your CDN allow the AI search bots. Nothing else matters if ChatGPT, Claude and Perplexity's crawlers see an empty page. After that, publish answer-first content for real buyer questions and work on third-party mentions.

The BrandAnswers rulebook ranks fixes by priority: P1 items are server-rendering (R1.1), allowing search bots (R1.2), discoverability via sitemaps (R1.3), answer-first content (R2.1, R2.2) and off-site lists and mentions (R5.1, R5.2). Schema and llms.txt sit at P3 because they show no measured citation lift.

Can anyone guarantee my brand will rank first in ChatGPT?

No, and a guarantee like that is a red flag. AI answers are non-deterministic: SparkToro/Gumshoe (2026) found AI tools return an identical brand list less than 1% of the time, so there is no fixed first position to hold. What you can improve is how often you're mentioned and cited across many runs of the same prompt.

Honest providers promise work and measurement, not outcomes: fixing what blocks retrieval, improving content and earning mentions, then tracking mention rate over repeated runs. Ask anyone who promises a "#1" how they will measure mention rate instead.

Does rewriting my content in an AI-friendly style get it cited more?

Mostly no; it's largely a myth. The original GEO paper (KDD 2024) found statistics and quotations improved visibility by up to 40%, but in a simulated engine. C-SEO Bench (NeurIPS 2025) found most rewriting for LLMs was largely ineffective, and that getting retrieved matters far more. Write clearly and specifically because it's good writing, not as a ranking trick.

Where rewriting does show gains, they tend to be small and zero-sum: if every page in a category rewrites the same way, the advantage cancels out. Time is usually better spent making sure crawlers can read the page and that other sites mention you.

What is an answer engine?

An answer engine is a search tool that writes a direct answer instead of only listing links. Examples include ChatGPT search, Perplexity, Claude with web search, Microsoft Copilot, and Google's AI Overviews and AI Mode. Most of them retrieve web pages first, then compose the answer from the passages they found, often with citations.

What does grounding mean in AI search?

Grounding means an AI engine bases its answer on pages it retrieved for that question, rather than only on what the model learned in training. The searches it runs to find those pages are sometimes called grounding queries. Bing Webmaster Tools' AI Performance report shows the grounding queries that led Copilot to cite your pages.

Why do AI engines quote some passages and not others?

Engines lift passages, not whole pages, so a passage has to make sense on its own. Content that puts the question in a heading and answers it in the first one to three sentences gives an engine a clean block to quote. Answers that depend on earlier paragraphs, or bury the point under preamble, are harder to use.

The exact selection logic of each engine isn't public. Writing answer-first is a sensible, low-risk practice (grade B/C evidence), not a guaranteed lever. Self-contained passages also help human readers who skim, so the effort isn't wasted either way. Headings that repeat the buyer’s own wording help too.

Do AI engines only recommend big brands?

Not only, but they favour brands that other sites talk about. Ahrefs' study of 75,000 brands found YouTube mentions (about 0.74 correlation) and branded web mentions (0.66 to 0.71) track AI visibility most closely, while backlinks and Domain Rating correlate weakly. A small brand that's well covered in its niche can show up for niche questions.

These are correlations, not proof of cause. Still, they point to practical work for smaller brands: get reviewed on YouTube, appear in category roundups, answer honestly on forums, and keep review profiles current. Backlinks still help with classic search, but they aren't the main signal here.

Does my own website matter if AI prefers third-party sources?

Yes, but it's rarely enough alone. Chen et al. (2025) found AI search shows a strong bias towards earned, third-party media over brand-owned content. Your site is still where engines check facts like pricing, features and who you're for, and branded questions such as 'what is {brand}' often cite it. Treat it as necessary, with off-site work alongside.

How AI engines choose sources

How does ChatGPT find sources for its answers?

When ChatGPT searches, it draws on OpenAI's own search index, built by the OAI-SearchBot crawler, plus live page fetches by ChatGPT-User, and Bing is part of the mix. It typically rewrites your prompt into a couple of sub-queries, retrieves pages and writes from the passages. None of these bots run JavaScript, so client-rendered content is invisible to them.

OpenAI doesn't publish how it weighs sources. What you can control: allow OAI-SearchBot and ChatGPT-User in robots.txt and your CDN, server-render content, submit your sitemap to Bing, and be present on the third-party pages ChatGPT cites for your category. ChatGPT-User hits in your server logs are a useful sign that it is reading your pages.

Does ChatGPT use Bing?

Yes, in part. Bing is one of the ways ChatGPT search finds pages, alongside OpenAI's own index built by OAI-SearchBot. The exact split isn't public. In practice, being well indexed in Bing helps both ChatGPT and Microsoft Copilot, so submit your sitemap in Bing Webmaster Tools and make sure Bingbot isn't blocked.

How does Perplexity choose its sources?

Perplexity searches its own index, built by PerplexityBot, and fetches pages live through Perplexity-User when a question needs it, then cites the pages it used. Its ranking logic isn't public. Neither bot runs JavaScript, so content must be in the server HTML, and both must be allowed in robots.txt and through any firewall.

Perplexity publishes its crawler IP ranges, so you can allow-list them in a WAF rather than relying on user-agent strings alone. There are reports that Perplexity-User may not always follow robots.txt, so robots.txt is not a dependable way to keep it out.

Where does Claude get its web search results?

Claude's web search uses Brave Search, and Anthropic's own bots fetch pages: Claude-SearchBot for its search index and Claude-User for live fetches when a user asks. Brave has no robots.txt token of its own; it honours your Googlebot rules. So to be found by Claude, allow Googlebot, Claude-SearchBot and Claude-User, and server-render your content.

How do I get indexed by Brave Search if it has no crawler token?

Brave Search honours the rules you set for Googlebot in robots.txt, so allowing Googlebot effectively allows Brave too. That matters because Claude's web search uses Brave. If you block Googlebot, or have stricter Googlebot rules for some paths, expect Brave, and therefore Claude, to follow them.

How do Google AI Overviews choose which sites to cite?

AI Overviews draw on Google's regular search index, crawled by Googlebot, so the same eligibility applies as for ordinary results: crawlable, indexable pages that answer the query well. Google says no special schema or markup is needed for its AI features. Google doesn't publish how it picks citations for each overview.

Googlebot renders JavaScript, so client-rendered sites are less of a problem for Google than for ChatGPT, Claude or Perplexity. Google-Extended, the Gemini training opt-out, does not control AI Overviews. Google doesn't offer a separate report for AI Overview citations in Search Console, so measure by sampling prompts over repeated runs.

What's the difference between AI Overviews and AI Mode?

AI Overviews are AI-written summaries that appear above regular Google results for some searches. AI Mode is a separate, conversational Google search experience where the whole response is AI-generated and you can ask follow-ups. Both draw on Google's index, crawled by Googlebot, so the same technical rules apply to each.

Does Gemini use the same sources as Google Search?

Largely, yes: Gemini's web answers are grounded in Google Search, so the pages it can draw on are the ones Googlebot crawls and Google indexes. Googlebot renders JavaScript, which makes Google more forgiving of client-rendered sites than other AI engines. The Google-Extended token is only a Gemini training opt-out; it doesn't affect Google Search or AI Overviews.

How does Microsoft Copilot choose sources?

Copilot answers from Bing's index, crawled by Bingbot. So the practical steps are Bing ones: allow Bingbot, submit your sitemap in Bing Webmaster Tools, and push updates with IndexNow. Bing Webmaster Tools' AI Performance report shows which of your pages Copilot cited and for which grounding queries.

Does Google-Extended stop my content appearing in AI Overviews?

No. Google-Extended is a robots.txt token for opting out of Gemini training; it isn't a separate crawler and it doesn't control AI Overviews. AI Overviews follow Googlebot, which also governs your normal Google Search listing. Blocking Googlebot to avoid AI Overviews would remove you from Google Search altogether.

What is query fan-out?

Query fan-out is when an AI engine splits one user prompt into several search sub-queries, retrieves results for each, and combines them into one answer. Peec found ChatGPT averages about 2.1 sub-queries per prompt, and 'best' is the word it adds most often. So you need content for the shapes engines search, not only your own keywords.

Common commercial shapes are 'best {category} for {audience}', '{brand} vs {competitor}', '{brand} alternatives', '{brand} pricing' and 'is {brand} legit'. Peec also found listicles win commercial queries, which is why being included in third-party 'best X' lists matters as much as your own pages.

How many searches does ChatGPT run for one question?

On average about two. Peec's data shows ChatGPT runs roughly 2.1 fan-out sub-queries per prompt, though the number varies by question. It often adds words to your phrasing, and 'best' is the one it adds most. That's why a page answering 'best {category} for {audience}' can be retrieved even when the user never typed 'best'.

Why does ChatGPT add 'best' to its searches?

Because most people asking for help choosing something want a recommendation, so ChatGPT reformulates the prompt as a 'best' search. Peec found 'best' is the word it adds to sub-queries most often, and that listicles win these commercial queries. Being included, accurately, in third-party 'best {category}' articles is one of the strongest things you can work on.

On your own site, be honest about who you're best for and who you're not. That gives engines a specific, quotable answer for 'best {category} for {audience}' sub-queries. Vague claims to be best for everyone give an engine nothing specific to match or quote, and honest limits make the rest of the page more credible.

Why do AI answers change every time I ask the same question?

AI answers are generated fresh each time, with some randomness in the model and in which pages the search step retrieves. SparkToro/Gumshoe (2026) found AI tools return an identical brand list less than 1% of the time. That's why one screenshot proves little and visibility is measured as the share of repeated runs that mention you.

Run each prompt at least five times per engine, in a logged-out or incognito session, and report the result as a rate, such as 'mentioned in 7 of 20 runs'. Compare the same fixed prompt set quarter on quarter. The BrandAnswers sample-mentions script automates this with your own API keys, though API results only approximate the consumer apps.

ChatGPT recommended us yesterday but not today. Did something break?

Probably not. AI answers vary from run to run, so being named once and missing the next time is normal. Before assuming a problem, run the same prompt several times and compare the rate. If your mention rate drops across many runs, then check for causes such as a robots.txt change, a CDN rule or a lost third-party listing.

Why do my colleague and I get different ChatGPT answers?

Partly randomness, since the same prompt rarely produces the same answer twice, and partly context: logged-in state, settings, location and earlier conversation can all shape a response. To compare fairly, use the same prompt in logged-out or incognito sessions and run it several times each. Judge visibility on the rate across runs, not one person's result.

Are API results the same as the ChatGPT or Perplexity apps?

They're close but not identical. API calls with web search approximate what the consumer apps do, but the apps may use different models, settings and search behaviour. API sampling is useful for cheap, repeatable measurement; just say it's an approximation when you report results, and spot-check in the real apps.

BrandAnswers says so when it reports API-based results, uses repeated runs, and suggests checking first-party data such as Bing Webmaster Tools' AI Performance report.

Do AI engines prefer recently updated pages?

They appear to: cited pages skew strongly towards recently updated ones. Seer (2026) found 3 in 4 AI-cited pages had been updated within the past year. That's a correlation, not proof that updating causes citations. Revisit key pages at least quarterly, change the facts and not just the date, and show a visible 'Updated' date with matching dateModified markup.

Does ChatGPT read my whole page?

OpenAI doesn't publish how much of a page it reads or uses. What is clear is that answers are built from passages, so the parts most likely to be used are clear, self-contained answers near a matching heading. Put the answer in the first sentences of each section and keep important facts in visible HTML, not tabs, images or scripts.

Does Siri or Apple Intelligence use my website?

Yes, through Applebot, Apple's crawler, which powers Siri and Spotlight results and renders JavaScript. Applebot-Extended is a separate token that lets you opt out of your content being used for Apple's model training without blocking Applebot itself. To stay in Apple's search features, allow Applebot.

Does Meta AI crawl my site?

Yes. Meta runs a crawler called Meta-ExternalAgent, used for training and Meta AI. Whether blocking it affects your visibility in Meta AI answers is unclear from public information. Treat it as a business choice, like other training bots, and revisit it if Meta documents more.

Does Claude know about my brand without searching the web?

Only if your brand appeared in its training data, which Anthropic's ClaudeBot helps collect and which has a cut-off date. For current or niche questions Claude can search the web, via Brave, and fetch pages with Claude-User. Allowing ClaudeBot may help long-term model knowledge of your brand, but it's a business choice and not required for search visibility.

Do AI engines trust what my site says about itself?

They use it, but they weigh independent sources more heavily. Chen et al. (2025) found a strong bias towards earned, third-party media over brand-owned content in AI search. Your site is still the natural source for facts like pricing and features, so keep them specific, current and consistent with what review sites and directories say.

AI crawlers

What is an AI crawler?

An AI crawler is a bot that fetches web pages for an AI company, either to collect training data or to build a search index and fetch pages live when a user asks a question. Examples include GPTBot, OAI-SearchBot, ClaudeBot, Claude-User and PerplexityBot. Each identifies itself with a user-agent token you can allow or block in robots.txt.

What is a user agent?

A user agent is the name a browser or bot sends with each request to identify itself, such as 'OAI-SearchBot' or 'Googlebot'. robots.txt rules target bots by their user-agent token. Because anyone can fake a user-agent string, firewalls that need certainty verify bots by their published IP ranges instead.

What's the difference between AI training bots and AI search bots?

Training bots collect pages to train future models: GPTBot, ClaudeBot, CCBot, and Google-Extended as an opt-out token. Search and live-fetch bots retrieve pages to answer questions now: OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot and Perplexity-User. Blocking training bots does not remove you from AI search; blocking search bots does.

Googlebot and Bingbot sit on the search side too: Googlebot feeds AI Overviews and AI Mode and is also the gate for Brave, which Claude uses; Bingbot feeds Copilot and part of ChatGPT search. Blocking either of those removes you from far more than AI answers.

What is GPTBot?

GPTBot is OpenAI's crawler for collecting training data for its models. It is not the bot that powers ChatGPT search; that's OAI-SearchBot, with ChatGPT-User for live fetches. Blocking GPTBot keeps your future content out of OpenAI training but doesn't remove you from ChatGPT search results. Like OpenAI's other bots, it doesn't execute JavaScript.

What is OAI-SearchBot?

OAI-SearchBot is the OpenAI crawler that builds the index ChatGPT search draws on. If robots.txt or your firewall blocks it, your pages are unlikely to appear as ChatGPT search results. It fetches HTML but doesn't run JavaScript, so content must be in the server-rendered page.

What is ChatGPT-User?

ChatGPT-User is the user agent OpenAI uses when ChatGPT fetches a page live on behalf of someone, for example when it opens a link or checks a source mid-conversation. It isn't a bulk crawler. Blocking it stops those live fetches. Hits from it in your logs are a good sign that ChatGPT is using your pages.

What is ClaudeBot?

ClaudeBot is Anthropic's crawler for collecting model training data. It's separate from Claude-SearchBot, which indexes pages for Claude's search, and Claude-User, which fetches pages live for a user. Blocking ClaudeBot is a business decision about training and doesn't remove you from Claude's search answers.

What are Claude-SearchBot and Claude-User?

Claude-SearchBot crawls pages to improve Claude's search results, and Claude-User fetches a page live when a Claude user's question needs it. Blocking either reduces your visibility in Claude's answers. Neither runs JavaScript, so allow both in robots.txt and your CDN, and make sure content is in the initial HTML.

What's the difference between PerplexityBot and Perplexity-User?

PerplexityBot crawls the web to build Perplexity's index; Perplexity-User fetches pages live when a user's question calls for it. Blocking PerplexityBot keeps you out of Perplexity's index. Perplexity-User has reportedly not always followed robots.txt, since it acts for a user. Neither runs JavaScript.

What is CCBot?

CCBot is Common Crawl's crawler, which builds an open web dataset widely used to train AI models. It doesn't power any AI search engine directly, so blocking it won't remove you from AI answers. Whether to allow it is a business choice about training use.

Which bots do I need to allow to appear in AI answers?

Allow the search and live-fetch bots: OAI-SearchBot and ChatGPT-User for ChatGPT, Claude-SearchBot and Claude-User for Claude, PerplexityBot and Perplexity-User for Perplexity, Googlebot for Google's AI features and Brave, and Bingbot for Copilot and part of ChatGPT. Check your CDN or firewall too, not just robots.txt.

Does blocking GPTBot remove my site from ChatGPT?

No; that's a common myth. GPTBot is OpenAI's training crawler. ChatGPT search relies on OAI-SearchBot and ChatGPT-User, which you control separately in robots.txt. Blocking GPTBot keeps future content out of training, while leaving OAI-SearchBot allowed keeps you eligible for ChatGPT search results.

Should I block AI training bots?

It's a business choice, not a visibility requirement. Blocking GPTBot, ClaudeBot, CCBot or Google-Extended keeps future content out of training without removing you from AI search. Allowing them may help models know your brand in the long run, which matters for questions answered without a search. Publishers protecting paid content may prefer to block; brands that want awareness usually have more reason to allow.

Google-Extended is the Gemini training opt-out, but it does not control AI Overviews, which follow Googlebot. The BrandAnswers audit shows each bot as allowed or blocked, and marks whether it affects AI answers or only training, so you can choose with the facts in front of you.

What should my robots.txt look like for AI search?

A sensible default explicitly allows the search and live-fetch bots (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User), makes a deliberate choice about training bots (GPTBot, ClaudeBot, Google-Extended, CCBot), allows everything else under User-agent: *, and ends with a Sitemap line giving your full sitemap URL.

A minimal version: one group listing the six search and live-fetch user agents with Allow: /, a second group for the training bots set to Allow or Disallow as you decide, then User-agent: * with Allow: /, and Sitemap: https://yourdomain.com/sitemap.xml. Keep Disallow rules for genuinely private paths only, such as admin or checkout.

How do I check whether my robots.txt blocks AI bots?

Open yourdomain.com/robots.txt and look for groups naming AI user agents, or a User-agent: * group with Disallow: /, which blocks every compliant bot. The BrandAnswers audit parses robots.txt for each major AI bot and flags any that power answers but are blocked. Also check your CDN, since a firewall can block bots that robots.txt allows.

I blocked all AI bots in robots.txt. What did that break?

If you blocked the search and live-fetch bots, you've made yourself much less visible in ChatGPT, Claude and Perplexity answers, because those bots can no longer retrieve your pages. If you only blocked training bots like GPTBot and ClaudeBot, AI search still works. Many 'block all AI' snippets catch both kinds, so check which tokens yours lists.

Does 'User-agent: * Disallow: /' block AI bots too?

Yes. A User-agent: * group applies to every bot that doesn't have its own named group, so Disallow: / under it blocks compliant AI crawlers and search engines alike. This often survives by accident from a staging site. If you need it, add named groups that allow the bots you want, since a bot follows its most specific matching group.

Do AI bots actually obey robots.txt?

The major ones say they do: OpenAI, Anthropic and Perplexity all document that their bots honour robots.txt. The caveat is user-triggered fetchers; Perplexity-User has reportedly not always followed it. robots.txt is a request, not access control, so use authentication or firewall rules for anything that must stay private.

Does OAI-SearchBot honour Crawl-delay?

The OpenAI documentation we rely on doesn't say whether OAI-SearchBot honours Crawl-delay, so treat it as unknown. Crawl-delay isn't part of the robots.txt standard and support varies between crawlers. If AI bots are straining your server, rate-limit at the CDN or server, but avoid blocking search bots outright or you'll drop out of answers.

How long do AI bots take to notice a robots.txt change?

The sources we rely on don't give a precise figure for AI bots. Crawlers cache robots.txt and re-fetch it periodically, so allow at least a day or so before judging. Check your server logs for requests to /robots.txt from the bot in question, then look for its page requests afterwards.

Can I allow AI bots on some pages and block them on others?

Yes. Within a bot's group in robots.txt, Allow and Disallow rules apply to URL paths, so you can let OAI-SearchBot read /products/ and /blog/ while disallowing /account/. Make sure your important answer pages, pricing and About page stay allowed for the search bots. The BrandAnswers audit checks the rule that applies to the specific URL you test.

Does robots.txt remove my content from AI models that already trained on it?

No. robots.txt only affects future crawling by bots that honour it. Content collected before you blocked a training bot isn't removed from existing models by a robots.txt change. Blocking search bots does stop new retrieval, but it also removes you from those engines' answers, which is usually the opposite of what a brand wants.

Can Cloudflare block AI crawlers without me knowing?

Yes. Cloudflare and other CDNs offer one-click settings to block AI bots, and these often catch search bots like OAI-SearchBot and PerplexityBot as well as training bots. Your robots.txt can say 'allow' while the firewall returns an error. Check the bot settings in your CDN dashboard as well as robots.txt.

How do I stop Cloudflare blocking ChatGPT and Perplexity?

In your CDN dashboard, turn off any 'block AI bots' or blanket bot-fighting setting for the search and live-fetch bots, or add rules that allow them. Check custom WAF rules and rate limits too. Then test again: if a bot user agent gets an error while a normal browser gets a 200, something is still blocking.

Setting names change, so look for anything about AI crawlers, AI scrapers or bot management. You can keep training bots blocked if you want; just make sure OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot and Perplexity-User get through. Perplexity publishes its IP ranges, which you can allow-list.

Why does my site return 403 to bots but load fine in my browser?

A firewall, CDN or security plugin is almost certainly filtering by user agent or bot score. Browsers pass, while requests identifying as AI crawlers get a 403 or a challenge page they can't solve. The BrandAnswers audit fetches each page as both a bot and a browser and flags exactly this mismatch.

Do bot challenge pages and CAPTCHAs block AI crawlers?

Yes. AI crawlers don't run JavaScript or solve CAPTCHAs, so a challenge page means they receive the challenge instead of your content, even if the status looks normal. Exempt the search and live-fetch bots from challenges, or allow-list their published IP ranges where vendors provide them.

Do other hosts and firewalls block AI bots, or only Cloudflare?

Any CDN, host firewall or security plugin can, not only Cloudflare. Many now offer bot-protection or 'block AI' options, and default bot rules can catch AI search bots. Check the security settings of every layer between the internet and your site, then confirm with a test fetch using a bot user agent.

How can I tell a real AI crawler from a fake one?

User-agent strings are easy to fake, so check the request's IP address against the ranges the vendor publishes. Perplexity publishes IP ranges for its crawlers; check each vendor's documentation for theirs. Verified ranges are also the safest way to allow-list real search bots in a firewall without opening the door to impostors.

How do I see whether AI bots are visiting my site?

Look in your server or CDN logs for requests whose user agent includes OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot or Perplexity-User. Browser-based analytics usually miss bots, because bots don't run the tracking script. Zero hits from search bots suggests you aren't being retrieved, so check robots.txt, firewall rules and rendering.

Why doesn't Google Analytics show AI crawler visits?

Because analytics tools like Google Analytics count visits by running JavaScript in the browser, and AI crawlers don't run it. Bot fetches only show up in server or CDN logs. Analytics is still useful for the human side: referrals from chatgpt.com, perplexity.ai, claude.ai, gemini.google.com and copilot.microsoft.com.

Is Bingbot important for AI search?

Yes, more than its search market share suggests. Bingbot feeds Bing's index, which Copilot answers from and which is part of ChatGPT search. Allow it in robots.txt, submit your sitemap in Bing Webmaster Tools, and use IndexNow to tell Bing about updates. The evidence on how fully Bingbot renders JavaScript is thin, so server-rendered content is still safest.

Should I block Googlebot to keep my site out of AI Overviews?

Not unless you're willing to leave Google entirely. AI Overviews and AI Mode use Googlebot, the same crawler as normal Google Search, so blocking it removes you from both. Brave, which Claude's search uses, also follows your Googlebot rules. Google-Extended doesn't affect AI Overviews; it is only the Gemini training opt-out.

Can AI bots read pages behind a login or paywall?

No. Crawlers don't log in, so anything behind a login, paywall, cookie wall or interstitial is invisible to them. If you want AI engines to cite a page, its main content has to be publicly reachable and returned in the HTML. Keep facts you want quoted, such as pricing and product details, on public pages.

Does a cookie banner stop AI crawlers reading my page?

A normal cookie banner over a page whose content is already in the HTML is usually fine. A cookie wall that withholds the content until someone clicks is not, because crawlers don't click or run JavaScript. Fetch the page as a bot and check that the main text is present without interacting.

Will a WordPress 'block AI bots' plugin hurt my AI visibility?

It can, if it blocks search bots as well as training bots. Some plugins add robots.txt rules or firewall blocks for a long list of AI user agents, including OAI-SearchBot, Claude-User or PerplexityBot. Check exactly which bots the plugin blocks and keep the search and live-fetch bots allowed. Then test with a bot user agent.

What is Content-Signal in robots.txt and does it affect AI answers?

Content-Signal is a newer robots.txt directive, popularised by Cloudflare's managed robots.txt, that states how crawled content may be used, for example search, ai-input or ai-train. Setting ai-input=no asks AI systems not to use your pages in their answers, which works against being cited. Check your robots.txt for it, especially if your CDN manages the file for you.

How strictly each engine honours Content-Signal isn't documented, so treat it as a stated preference rather than a guaranteed block. If you want to appear in AI answers, allow ai-input (or remove the line) and keep training preferences separate: ai-train=no does not stop your pages being used as sources for answers. The BrandAnswers audit flags ai-input=no as a finding.

Rendering and JavaScript

Do AI crawlers run JavaScript?

Most don't. Vercel and MERJ's 2024 analysis found GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot and PerplexityBot fetch JavaScript files but don't execute them. Googlebot and Applebot do render JavaScript. So content that only appears after scripts run is invisible to ChatGPT, Claude and Perplexity, even if Google sees it.

Anthropic's and Perplexity's live-fetch bots, Claude-User and Perplexity-User, don't execute JavaScript either. The safe rule is to put every important piece of content in the initial HTML response. Ranking well on Google is therefore no proof that ChatGPT can read you.

Why does my site look blank to ChatGPT?

Most likely your site is client-rendered: the server sends an almost empty HTML shell and JavaScript builds the page in the browser. ChatGPT's crawlers don't run JavaScript, so they only see the shell. Server-rendering or prerendering the pages fixes it. The BrandAnswers audit shows exactly what a bot receives and flags empty app shells.

What's the difference between SSR and CSR?

With server-side rendering (SSR), the server sends complete HTML that already contains the page's text. With client-side rendering (CSR), the server sends a near-empty shell and JavaScript builds the content in the browser. Bots that don't run JavaScript, including ChatGPT's, Claude's and Perplexity's, can read SSR pages but see little or nothing of CSR ones.

Static site generation (SSG) and prerendering are variants of the same idea: the HTML is built ahead of time rather than per request. Any of these works for AI crawlers, as long as the text is in the HTML the server returns.

What is static site generation and is it good for AI search?

Static site generation (SSG) builds each page's HTML at deploy time, so every visitor and bot gets complete content without running JavaScript. That makes it one of the most reliable options for AI crawlers. The one catch is freshness: content changes need a rebuild or incremental regeneration to reach the HTML.

What is prerendering?

Prerendering means generating the HTML of client-rendered pages ahead of time, or on request for bots, so crawlers get real content instead of an empty shell. Tools like react-snap or a prerendering service such as Prerender.io can do this for a single-page app without a full rewrite. It's the minimum fix for a Vite or React SPA.

Is prerendering as good as server-side rendering?

For mostly static pages, prerendering can be enough, because bots get full HTML either way. It's weaker for content that changes often or is fetched at runtime, which may be stale or missing in the prerendered copy. Server-side rendering or static generation in a framework is the sturdier long-term fix.

If you prerender only for bots, keep the prerendered HTML identical in content to what users see. Re-run a bot fetch after deploys to confirm the prerendered version is current. Content fetched at runtime may not be captured, so check pages with live data, such as prices or stock, especially carefully after each deploy.

Is serving different HTML to bots allowed?

Only when bots get the same content as users. Serving bots a prerendered version of the same content users see is a common workaround for single-page apps. Serving bots different content from users is cloaking, and search engines penalise it. If you use bot-only prerendering, keep the text, links and facts identical, and plan to move to proper server-rendering.

What is hydration and does it affect AI crawlers?

Hydration is when JavaScript in the browser attaches interactivity to HTML that the server already rendered. AI crawlers simply read that server HTML and skip the hydration step, which is fine. Problems only arise if content appears after hydration, for example data fetched in the browser, because bots never see it.

My site ranks on Google, so why can't ChatGPT see it?

Googlebot renders JavaScript, so Google can index a client-rendered site that ChatGPT's crawlers see as nearly empty. Ranking on Google doesn't prove AI crawlers can read you. Check the raw HTML the server returns: if your main text isn't there, server-render or prerender it. Also check that robots.txt and your CDN allow OAI-SearchBot.

How can I see what an AI bot sees on my page?

Fetch the page without running JavaScript, using a bot user agent, and read the raw HTML that comes back. A quick check is your browser's 'view source', which shows the original HTML rather than the rendered page. The BrandAnswers audit does this properly: it fetches as OAI-SearchBot, counts visible words, flags app shells and checks robots.txt per bot.

With curl you can do a rough version yourself: request the URL with a bot user-agent header and search the response for a sentence from your page. If the sentence isn't there, bots that don't render JavaScript can't see it.

Is 'Inspect element' a good way to check what bots see?

No. Inspect element shows the page after JavaScript has run, which is what a browser sees, not what a non-rendering bot sees. Use 'view source' or a no-JavaScript fetch instead. If text appears in Inspect but not in view source, it's being added client-side and AI crawlers like ChatGPT's won't see it.

What does an empty #root div mean?

It means the page is client-rendered: the HTML contains an empty container like <div id="root"> or <div id="app"> and a script that fills it in the browser. To a crawler that doesn't run JavaScript, the page has no content. It's the typical pattern of a Vite or Create React App single-page app and needs server-rendering or prerendering.

How much text should a page show without JavaScript?

All the main content a reader would see, not a minimum number. As a rough check, the BrandAnswers audit warns when a content page shows under about 250 words without JavaScript, and flags pages that are nearly empty with an app-shell pattern. Those thresholds are diagnostic hints, not ranking rules.

Can AI crawlers see content in tabs, accordions or 'read more' sections?

If the content is in the HTML when the page loads and only hidden with CSS, crawlers can read it. If it's fetched or built by JavaScript when someone clicks, they can't. Check the page source: if the tab's text is there, you're fine. Keep important facts like prices in visible, server-rendered HTML.

Can AI read text in images, PDFs or videos on my page?

Don't rely on it. Facts that exist only in images, PDFs, video, JSON-LD or JavaScript widgets may not be extracted by AI engines; one test found prices present only in JSON-LD weren't read by any AI system tested. Visible HTML text is the one format every engine reads. Put key facts on the page as text, and use alt text and transcripts for media.

Can I put my content in JSON-LD so bots see it without JavaScript?

No, it isn't a substitute for visible content. Facts that exist only in JSON-LD may not be read; one test found prices present only in JSON-LD weren't read by any AI system tested. JSON-LD should mirror text already on the page. Fix the rendering so the content itself is in the HTML.

Does content fetched in useEffect show up for AI crawlers?

No. Data fetched in useEffect, or any browser-side fetch, arrives only after JavaScript runs, so ChatGPT's, Claude's and Perplexity's crawlers never see it. Fetch content on the server instead: in a server component, in a loader, or at build time, so it's in the HTML response.

Do AI crawlers see lazy-loaded or infinite-scroll content?

Only what's in the initial HTML. Items added when someone scrolls or clicks 'load more' are fetched by JavaScript, so crawlers that don't run it miss them. Give long lists real paginated URLs linked with ordinary <a href> links, so each page of results is reachable and server-rendered. Lazy-loading images is fine if the text is present.

Does onClick navigation stop crawlers finding my pages?

It can. Crawlers discover pages by following real <a href="..."> links. Navigation built on onClick handlers or buttons without an href gives them nothing to follow. Use proper anchor links, which most frameworks' Link components render, and list every page in your sitemap as a backstop.

Is using a JavaScript framework bad for AI search?

No. The framework isn't the problem; client-only rendering is. React, Vue and Svelte sites can be fully readable when they server-render or statically generate their pages, as Next.js, Remix/React Router, Nuxt, SvelteKit and Astro can. Trouble starts when the server sends an empty shell and the browser builds everything.

Why does every URL on my single-page app return the same HTML?

Because a client-rendered single-page app usually serves one index.html for every route and lets JavaScript decide what to show. To a bot that doesn't run JavaScript, every URL looks identical and empty. Each URL needs its own server-rendered or prerendered HTML with its own title, heading and content.

Why does every page on my site show the same content to crawlers?

Your host is probably serving the home page's HTML for every URL and letting JavaScript swap in the right content. That is common with single-page apps and catch-all rewrites. Crawlers that don't run JavaScript then see your home page at /pricing, /faq and everywhere else, so those pages can't be retrieved for their own topics.

Prerendering or server-rendering each route fixes it, because every URL then returns its own HTML. Watch for local preview servers too: some, like vite preview, serve the home page for /pricing but the real file for /pricing/, so test both forms. The BrandAnswers audit compares inner URLs with the home page and flags it when they match.

Are FAQ answers hidden in an accordion visible to AI crawlers?

They are only if the answer text is in the HTML when the page loads. Many accordion components add the answer to the page only when someone clicks, so crawlers that don't run JavaScript never see it. Use a native details and summary element, or render every answer and just hide it visually.

Check by viewing the page source rather than the browser inspector: if an answer isn't in the source, a bot can't read it. The same applies to tabs, 'read more' toggles and modals. The BrandAnswers audit looks for question headings without their answers in the HTML.

Site builders and frameworks

Is Next.js good for AI search?

Yes, when you use its server rendering. In the App Router, server components and static generation put content in the initial HTML, which every AI crawler can read. Problems come from fetching content in the browser, for example in useEffect, or hiding it behind client-only state. Run a no-JavaScript fetch on key pages to confirm.

Does 'use client' in Next.js make my page invisible to AI crawlers?

Not by itself. Next.js still renders client components to HTML on the server for their initial state. Content is lost when it's fetched in useEffect, loaded after interaction, or depends on browser-only state. Keeping page content in server components and marking only interactive pieces 'use client' is the safer default.

Is the Next.js Pages Router fine for AI crawlers?

Yes, if pages get their data through getStaticProps or getServerSideProps, because that content is in the HTML the server sends. Pages that render a skeleton and fetch data in the browser are the problem. Check a few key pages with a no-JavaScript fetch to confirm the text is there.

How do I add robots.txt and a sitemap in Next.js?

In the App Router you can add app/robots.ts and app/sitemap.ts, which Next.js serves as /robots.txt and /sitemap.xml, or place static files in the public folder. Generate the sitemap from your real routes with accurate lastModified dates, and reference it in robots.txt. Then confirm both URLs load on the live site.

Can ChatGPT read my Vite React app?

Usually not. A standard Vite or Create React App single-page app sends an empty HTML shell and builds the page with JavaScript, which ChatGPT's, Claude's and Perplexity's crawlers don't run. To them the site is effectively blank. You need server-rendering or, at minimum, prerendering.

Options, from most to least robust: migrate to a server-rendering framework such as Next.js, Remix/React Router or Astro; add SSR to Vite with Vike (formerly vite-plugin-ssr); or prerender pages with react-snap or a service such as Prerender.io. Then re-run a bot fetch to confirm the text is in the HTML.

How do I add server-side rendering to an existing Vite app?

You can add SSR within Vite using Vike (formerly vite-plugin-ssr), or migrate to a framework that server-renders by default, such as Next.js, Remix/React Router or Astro. If a migration isn't practical yet, prerender your routes with react-snap or a prerendering service as a stopgap. Check the result with a no-JavaScript fetch.

Are Vue and Angular single-page apps visible to AI crawlers?

Not if they're purely client-rendered, for the same reason as React SPAs: the server sends an empty shell and AI crawlers don't run JavaScript. Use server-rendering, for example Nuxt for Vue or Angular's server-rendering support, or prerender your routes. Then confirm with a no-JavaScript fetch.

Do Astro, Remix, Nuxt and SvelteKit work for AI search?

Yes, they server-render by default, so pages normally arrive with their content in the HTML. You can still opt pages or components into client-only rendering, so check that nothing important, such as pricing or product details, loads only in the browser. A no-JavaScript fetch of your key pages confirms it.

Is my Lovable site visible to ChatGPT?

It depends on when the project was created. Lovable projects created after 20 April 2026 use TanStack Start with server-side rendering, so content is generally in the HTML. Older projects are client-rendered and look nearly empty to ChatGPT's crawlers until prerendered. The BrandAnswers audit tells you which case you're in.

How do I fix an older Lovable project for AI crawlers?

Older Lovable projects are client-rendered single-page apps, so they need prerendering at minimum to give AI crawlers real HTML. Be aware that content fetched at runtime, for example from a database after the page loads, may still not be visible. Moving to a server-rendered setup is the more complete fix.

Will content loaded from Supabase or an API show up for AI bots?

Only if it's fetched on the server and included in the HTML. If your page loads data from Supabase or an API in the browser after it starts, AI crawlers that don't run JavaScript never see it. Move the fetch to the server, at request time or build time, so the content is in the response.

Are Bolt sites visible to AI crawlers?

Often not out of the box. Many Bolt projects are client-rendered single-page apps, which ChatGPT's, Claude's and Perplexity's crawlers see as nearly empty. It depends on the stack your project uses, so check whether your pages are server-rendered by running the audit. If they aren't, add prerendering or move to a server-rendering framework.

Do v0 sites work for AI search?

It depends on what the generated code does. Some v0 output is fine, but some exports are client-rendered or fetch content in the browser, which AI crawlers can't see. Check whether your pages are server-rendered by running the audit. If content is missing from the raw HTML, move it into server components or static generation.

Is my Replit app visible to AI crawlers?

That depends on the stack your app uses, not on Replit itself. A client-rendered React SPA will look empty to AI crawlers; a server-rendered framework won't. Check whether your pages are server-rendered by running the audit on the deployed URL, and make sure the deployment is public, not behind a login.

Are Webflow sites readable by AI crawlers?

Generally yes for standard pages, since Webflow publishes pages as HTML. The risks are content added by custom JavaScript embeds or third-party widgets, and any bot-blocking settings in your hosting or CDN. Check whether your key pages show their text without JavaScript by running the audit, and review your robots.txt settings.

Is Framer good for AI search?

Framer sites are generally published with their text in the HTML, but don't assume it for every page. Content pulled in by embeds, code components or third-party widgets may only appear after JavaScript runs. Check whether your pages are server-rendered by running the audit, and check that robots.txt allows the AI search bots.

Can AI crawlers read my Wix site?

Don't assume either way; test it. How a hosted builder serves pages to crawlers is outside your control and can change, and apps or widgets may load content with JavaScript. Check whether your pages are server-rendered by running the audit, then review the site's robots.txt and any crawler settings in your Wix dashboard.

Is Squarespace okay for AI search?

Standard Squarespace pages are generally served as HTML, but check rather than assume, especially pages relying on code blocks or embedded widgets. Also look for any setting about AI crawlers in your site settings and make sure it doesn't block search bots. Running the audit on a few key pages answers both questions.

Can ChatGPT read my Shopify store?

Usually, yes. Standard Shopify themes render product and collection pages on the server, so core text is usually in the HTML. Watch for apps that inject reviews, size guides or FAQs with JavaScript, which AI crawlers may miss, and for headless storefronts built as client-rendered apps. Check key product pages with the audit and review your robots.txt.

Is WordPress good for AI search?

Usually, yes. WordPress renders pages on the server, so content is normally in the HTML. The common problems are security or 'block AI' plugins that block search bots, page builders or widgets that load content with JavaScript, and caching or firewall rules. Check robots.txt, plugin settings and a no-JavaScript fetch of key pages.

Is headless WordPress visible to AI crawlers?

It depends entirely on the front end. A headless CMS with a server-rendered or statically generated front end, such as Next.js or Astro, is fine. A front end that fetches CMS content in the browser leaves AI crawlers with an empty shell. The same applies to any headless CMS; test the front end with a no-JavaScript fetch.

Does my website builder's SEO setting make it AI-ready?

Not necessarily. Builder SEO settings usually cover titles, descriptions and sitemaps, which help, but they don't confirm that AI crawlers get your content without JavaScript or that a bot-blocking setting isn't on. Test what a bot receives, check robots.txt and any AI crawler toggles, and submit your sitemap to Google and Bing.

Can I edit robots.txt on a hosted site builder?

Most hosted builders let you edit robots.txt or set crawler options somewhere in their settings, but the controls and limits differ by platform and change over time. Check your platform's current documentation, make the change, then load yourdomain.com/robots.txt to confirm it's live. The BrandAnswers audit then shows which AI bots it allows.

Do vibe-coded sites have problems with AI search?

Often, yes. Many sites built with vibe-coding tools are client-rendered single-page apps, and the AI crawlers of ChatGPT, Claude and Perplexity don't run JavaScript, so they see a near-empty page. Writing more content doesn't help until that's fixed. Check whether your pages are server-rendered with the audit, then fix rendering, robots.txt and the sitemap.

Indexing and discovery

Do I need a sitemap for AI search?

Yes. An XML sitemap is the simplest way to tell crawlers every page you want found, especially new or deeply linked ones. List every content page with an accurate lastmod date, reference the sitemap in robots.txt, and submit it to Google Search Console and Bing Webmaster Tools. Bing matters because it feeds Copilot and part of ChatGPT search.

What should be in my sitemap?

Every page you want found and cited: product, pricing, About, guides and answer pages, each at its canonical URL. Leave out redirects, error pages, duplicates and private pages. Give each entry an accurate lastmod date that changes only when the content really changes. Large sites can split into several sitemaps under a sitemap index.

Does lastmod in my sitemap matter?

Yes, if it's accurate. lastmod tells crawlers which pages changed and are worth fetching again, which supports freshness. Setting every page's lastmod to today on each build teaches crawlers to ignore it. Update it only when the content meaningfully changes, and keep it consistent with the visible 'Updated' date and dateModified.

Should I add my sitemap to robots.txt?

Yes. Add a line like 'Sitemap: https://yourdomain.com/sitemap.xml', using the full absolute URL, anywhere in robots.txt. Any crawler that reads robots.txt can then find your sitemap without you submitting it. Submit it to Google Search Console and Bing Webmaster Tools as well.

What is IndexNow?

IndexNow is a protocol for telling search engines immediately that a URL has been added, changed or deleted, instead of waiting for them to recrawl. Bing supports it, which matters for AI search because Bing feeds Copilot and part of ChatGPT search. You host a key file on your site and send the changed URLs to the IndexNow endpoint.

Many CMSs, CDNs and plugins can send IndexNow pings automatically on publish. Use it for real changes only; it speeds up discovery but doesn't guarantee indexing or citation. Google doesn't use IndexNow, so keep submitting your sitemap in Search Console too.

Does Google use IndexNow?

No, Google doesn't use IndexNow. For Google, rely on an accurate sitemap submitted in Search Console, good internal links and fresh lastmod dates. IndexNow is still worth setting up for Bing, since Bing's index feeds Copilot and part of ChatGPT search.

Should I use Bing Webmaster Tools for AI search?

Yes. Bing matters disproportionately for AI: it feeds Copilot and is part of ChatGPT search. Bing Webmaster Tools lets you submit your sitemap, see crawl and indexing issues, and view the AI Performance report, which since February 2026 is the only first-party AI citation data any engine offers. Setting it up is free.

How do I get a new page into ChatGPT quickly?

You can't submit a URL to ChatGPT directly, but you can make it easy to find. Make sure the page is server-rendered and allowed for OAI-SearchBot, add it to your sitemap with an accurate lastmod, link to it from existing pages, and notify Bing through IndexNow or Bing Webmaster Tools. There's no guaranteed timeline after that.

Do HTTP status codes matter for AI crawlers?

Yes. Pages you want cited should return 200. Errors like 403, 404 or 5xx tell crawlers there's nothing usable, and a 403 for bots only usually means a firewall is blocking them. Use 301 redirects for moved pages and 404 or 410 for pages that are truly gone. The BrandAnswers audit compares the status a bot gets with what a browser gets.

Do redirects hurt AI visibility?

A single permanent (301) redirect from an old URL to its replacement is fine. Chains of several redirects, loops and redirects to unrelated pages waste crawls and can stop a bot reaching the content. Link internally to the final URL, keep the sitemap free of redirecting URLs, and use canonical URLs consistently.

What is a soft 404 and why do single-page apps cause them?

A soft 404 is a page that says 'not found' but returns a 200 status, so crawlers treat it as real content. Client-rendered single-page apps often cause them because the server returns the same 200 shell for every URL, including ones that don't exist. Configure the server to return a real 404 for unknown routes.

Does page speed affect AI citations?

There's no published evidence that page speed directly changes AI citations, so treat it as good practice rather than a lever. Fast, stable responses do help crawlers fetch pages reliably, and a live fetch that times out gets nothing. AI vendors don't publish their crawler time limits, so keep HTML responses quick and avoid heavy server delays.

What are canonical URLs and do they matter for AI search?

A canonical URL is the one official address for a page, declared with a rel=canonical link, when the same content is reachable at several URLs, such as with and without www, trailing slashes or tracking parameters. Using one canonical consistently, in links, sitemaps and redirects, helps engines consolidate signals and cite the right address.

Does noindex keep my page out of AI answers?

For Google, a noindex page isn't in Search, so it won't be used in AI Overviews or AI Mode. How other AI engines treat noindex isn't documented in the sources we rely on, so don't count on it. To keep a page away from a specific AI bot, disallow that bot in robots.txt; for truly private content, require a login.

Do internal links help AI crawlers find my pages?

Yes. Crawlers discover pages by following links, so important pages should be linked from your navigation or related pages with real <a href> links. Pages nobody links to, known as orphan pages, are found only through the sitemap, if at all. Clear headings and descriptive link text also help engines understand what each page covers.

My staging robots.txt went live and blocked everything. How do I recover?

Replace it with the correct production robots.txt straight away, and remove any noindex tags copied from staging. Then resubmit your sitemap in Google Search Console and Bing Webmaster Tools and send changed URLs via IndexNow. Recovery depends on when crawlers come back, so watch your server logs for AI search bots returning.

Should my sitemap lastmod be the date I deployed?

No. lastmod should be the date the page's content last changed, not the time of your latest build. Stamping every page with the deploy date tells engines everything changed when nothing did, which makes the signal useless for spotting genuinely fresh pages.

Take the date from the content itself: a dateModified field, the file's last commit, or a CMS timestamp. Many frameworks' default sitemap generators use the build time, so check yours after deploying. Real freshness matters, because most pages AI engines cite were updated within the past year.

Writing answers that get cited

What is an answer-first structure?

Answer-first means the first sentence directly answers the question, before any background or context. AI engines lift short passages from pages, so the opening sentences need to make sense on their own. Use the question as the heading, put the answer straight after it, and save the detail for below.

A reliable pattern is: the question as an h2 in the buyer's words, a 2–4 sentence direct answer, then an optional expanded answer with steps, numbers or caveats. Cut preambles such as "Great question" or scene-setting about "today's world". A quick test: if someone read only your first sentence, would they have the answer? If not, rewrite it.

How long should an answer be to get cited by AI?

There is no proven ideal length. A useful guide is a 2–4 sentence direct answer of roughly 25–80 words, with an optional longer expansion underneath. Being complete and self-contained matters more than hitting a word count, so treat any target as advice rather than a rule.

The 25–80 word range comes from practice, not a controlled study, so don't bend a good answer to fit it. Very short answers often miss the specifics that make a passage useful; very long ones bury the answer. When a topic needs depth, keep the direct answer tight and put steps, comparisons and caveats in an expansion of roughly 80–220 words.

Do statistics and quotes make AI cite my content more?

Possibly a little, but the evidence is weaker than it is often presented. The GEO paper (KDD 2024) found statistics and quotations gave up to 40% visibility gains, but in a simulated engine. C-SEO Bench (NeurIPS 2025) later found most rewriting for LLMs largely ineffective. Use real numbers because they make answers better, not as a ranking trick.

The two studies measure different things. GEO tested how a simulated generative engine weighted passages it had already been given. C-SEO Bench tested rewriting in conditions closer to real retrieval and found that getting retrieved in the first place dominates. The practical reading: specific, verifiable facts are good writing and help readers trust you, but if your page isn't retrieved, extra statistics won't matter. Never invent a number to look more citable.

Is the 40% visibility boost from the GEO paper real?

It is a real finding that is often quoted out of context. The GEO paper (KDD 2024) reported gains of up to 40% from adding statistics and quotations, measured in a simulated engine rather than ChatGPT or Google. C-SEO Bench (NeurIPS 2025) found most such rewriting had little effect in realistic conditions.

"Up to" is the important phrase: 40% was the best case in one set-up, not an average you can expect. The later benchmark found that retrieval, not wording, decided most outcomes. Anyone selling a guaranteed 40% lift from rewriting content is overstating the research.

Why do specific facts work better than adjectives?

Specific facts give an engine something concrete to quote and give a reader a reason to believe you. "Integrates with Xero and Stripe, from £12 a month" is useful; "powerful, flexible and affordable" could describe anything. Numbers, named integrations, dates, places and constraints also match the precise sub-queries engines run.

How often should I update content for AI search?

Review your key pages at least quarterly and update the actual facts, not just the date. Seer (2026) found that 3 in 4 AI-cited pages had been updated within the past year. Show a visible "Updated" date and keep dateModified in your markup accurate.

Prioritise the pages that carry buying facts: pricing, integrations, comparisons and your About page. Check each number, price, feature and date against your facts file, rewrite what has changed, and remove answers that no longer apply. Comparison pages go stale fastest, because competitors change too.

Can I just change the date on a page to make it look fresh?

No. Freshness should reflect real changes, such as new prices, current features or updated examples. Changing only the date misleads readers, and dateModified should change only when the content genuinely did. The Seer (2026) link between citations and recent updates is a correlation, not evidence that a new date alone helps.

Does updating content cause more AI citations or is it just a correlation?

As far as published data shows, it is a correlation. Seer (2026) found 3 in 4 AI-cited pages had been updated within the past year, but that does not prove the update caused the citation; well-maintained pages tend to be better in other ways too. Updating is still worth doing because stale facts are a real problem.

What makes an answer self-contained?

A self-contained answer makes full sense when read alone, with no "as mentioned above" or "this tool". Name the brand or subject, reuse the key terms from the question, and include the fact the reader needs. Engines lift individual passages, so each one has to stand without its neighbours.

Should I mention my brand name in every FAQ answer?

Mention it once, naturally, where it genuinely belongs. One brand mention in a direct answer keeps the passage attributable when an engine lifts it, while repeated mentions read as promotion. Vary where the mention sits rather than always opening with the name.

What words should I avoid in FAQ answers?

Cut filler and hype: stock phrases such as "it's important to note" and "in today's fast-paced world", and buzzwords that promise transformation without saying what changes. Also avoid placeholders like "this product" or "this solution", and name the thing instead. These phrases add length without adding facts, and readers skim past them.

The BrandAnswers answer-writing guide keeps the full banned list, and the check_answer tool flags banned filler automatically.

Should my content say who my product is not for?

Yes. Saying plainly who your product is not for builds credibility and gives honest material for the "best X for Y" sub-queries engines run. Buyers who learn early that you're the wrong fit don't churn later, and the right buyers trust the rest of your claims more.

Can I use AI to write my FAQ answers?

Yes, as a drafting tool, provided every claim is checked against verified facts. The risk is not that AI wrote it; it is invented statistics, generic answers that fit any company, and pages that AI crawlers can't read. Ground drafts in a facts file, edit for voice, and make sure the page is server-rendered.

This is the gap the BrandAnswers kit is built around. An LLM writing FAQs into a client-rendered page achieves nothing for ChatGPT, Claude or Perplexity, whose crawlers don't run JavaScript. The kit audits what a bot sees first, keeps verified facts in .brandanswers/brand.md, and marks anything unconfirmed as [NEEDS FACT] rather than guessing.

What are the risks of AI-generated content for AI search?

The main risks are inaccuracy and sameness. Unchecked drafts invent customers, prices or integrations, and generic answers that could describe any company give engines nothing distinctive to cite. Publishing hundreds of near-identical pages also creates thin content. Fewer, verified, specific answers are safer and more useful.

What is a thin page and does it matter for AI?

A thin page has too little substance to answer anything, such as a heading, one line of marketing copy and a button. It matters because engines lift passages, and a page without a clear, specific answer gives them nothing to quote. A client-rendered page can look full to people but be empty to AI crawlers.

Two kinds of thinness are worth checking. Content thinness is a real lack of information: template pages that only swap a town or product name. Rendering thinness is when the text exists but only appears after JavaScript runs, so GPTBot, ClaudeBot and PerplexityBot receive an empty shell. Fix rendering first, because it affects every page at once.

Should I build one big FAQ page or put answers on each page?

Usually both, with each answer living where its question belongs. Pricing questions go on the pricing page, integration questions on the integrations page, and a central FAQ collects the general ones. Answer sections on relevant pages give each passage stronger context than one long list.

Avoid publishing the same answer in many places with slightly different wording, because it creates conflicting versions of your facts. Keep one canonical answer and link to it, or reuse identical text where it genuinely belongs in two places. Consistency matters more than coverage.

Are FAQ pages still worth having for AI search?

Yes, if the questions are real and the answers are specific. A FAQ page is a convenient way to publish answer-first passages, but the format itself carries no special weight, and FAQ schema shows no measured citation lift. A generic FAQ that could apply to any company adds little.

How many FAQs should my site have?

As many as there are real questions you can answer with verified facts, and no more. Start with the highest priorities: strong commercial intent, no good answer on your site today, and facts you can confirm. Ten specific answers are worth more than a hundred generic ones.

Should my headings be written as questions?

Yes, for answer content. Making the h2 the question in the buyer's own words, with the answer immediately after, makes the passage easy to match and easy to lift. Use real semantic headings rather than styled divs, so crawlers can see the structure.

What is an expanded answer?

It's an optional second layer below the direct answer, for depth such as steps, comparisons, caveats or numbers. The direct answer is the passage an engine lifts; the expansion is for readers who want more. Aim for roughly 80–220 words of prose, or a short list where the content is genuinely list-shaped.

Should answers use bullet points or paragraphs?

Lead with a short prose answer, then use a list only when the content is genuinely list-shaped, such as steps or specifications. A list with no opening sentence is harder to lift as a single passage. Prose first and list second is a safe default.

Is there a checklist for a good FAQ answer?

Check six things: the first sentence answers the question; it is 2–4 sentences; it reuses the question's key terms; the brand appears once, naturally; every claim traces to a verified fact; and it is visible HTML. The BrandAnswers score-answer script checks the mechanical parts, but a human should judge accuracy.

What is the 15% keyword overlap rule?

It's a heuristic that at least about 15% of the question's meaningful words should reappear in the answer. It is grade C, based on practice rather than a study, and mainly keeps answers on topic so the passage matches the query. Treat it as a sanity check, not something to optimise.

How do I stop AI-written answers inventing facts?

Keep one verified facts file and let drafts use only what is in it, your site's own content, or sources you've supplied. When a fact is missing, flag it rather than guess. BrandAnswers keeps this file as .brandanswers/brand.md and marks gaps as [NEEDS FACT: …] for a human to fill.

Never let a draft invent customers, awards, prices, integrations or statistics, and never let it describe a competitor using facts you haven't verified. Anything unconfirmed belongs under "Open questions" in the facts file, not in published copy, until someone with authority confirms it.

Should I put citation markers in my answers?

No. Bracketed reference numbers, or source tags copied from an AI tool, look broken out of context and help no one. If a source matters, name it in the sentence, for example "Seer (2026) found…", and link to it.

How do I update old FAQ answers?

Review them on a schedule, at least quarterly for key pages. Check every number, price, integration and date against your facts file, rewrite what is stale and remove answers that no longer apply. Then update the visible date and dateModified, because the facts changing is what counts.

What is a brand voice persona?

A persona is a short set of tone settings: core value, archetype, three tone adjectives, humour, formality, form of address, complexity and region. It shapes how answers sound, never what they claim. Published copy should never name the persona or quote its fields.

Which brand voice presets does BrandAnswers offer?

BrandAnswers ships five presets: Professional Authority for B2B, consulting and finance; Friendly & Approachable for consumer, retail and hospitality; Bold Innovator for tech start-ups and creative agencies; Calm & Supportive for health, education and non-profits; and Playful Creative for lifestyle and entertainment. Pick the closest and adjust it.

Each preset sets a core value, archetype, tone, humour, formality, form of address, complexity, purpose and words to avoid. For example, Calm & Supportive avoids pressure words such as "act now" and "limited time", while Professional Authority avoids slang and exclamation marks. The settings live in the Voice section of your brand facts file.

Can a playful brand voice still work for AI answers?

Yes, as long as the answer itself stays plain and factual. Personality should show in word choice and rhythm, not in jokes that hide the answer. A cheeky tone around a clear first sentence works; a pun instead of an answer gives an engine nothing to lift.

Does tone of voice affect whether AI cites me?

There's no evidence that tone alone changes citation. What matters is that the answer is retrievable, specific and clear. Voice matters for the people who read and click through, so keep it consistent, but don't expect a change of tone to move AI visibility.

Should my FAQ use UK or US English?

Use whichever your audience uses, and stay consistent. Region is part of a persona setting: UK English, US English or international English. Mixing "optimise" and "optimize" on one site looks careless, and matching your buyers' spelling reads more naturally to them.

How do I stop AI drafts sounding generic?

Give drafts specific facts and a defined voice, then edit out anything that could apply to any company. Generic drafts usually come from missing inputs: no real numbers, no named integrations, no honest view of who the product isn't for. Buzzwords and stock superlatives are a sign the facts are missing.

Choosing the right questions

How do I find the questions my customers ask AI?

Start with eight topic lenses: pain points, features, implementation, support, business value, industry context, integrations, and security. Then add the commercial fan-out shapes engines search, such as "best X for Y", "X vs Y", alternatives, pricing and "is it legit". Sales calls, support tickets and site search give you real wording.

What are the eight topic lenses for FAQ research?

The eight lenses are pain points, features, implementation and usage, support and troubleshooting, business value, industry context, integration and compatibility, and security and privacy. Together they cover what buyers want to know before, during and after buying. Most brands end up with 8–10 topics, each named in 2–4 words.

Topic names should be readable and can use "&", for example "Pricing & Value". Business value covers ROI, outcomes, pricing and alternatives. Industry context covers sector rules, compliance and standards. Integration questions are driven by the tools your audience already uses.

How do I write a "best X for Y" page without sounding salesy?

Be specific about who you suit and honest about who you don't. Name the audience and use case, give concrete reasons backed by facts, and say which needs another option serves better. A page that admits its limits is more believable than one claiming to be best for everyone.

Should I create a comparison page against a competitor?

Yes, if you can keep it fair and fact-checked. "Brand vs competitor" is a common fan-out shape, and a comparison page lets you answer it yourself rather than leaving it entirely to others. Use only facts you have verified about the competitor, and say where they are the better choice.

Is it OK to name competitors on my website?

Yes, on comparison and alternatives pages, provided every statement about them is accurate and verified. Inaccurate comparisons damage trust and can create legal risk, so stick to checkable facts such as published pricing and features, and date them. Competitors change, so review these pages at least quarterly.

Should I make a page about alternatives to my own product?

It can be worth it. People search "{brand} alternatives" while evaluating you, and if you don't answer, a third-party listicle will. An honest alternatives page puts your product in context, explains when another option fits better, and keeps you in the conversation.

How should I answer people asking whether my brand is legit?

Answer it directly with verifiable proof: who runs the company, where it is based, how long it has operated, review scores with counts and dates, and security or payment details. Put this on your About, security and reviews pages. Evasive or purely promotional answers make the doubt worse.

Should I publish my prices for AI search?

If you can, yes. "How much does it cost" is one of the most common question shapes, and without visible prices engines rely on third-party figures that may be wrong or out of date. If pricing is custom, explain what it depends on and give a starting point or typical range.

What is the difference between FAQ phrasing and conversational phrasing?

FAQ phrasing is short and direct, like "Does Acme support multi-currency?", and works as an on-page heading. Conversational phrasing is how people actually prompt an AI: "I'm a freelancer juggling three currencies, what's the easiest way to invoice clients?" Use FAQ phrasing on pages and conversational prompts for measurement.

How long should a question heading be?

Aim for roughly 5–20 words, in the buyer's own language, ending with a question mark. Mix what, how, why, when, can, does, where and who. It should be short enough to scan and specific enough to match a real query.

How do I decide which questions to answer first?

Score each question 1–3 on commercial intent, gap and fact availability, then start with the highest totals. Commercial intent asks whether the person wants to choose or buy; gap asks whether your site already answers it well; fact availability asks whether you can answer from verified facts.

How do I avoid duplicate questions in my FAQ?

Deduplicate by meaning, not just wording. If two questions would get the same answer, merge them and keep the other wording as an alternative phrasing. Near-duplicates split attention and make a large FAQ harder to navigate.

What is topic lock?

Topic lock means agreeing a fixed list of topics, then assigning every question to exactly one of them, using the topic name verbatim. It stops drift, such as "Ingredients" and "Ingredient Selection" turning into separate topics. It keeps a large FAQ organised as it grows.

How do different audiences change the questions people ask?

Role, expertise, pains and buying stage all change the wording. A finance director asks about cost, approval and risk; a hands-on user asks about setup and integrations; a beginner asks what the category even is. Map each audience before writing, so the answers fit who is asking.

What should I know about each target audience before writing?

Capture their pain points, buying process, decision authority, KPIs, current pressures, motivations and concerns, tech stack, day-to-day workflows, preferred tone and channels, communities, and regional differences. The tech stack drives integration questions, and the buying process shows who signs off and what they will ask.

Should I target long, specific questions?

Yes. Conversational prompts usually include context, and fan-out turns them into precise sub-queries such as "best invoicing app for freelancers billing in euros". Honest, specific pages for real use cases match these better than broad category pages. Answer only where you can say something true and distinctive.

How should I handle "does it work with" integration questions?

Give each integration its own section or page that names the tool, says what the integration does, and notes any limits. "Does X work with Y?" is a common buying question, especially for software. Your audience's tech stack tells you which integrations to cover first.

Should I answer questions about my industry, not just my product?

Yes, selectively. Industry context, regulation and standards questions are one of the eight topic lenses, and they show buyers you understand their world. Keep them grounded and specific to your category; generic explainers that repeat what a thousand other pages say add little.

Are "how to" questions worth answering?

Yes. "How to {job your product does}" questions reach people earlier, before they know which tool they want. A clear guide that solves the job, mentioning your product where it genuinely helps, puts you in front of buyers still defining the problem. Make the guide useful even to people who never buy.

Do keywords still matter for AI search?

They matter less than the questions behind them. AI engines start from a full prompt and generate their own sub-queries, so covering real questions and their fan-out shapes matters more than repeating a keyword. Reuse the question's key terms in the answer, but write for the question.

Your brand as an entity

What should my About page say for AI engines?

The first paragraph should state plainly what the company is, who it's for, which category it competes in and how it differs. Engines need one or two clean, quotable sentences for "what is {brand}?", matching your one-line description everywhere else. Put the history, mission and team further down.

What is entity clarity?

Entity clarity means engines can tell exactly who you are: one name, one description, one category, and the same facts wherever you appear. If your site, LinkedIn and directory listings disagree, engines may describe you inaccurately or confuse you with someone else. It is grade C: sensible practice, not proven by a controlled study.

What is a brand fact sheet?

It is one canonical record of your core facts: exact name, legal name, one-line description, category, founding year, HQ, founders, URL and official profiles. Every other listing copies from it, so the details stay consistent. BrandAnswers keeps it as .brandanswers/brand.md in the site repo, so changes are versioned and reviewable.

The file also holds what makes you different (verifiable points only), who you are for and not for, products and prices, audiences, competitor facts the owner has verified, proof such as review scores with dates, and voice settings. Anything unconfirmed goes under "Open questions" rather than into copy. Review it at least quarterly.

Why do inconsistent company details matter for AI?

Engines build descriptions of a brand from many sources, so conflicting founding years, categories or descriptions can produce muddled or wrong answers. Consistency won't guarantee a mention, but inconsistency gives engines reasons to get you wrong. Audit LinkedIn, Crunchbase, review sites and app stores against one fact sheet.

What is sameAs and which links should it include?

sameAs is a JSON-LD property that lists other URLs representing the same entity, such as your LinkedIn page, Crunchbase profile, G2 listing or Wikidata item. Include only official profiles you control or that clearly represent you. It neatly connects your identity, but it is not a ranking lever.

Should my company have a Wikipedia page?

Only if you genuinely meet Wikipedia's notability rules, which generally require significant coverage in independent, reliable sources. Writing your own article, or paying someone to, is a conflict of interest and risks deletion. Earn the independent coverage first; an article may follow from editors with no connection to you.

Can I edit my own company's Wikipedia article?

Not directly. Wikipedia strongly discourages editing articles about your own company because of the conflict of interest. The accepted route is to disclose your affiliation and suggest corrections on the article's talk page, backed by reliable sources. Promotional edits tend to be reverted and can harm your reputation.

Should I add my brand to Wikidata?

Only if you genuinely qualify. Wikidata is an open, structured database with its own notability criteria, which are broader than Wikipedia's but still expect the item to be identifiable and supported by references. If you add an entry, keep it factual and consistent with your fact sheet, and never use it for promotion.

Does a Crunchbase profile help AI visibility?

There's no published evidence that a Crunchbase profile directly lifts AI citations. It is a commonly checked source of basic company facts, though, so it should match your fact sheet: name, description, founding year, HQ, founders and URL. Treat it as consistency hygiene, not a lever.

Should I update my LinkedIn company page for AI search?

Yes, mainly for consistency. Make the name, one-line description, category, HQ and URL match your fact sheet, and list the page in your sameAs links. It takes minutes and removes one source of mismatched descriptions.

What can I do if AI says something wrong about my company?

Find where the claim comes from first: run the prompt several times and note which pages are cited. Then fix the sources by correcting your own pages, updating directory listings and asking third-party publishers to fix errors. AI answers largely reflect what is published, so changing the inputs is the most reliable route.

Why does ChatGPT confuse my brand with another company?

It tends to happen when names are similar and descriptions are vague. Make the distinction explicit: an About page that opens with your category, location and audience, the same name and description everywhere, and sameAs links to your official profiles. Clear, consistent facts give engines a way to tell you apart.

Should my one-line description be the same everywhere?

Yes. Pick one plain sentence that says what you are and who it's for, and reuse it on your site, social profiles, directories and review sites. Clever variations make your category harder to pin down for engines and people alike. When it changes, update every copy.

Should my app store listings match my website?

Yes. App stores are part of your public fact footprint, so the name, description, category and developer details should match your site and other profiles. A mismatch between an app listing and your website is an easy source of confusion to remove.

Schema and llms.txt

Does FAQ schema help me appear in ChatGPT?

There is no evidence it does. A controlled Ahrefs study (May 2026) tracked 1,885 pages that added JSON-LD and found no significant citation lift in ChatGPT (+2.2%) or Google AI Mode (+2.4%). FAQPage markup is fine where the Q&A is visible, but don't expect it to drive AI citations.

The study compared pages that added JSON-LD with matched controls, which makes it stronger than the before-and-after anecdotes often used to sell schema. Small differences such as +2.2% weren't statistically significant. Schema still has legitimate uses for Google rich results and Bing, so add it accurately, just not as your headline AI fix.

What does JSON-LD actually do?

JSON-LD is structured data embedded in a page that describes entities such as your organisation, products and FAQs in a machine-readable form. It supports Google rich results and helps Bing understand content. For AI citations, a controlled study found no measurable lift, so treat it as hygiene.

Did adding schema make AI Overviews citations drop?

Not as far as anyone can show. In the Ahrefs (May 2026) study, AI Overviews citations for pages that added JSON-LD fell 4.6%, but the drop wasn't attributed to schema. The fair summary is that schema showed no significant positive effect on AI citations, not that it causes harm.

Should I still add schema markup to my site?

Yes, as cheap hygiene. Add Organization sitewide, Product, SoftwareApplication or LocalBusiness where relevant, and FAQPage only where the Q&A is visible. It supports Google rich results and Bing, but never treat it as your main AI visibility fix.

What does Google say about schema for AI Overviews?

Google says no special schema is needed for its AI features, which include AI Overviews and AI Mode. Structured data still supports Google rich results, so it's worth adding accurately. AI Overviews follow Googlebot, so crawlability and indexing matter more than markup.

Does Bing use schema for Copilot?

Bing says it does: schema helps its models understand content. That is a reason to keep structured data accurate, especially as Bing feeds Copilot and part of ChatGPT search. It is still not evidence of a measurable citation lift.

Why do so many GEO tools score schema and llms.txt?

Because they are easy to check automatically, not because they work. Controlled data shows no significant citation lift from JSON-LD, and Ahrefs found 97% of llms.txt files got zero requests. Server rendering, crawler access and third-party mentions matter far more, so judge any audit by whether it checks those first.

Can JSON-LD contain facts that aren't visible on the page?

It shouldn't. Every value in your JSON-LD should also be visible on the page, and FAQPage markup is only valid where the questions and answers are shown. Facts held only in markup may not be read: one test found JSON-LD-only prices weren't read by any AI system tested.

How do I validate my JSON-LD?

Run it through the Schema.org validator (validator.schema.org) to check syntax and vocabulary, and Google's Rich Results Test to see which rich results it qualifies for. Then check that every value matches the visible page. Revalidate after template or content changes.

Which schema types should my business use?

Most sites need one Organization block sitewide with a stable @id. Then add Product, SoftwareApplication, Service or LocalBusiness to match what you sell, and FAQPage only on pages with visible Q&A. Link them with @id references so the relationships are clear.

What is the entity chain in JSON-LD?

It is the pattern of linking JSON-LD entities by @id: Organization, then its brand, then Product, SoftwareApplication or Service, then FAQPage. Linking them states clearly which products and answers belong to which organisation. Use a stable id such as {url}/#organization and reuse it everywhere.

How do I add JSON-LD in a Next.js site?

Render a script tag of type application/ld+json from a server component, passing the object through JSON.stringify. Server rendering matters because most AI crawlers don't execute JavaScript and will only see markup in the initial HTML. Keep the values in sync with the visible content.

What is dateModified and when should I change it?

dateModified is a structured data property recording when a page's content last changed. Set it on content pages and change it only when the content genuinely changed, alongside a visible "Updated" date. Bumping it without real edits misrepresents the page.

Can I generate JSON-LD automatically?

Yes, ideally from one source of truth so it can't drift from your facts. The BrandAnswers jsonld script reads your brand facts file, plus an optional FAQ file, and prints Organization or FAQPage JSON-LD to embed. Whatever produces it, check the output against the visible page.

What is llms.txt?

llms.txt is a proposed markdown file at the root of a site that lists key pages for language models to read. It is popular in GEO checklists, but AI search engines rarely fetch it, and Google says it won't use it. Its genuine use is helping coding agents read developer documentation.

Does llms.txt help AI find my site?

No measurable evidence says it does. Ahrefs (2026) looked at 137k domains and found 97% of llms.txt files got zero requests, and Google says it won't use llms.txt. Treat it as an optional extra, never as an AI visibility lever.

Should I bother creating an llms.txt file?

Only if it is cheap and you have a reason, such as developer docs that coding agents read. It does no harm, and BrandAnswers reports whether you have one, but it won't make AI search engines read your site. Spend the time on server rendering, robots.txt and third-party mentions first.

Is paying for an llms.txt setup worth it?

No. Selling llms.txt as an AI visibility service is selling a myth: Ahrefs (2026) found 97% of llms.txt files across 137k domains got zero requests, and Google says it won't use it. If a provider leads with llms.txt or FAQ schema, ask what they are doing about crawlability and third-party mentions.

What should go in an llms.txt file?

Keep it short: an H1 with the brand name, a one-line summary in a blockquote, then links to key pages such as About, Pricing, Products, FAQs and Docs. It takes minutes to write. Don't expect AI search traffic from it.

Off-site presence

Why does what other sites say about me matter more than my own site?

AI search shows a strong bias towards earned, third-party media over brand-owned content, according to Chen et al. (2025). Independent lists, reviews and discussions shape most brand recommendations. Your own site still needs to be readable and accurate, but much of the persuasion happens elsewhere.

Chen et al. (2025, arXiv 2509.08919) found the earned-media bias. Ahrefs' study of 75k brands (Dec 2025) found YouTube mentions (about 0.74) and branded web mentions (0.66 to 0.71) correlate most strongly with AI visibility, while backlinks and Domain Rating correlate weakly. BrandAnswers finds the lists, reviews and threads engines cite in your category and drafts pitches for you to send.

What are listicles and why do they matter for AI?

Listicles are third-party "best X for Y" and "top X" articles. They are the single most-cited content type for commercial AI queries, and Peec's data shows they win commercial prompts. Getting into the lists engines already cite is often the biggest off-site win.

How do I get my brand into "best of" lists?

Find the pages engines already cite for your category prompts, pick the ones that list competitors but not you, and pitch each author with specifics: who you're best for, one proof point and a reviewer account. It is slow, relationship-based work. Nobody can guarantee inclusion.

Prioritise pages that appear repeatedly across your queries, list competitors but not you, and were updated in the last 12 months. Each pitch should reference that specific article; mass templates get ignored. Offer something useful to the author, such as a free account for testing, a founder interview or data they can use.

How do I find which articles AI cites for my category?

Run category prompts such as "best {category} for {audience}" several times in each engine and record the cited URLs. Add web searches for "top {category} {year}", "{competitor} alternatives" and "{category} reddit". Pages that recur across queries are the ones engines retrieve most.

For each result, note the URL, publisher, date, which brands it lists, whether yours is included, and the author if public. BrandAnswers saves this list to .brandanswers/offsite.md so it can be compared when you re-run the research each quarter and spot new gaps.

How should I pitch the author of a listicle?

Keep it short and specific to their article: who you're best for in one honest line, one proof point such as a review score or customer, and what you can offer, such as a reviewer account or data. Don't use mass templates; authors ignore pitches that could have gone to anyone.

Should I pay to be included in listicles?

Be careful. Paid placements should be clearly disclosed as sponsored, and undisclosed paid inclusion can breach advertising rules and damage trust if it comes out. A genuine pitch with real proof and a reviewer account is the more durable route.

Do backlinks matter for AI visibility?

Less than many expect. Ahrefs' study of 75k brands (Dec 2025) found backlinks and Domain Rating correlate only weakly with AI visibility, while YouTube mentions (~0.74) and branded web mentions (0.66–0.71) correlate most strongly. Correlation isn't causation, but mentions look like the better target.

Why does YouTube matter for AI visibility?

In Ahrefs' study of 75k brands (Dec 2025), YouTube mentions had the strongest correlation with AI visibility, at about 0.74. That is correlation, not proof that YouTube causes it, but it is the strongest signal measured. Demo and how-to videos, plus reviews on other people's channels, are worth the effort.

What kind of YouTube videos should I make?

Make demo and how-to videos that answer real buyer questions, with the question as the title and a transcript or accurate captions. Short, specific videos such as "How to set up X with Y" match how people search. Reviews and mentions on independent channels count too.

What are branded web mentions?

They are references to your brand name on other sites, linked or not: articles, reviews, forum threads and lists. Ahrefs' 75k-brand study (Dec 2025) found branded web mentions correlated strongly with AI visibility (0.66–0.71), much more than backlinks did. Earning genuine mentions is a core off-site goal.

Should my company post on Reddit?

Yes, if real people answer genuinely and disclose their affiliation. Reddit is a large, if volatile, source of AI citations, but communities quickly spot and punish promotion. Help first, mention your product only when it truly fits, and follow each subreddit's rules.

Can I use AI or an agency to post on Reddit for us?

Don't. Community answers should be written by a real person with real experience, and they should disclose the affiliation. Automated or undisclosed posting breaks community trust, usually breaks subreddit rules, and can backfire publicly. Tools can find relevant threads; a human should write and post.

How do I disclose my affiliation on Reddit?

Say it plainly in the comment itself, for example "I work at [company], so I'm biased". Do it every time you mention your product, not just in your profile. Clear disclosure makes a helpful answer more credible, not less.

Is Reddit still important for AI search?

It is still large but volatile. Reddit's share of AI citations has moved around, so building a strategy on it alone is risky. Genuine participation in the forums your buyers use is worth doing alongside listicles, reviews and YouTube.

Do podcasts help AI visibility?

They can add to branded mentions, which correlated strongly with AI visibility in Ahrefs' 75k-brand study (Dec 2025). Appearances also create show notes, transcripts and episode pages that mention you on other sites. Pick shows your buyers actually listen to rather than chasing volume.

Does PR help with AI search?

Yes, when it earns genuine third-party coverage, which suits how AI search works, given its strong bias towards earned media (Chen et al., 2025). Specific stories, original data and expert commentary in category publications are more likely to be picked up than generic announcements. No PR activity can guarantee an AI mention.

Do press releases help AI visibility?

On their own, rarely much. A press release is brand-owned content, which AI search tends to weight less than independent coverage (Chen et al., 2025). Its value lies in whether journalists and writers pick it up and write about you, so focus on newsworthy specifics rather than distribution volume.

Why do G2 and Capterra matter for B2B software?

They are among the review sites engines cite for software categories, so an accurate, active profile puts independent proof where answers are assembled. Keep the description consistent with your fact sheet and ask happy customers for honest reviews. TrustRadius is worth a look too.

How do I get more customer reviews?

Ask happy customers directly at a natural moment, such as after a successful onboarding or a renewal, and give them a direct link. Never buy reviews, write them yourself or reward only positive ones; platforms remove them and it damages trust. Reply to criticism calmly and specifically.

Should I respond to negative reviews?

Yes, briefly and specifically. Acknowledge the issue, say what has changed or how you will help, and take details offline where needed. Buyers see the whole profile, and a calm, factual reply shows the business is active and listening.

What off-site work matters for developer tools?

Keep accurate, consistent listings where developers look: GitHub, npm, the MCP Registry and skills directories. Clear READMEs that say what the tool does and who it is for matter, as do genuine answers in developer communities. This is also where llms.txt has a real use, helping coding agents read your docs.

Can BrandAnswers send outreach pitches for me?

No, by design. BrandAnswers finds the pages engines cite in your category, flags those listing competitors but not you, and drafts specific pitches. A person reviews and sends them, because relationships with authors depend on real people, and it never posts to forums on your behalf.

How often should I re-check the lists and pages AI cites?

Quarterly is a sensible rhythm. Listicles get updated, new comparison articles appear, and the pages engines cite shift over time. Re-run your category searches, refresh your target list and prioritise pages that recur and were updated in the last 12 months.

Which off-site targets should I prioritise?

Start with pages that appear repeatedly across your category queries, list competitors but not you, and were updated in the last 12 months. Repetition suggests engines retrieve them often, and recent updates suggest the author still maintains the list.

Do guest articles help AI visibility?

They can, when they appear in publications your category actually reads and contain specific, useful expertise. They create third-party mentions, which correlate with AI visibility. Low-quality guest posts on unrelated sites mostly add noise.

Is off-site work the biggest lever for AI visibility?

Usually yes, and also the slowest. AI search favours earned media, and third-party mentions show the strongest correlations with AI visibility. But it only pays off if engines can also read your own site, so fix crawlability first, then invest in lists, reviews and mentions.

Do directory listings help AI visibility?

The right ones can. Keep accurate profiles on the directories and review sites engines cite for your category, such as G2 and Capterra for software, Google Business Profile, Yelp or Tripadvisor for local businesses, and GitHub or npm for developer tools. Mass submissions to unrelated directories add little.

Measuring AI visibility

What is Bing's AI Performance report?

It's a report in Bing Webmaster Tools, launched in February 2026, that shows how often your pages are cited in Copilot answers, which pages are cited and the grounding queries behind them. It's currently the only first-party AI citation data any engine offers, so if you set up only one AI measurement tool, make it this one.

Does Bing's AI Performance report include ChatGPT?

No. It covers Microsoft's own AI experiences, such as Copilot, not ChatGPT, even though Bing is part of ChatGPT search. For ChatGPT, look at server logs for OAI-SearchBot and ChatGPT-User, referral traffic from chatgpt.com, and mention rates from repeated prompt runs.

Can Google Search Console show my AI Overviews traffic?

Not separately. Google Search Console folds clicks and impressions from AI features into your normal search performance data, so you can't isolate AI Overview or AI Mode citations there. Bing's AI Performance report is the only first-party AI citation data available. For Google's AI features, sample prompts and track mention rate over repeated runs.

How do I track traffic from ChatGPT and other AI tools in analytics?

Filter referrals by source domain: chatgpt.com, perplexity.ai, claude.ai, gemini.google.com and copilot.microsoft.com. Not every AI click carries a referrer, so some will show as direct traffic; treat these numbers as a floor. Combine them with server-log hits from AI fetchers and mention rates from repeated prompt runs.

Is there a tool that shows my ranking in ChatGPT?

No tool can give a meaningful ChatGPT 'rank', because answers change from run to run; SparkToro/Gumshoe found identical brand lists less than 1% of the time. Treat any fixed position as a red flag. The honest metrics are mention rate and citation rate: the share of repeated runs that name your brand or cite your domain.

BrandAnswers' sample-mentions script runs a fixed prompt set several times per engine with your own API keys and reports those rates, along with the third-party domains engines cite. Paid analytics tools do similar sampling at larger scale. Always report the number of runs alongside each rate.

How many times should I run a prompt to measure AI visibility?

At least five times per engine, and more for prompts you care most about. Because answers vary between runs, a single result tells you little. Use a fixed set of 10 to 30 conversational prompts, run them in logged-out or incognito sessions or via the API, and report rates with run counts, such as 'mentioned in 7 of 20 runs'.

What does the BrandAnswers audit check?

It fetches your page the way an AI crawler does, with a bot user agent and no JavaScript, and reports what's actually there: visible word count, whether it looks like an empty app shell, title, headings, question-style headings and JSON-LD. It also parses robots.txt for each major AI bot, looks for a sitemap, and compares bot and browser status codes to spot firewall blocking.

The same audit is available to any MCP client as the audit_url tool. Each finding is tagged with a rulebook ID such as R1.1 or R1.2 and a suggested fix. It also notes whether llms.txt is present, but marks it optional, because the evidence shows no benefit. Run it on the home page and two or three key pages, such as pricing and a product page.

Which bot does the BrandAnswers audit pretend to be?

It fetches the page with OAI-SearchBot's user agent and no JavaScript, and fetches it again with a normal browser user agent to spot firewall blocking. It doesn't fetch as every bot, but it checks robots.txt rules for twelve tokens, including GPTBot, Claude-SearchBot, Claude-User, PerplexityBot, Googlebot, Bingbot and Google-Extended.

Why do my audit results differ between localhost and the live site?

Usually because something sits in front of the live site that localhost doesn't have: a CDN or firewall blocking bots, a different robots.txt, or redirects. A dev server can also render differently from a production build. Audit a local production build for rendering, then audit the live URL for access.

Can AI crawlers see my localhost or staging site?

Not localhost: it exists only on your machine, so no crawler can reach it. Public staging or preview URLs can be crawled if they're reachable and not blocked, which risks duplicate content. Keep staging behind authentication or disallowed, and make sure those blocks don't get copied into production.

What does it mean if no AI bots appear in my server logs?

It usually means AI engines aren't retrieving your pages, so go back to the crawlability basics. Check that robots.txt allows the search bots, that your CDN or firewall isn't blocking them, and that your pages are in your sitemap and submitted to Bing. Also confirm your logs capture traffic your CDN serves from cache.

How do I measure AI search visibility?

Measure rates over repeated runs: run a fixed set of prompts at least five times per engine and record the share of answers that mention your brand and the share that cite your domain. Add first-party data from Bing's AI Performance report, AI referrals in analytics, and AI bot hits in server logs.

What is mention rate?

Mention rate is the share of runs in which an AI answer names your brand, for example "mentioned in 7 of 20 runs". Because answers vary from run to run, it is a far more honest measure than any single result. Always report it with the number of runs.

What is the difference between mention rate and citation rate?

Mention rate is the share of runs whose answer names your brand; citation rate is the share that cite or link your domain. You can be mentioned without being cited, often because a third-party page was the source. Tracking both shows whether engines learn about you from your site or from others.

What is share of voice in AI search?

Share of voice is your mentions divided by the mentions of all tracked brands, across all runs of your prompt set. It shows how much of the category conversation you hold relative to named competitors. Keep the prompt set and competitor list fixed so the figure is comparable over time.

Why is ranking in ChatGPT meaningless?

Because AI answers aren't a fixed list. SparkToro/Gumshoe (2026) found AI tools return an identical brand list less than 1% of the time. Your position in one run says little about the next, so measure how often you are mentioned across many runs.

How many prompts should I track for AI visibility?

Around 10–30 conversational prompts is a practical set. Make most of them category and "best X for Y" prompts that don't name your brand, plus a few branded ones such as "what is {brand}". Keep the set fixed so results can be compared over time.

Should my tracking prompts include my brand name?

Mostly no. Unbranded category prompts, such as "best {category} for {audience}", show whether engines recommend you when buyers haven't heard of you, which is the real test. Add a few branded prompts, such as "is {brand} good for {use case}", to check how engines describe you.

Should I sample AI answers manually or through the API?

Either works, and many teams use both. Manual sampling costs nothing: paste your prompts into ChatGPT, Perplexity, Claude and Gemini at least five times each in a logged-out or incognito window, then tally the answers. API sampling is faster and repeatable, at a small cost per run with your own keys, but it approximates the consumer apps rather than matching them.

BrandAnswers supports both. For the manual route, the agent tallies the answers you paste back. For the API route, the sample-mentions script runs a fixed prompt file against engines with your own keys, counts mentions and citations for your brand and named competitors, and records the results. Many teams use the API for regular tracking and spot-check a few prompts by hand.

How should I report AI visibility to my manager?

Report rates with run counts, quarter on quarter: mention rate, citation rate and share of voice against named competitors, from a fixed prompt set. Add first-party signals such as Bing AI Performance citations and AI referrals. Avoid single screenshots and rank claims, because one run proves nothing.

Can I prove that AI visibility work increased sales?

Rarely with certainty. AI answers vary, many AI-driven visits carry no referrer, and off-site work overlaps with other marketing. Track rates and referrals over time and be honest that the evidence is directional; never claim causality from one run or one quarter.

What are top cited domains and why track them?

They are the third-party URLs engines cite when answering your category prompts. Tracking them shows where the category conversation happens, and those pages become your off-site targets: lists to pitch, review sites to complete and forums to join.

Where should I store AI visibility results?

Keep a dated row per run in one simple file, recording the prompt, engine, and whether the brand was mentioned or cited. In the BrandAnswers kit this is .brandanswers/visibility.csv in your repo. A consistent log you can compare quarter on quarter beats a dashboard you can't.

Do I need a paid AI visibility tool?

Not to start. A fixed prompt set, repeated runs and a spreadsheet will show your mention rate. Paid options range from enterprise analytics such as Profound, Peec and Promptwatch to cheaper tools such as Otterly (from $29 a month); check that they measure rates over repeated runs and that their audits don't lean on weak levers like llms.txt.

Which AI engines should I track?

Track the engines your buyers use. For most brands that means ChatGPT, Google AI Overviews and AI Mode, Perplexity, Claude and Copilot, where Bing's AI Performance report gives first-party Copilot data. Run the same fixed prompt set in each and report each engine separately.

How do I know if a change in mention rate is real?

Compare rates across enough runs, with a fixed prompt set, over more than one period. A move from 2 to 3 mentions in 10 runs is likely noise; a consistent shift across many runs and quarters is more believable. Always quote the run count alongside the rate.

By business type

How long does it take to show up in AI answers?

It varies, and nobody can promise a timeline. Technical fixes such as server rendering or unblocking bots can be made quickly, but engines must recrawl before anything changes. Off-site work, such as getting into lists and reviews, usually takes months, and some prompts may never mention you.

A realistic sequence: fix crawler access and rendering first, then publish answer-first pages for your top buying questions, then work steadily on third-party lists, reviews, YouTube and community answers. Start measuring before you change anything, so you have a baseline. Review quarterly, and expect uneven progress across engines and prompts.

What should I do first with a small budget?

Fix what blocks retrieval first, because it's cheap and nothing else works without it: server-rendered content, a robots.txt that allows AI search bots, and a submitted sitemap. Then write answer-first pages for your top buying questions. Spend whatever remains on reviews and the lists engines already cite.

How much does AI search optimisation cost?

Anything from free to expensive, because most of the work is time: technical fixes, answer content, outreach and measurement. Tools range from free open-source kits to cheap hosted tools, such as Otterly from $29 a month, to enterprise platforms. BrandAnswers is free and MIT-licensed, running in your own AI agent with your own keys.

Should I hire an agency for AI search?

Possibly, if they focus on the right levers. A good agency fixes crawlability, writes grounded answer content, does genuine off-site outreach, and reports mention rates over repeated runs. Be wary of anyone who leads with llms.txt or FAQ schema, or who promises rankings.

What should I ask an AI SEO agency before hiring them?

Ask how they check what AI crawlers see without JavaScript, how they measure (mention rate over repeated runs, or a "rank"?), what evidence supports each tactic, and how they handle off-site outreach and disclosure. Any guarantee of a position in ChatGPT is a red flag.

How should agencies report AI visibility to clients?

Use a fixed prompt set agreed with the client, run each prompt at least five times per engine, and report mention rate, citation rate and share of voice with run counts. Show quarter-on-quarter change, add Bing AI Performance and referral data, and say plainly that answers vary and results are directional.

What should agencies watch out for when doing AI visibility for clients?

The biggest risks are overselling and inventing facts. Set expectations in writing that results vary and aren't guaranteed, ground every client answer in facts the client has verified, and never post on forums or Reddit as the client. Report rates over repeated runs, not screenshots of a good result.

How can a local business appear in AI answers?

Start with an accurate, active Google Business Profile, plus consistent listings on the platforms your sector uses, such as Yelp or Tripadvisor. Make sure your site states services, areas covered, hours and prices in visible text, and ask happy customers for reviews. LocalBusiness schema is tidy hygiene, not a lever.

Does Google Business Profile matter for AI search?

For local businesses it is the first profile to get right: name, address, phone, hours, categories and services, all matching your website. Review and directory platforms are among the sources engines cite for local businesses, so an accurate, well-reviewed profile matters. Reply to reviews to show the business is active.

What questions should a local business answer on its website?

Answer what customers ask before they call: services, areas covered, opening hours, prices or typical costs, booking, parking or access, and what makes you different from others nearby. Use the customer's words, such as "Do you do same-day boiler repairs in Leeds?", and answer in the first sentence.

Do location pages help local AI visibility?

They can, if each page has real, specific content: services in that area, local details, and genuine reviews or examples. Copy-pasted pages that only swap the town name are thin and add little. One strong page per real location or service area beats dozens of templates.

How do online shops get recommended by AI?

Make product facts visible and specific, such as prices, sizes, materials, compatibility, delivery and returns, in server-rendered HTML rather than only in scripts or images. Then work on third-party signals: reviews, "best X for Y" roundups and gift guides, and YouTube reviews. Product schema helps Google rich results but isn't an AI citation lever.

Should product prices be in JSON-LD or visible text?

Both, but visible text is essential. One test found prices present only in JSON-LD weren't read by any AI system tested, so the price must be on the page itself. Product schema can then mirror it for Google rich results.

What FAQs should an online shop answer?

Answer the questions that stop people buying: sizing and fit, materials, compatibility, delivery times and costs, returns, warranty and care. Then cover comparison shapes such as "which model is best for small kitchens" or "X vs Y". Put answers on the relevant product or category page, not only on a separate FAQ.

What matters most for B2B SaaS in AI search?

For B2B SaaS, the commercial fan-out shapes do most of the work: "best {category} for {audience}", comparisons, alternatives, pricing and integrations. Pair honest pages for each with active G2, Capterra or TrustRadius profiles and inclusion in the listicles engines cite. Check your marketing site is server-rendered.

App-style marketing sites built as client-rendered single-page apps are a common blind spot: Googlebot renders them, but GPTBot, OAI-SearchBot, ClaudeBot and PerplexityBot fetch JavaScript without executing it (Vercel/MERJ, 2024), so they may see an empty page. Fix that before writing more content, then build pages for each buying question your audiences ask.

Should a B2B SaaS company hide its pricing?

Usually not. Hiding it leaves "how much does it cost" to third parties, who may guess wrong. If you can't publish exact prices, publish what pricing depends on, a starting point or typical range, and what is included. A straight answer serves buyers better than "contact sales".

How should a SaaS company handle security and compliance questions?

Answer them directly on a security page: certifications you actually hold, where data is stored, how it is protected, and how to request documents. Security and privacy is one of the eight topic lenses because buyers ask before they sign. Never claim a certification you don't have.

How do I write content for a B2B buying committee?

Cover each role's questions, because each asks different things: users ask about setup and integrations, managers about outcomes and ROI, finance about cost and approval, and IT about security. Map decision authority and buying process for each audience, and give every concern a clear, direct answer.

Is AI search worth the effort for a very small business?

Often yes, because the first steps are cheap: make sure AI crawlers can read your site, answer your top customer questions clearly, and keep your directory and review profiles accurate. You don't need a big campaign. Check a handful of prompts now and then to see whether anything changes.

What results can I realistically expect from AI visibility work?

Expect gradual, uneven change rather than a switch flipping. Fixing crawlability can make you retrievable where you weren't, and good off-site work can raise your mention rate over months, but some prompts will keep favouring others. Measuring rates over repeated runs lets you see real movement rather than noise.

Do I need different strategies for ChatGPT, Perplexity and Google?

The foundations are the same, with a few engine-specific checks. Googlebot renders JavaScript but ChatGPT's, Claude's and Perplexity's crawlers don't; Bing feeds Copilot; and Claude's web search uses Brave, which follows your Googlebot rules. Allow each engine's search bots, then measure each engine separately.

About BrandAnswers

What is BrandAnswers?

BrandAnswers is a free, open-source kit that helps your brand get retrieved, cited and recommended in AI answers from ChatGPT, Google AI Overviews and AI Mode, Perplexity, Claude and Copilot. It runs inside the AI agent you already use, such as Claude Code, Cursor or Codex. It audits how AI crawlers see your site, then fixes what it finds in your code.

The kit has three parts. An Agent Skill holds the evidence-graded rulebook, reference guides and four zero-dependency scripts. An MCP server serves the live rulebook plus audit, answer-checking, JSON-LD and FAQ search tools, hosted at https://kit.brandanswers.ai/api/mcp or run yourself. And this site, with a living FAQ you can search in your browser. There is no account, no dashboard and no subscription.

What changed from the old BrandAnswers platform?

BrandAnswers used to be a SaaS platform with sign-up, multi-step setup and onboarding flows. It is now a free, MIT-licensed kit that runs in your own AI agent and works directly in your site's code. The answer method, personas and topic strategy from the platform were carried over into the kit's rules and references.

The SaaS turned uploaded documents into FAQ content and published it as JSON-LD. Since then, research has shown that JSON-LD alone gives no measured citation lift, and that many sites fail much earlier because AI crawlers cannot read them. So the kit starts with crawlability, writes answers as visible HTML in your own pages, and covers off-site presence. The rules from the platform were kept, with conflicts fixed, such as the two clashing length rules.

Why did BrandAnswers become a free kit instead of a SaaS?

Because the fixes that matter most live in your site's code, and your AI agent can already edit that code. A separate dashboard can tell you what is wrong but cannot change your rendering, robots.txt or pages. Running inside your agent lets BrandAnswers make the change, show you the diff and re-check it.

What does BrandAnswers actually do to my site?

BrandAnswers checks whether AI crawlers can read your pages, then fixes rendering, robots.txt, the sitemap and canonical URLs in your code. It then helps you plan the questions buyers ask, writes answer-first content into your own pages, adds Organization JSON-LD, drafts an off-site plan and sets up honest measurement. Every change is made by your agent with your approval.

Files it can create in your repo include .brandanswers/brand.md (verified brand facts), .brandanswers/questions.md (the question plan), .brandanswers/offsite.md (third-party pages to target), .brandanswers/prompts.txt (a fixed prompt set) and .brandanswers/visibility.csv (dated measurement rows). You review each change before it is kept, and your agent re-runs the audit to show the fix worked.

Which AI engines does BrandAnswers target?

BrandAnswers targets ChatGPT, Google AI Overviews and AI Mode, Gemini, Perplexity, Claude and Copilot. The rulebook covers the crawlers each one uses, such as OAI-SearchBot, Claude-SearchBot and PerplexityBot. Some rules apply to all of them, while others, like JavaScript rendering, affect some engines more than others.

Googlebot and Applebot render JavaScript, so Google's AI features can see client-rendered content. GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot and PerplexityBot fetch JavaScript but do not run it (Vercel/MERJ, Dec 2024). Claude's web search uses Brave, which honours Googlebot rules in robots.txt. Copilot is the only engine with first-party citation data, in Bing Webmaster Tools.

What parts make up the BrandAnswers kit?

The kit has an Agent Skill, an MCP server and this one-page site with a living FAQ. The skill contains the rulebook, reference guides and four scripts. The MCP server serves the latest rulebook and tools such as audit_url and check_answer. You can use the skill, the MCP or both.

Use the skill when you want full workflows run by your agent in your repo. Use the MCP when your tool cannot load skills, or when you want the latest rules without updating anything. With both installed, the skill checks its rulebook version against the MCP and uses whichever is newer.

Do I need the skill, the MCP, or both?

Either works on its own, and both together is best. The skill gives your agent the full workflows and scripts locally. The MCP gives any MCP client the live rulebook and checks without installing files. With both, the skill compares its rulebook version with the MCP and uses the newer one.

If you use Claude Code, the plugin installs the skill in two commands, and adding the hosted MCP is one more. In Cursor, Codex, Gemini CLI or VS Code Copilot, add the skill to the client's skills folder and the MCP URL in its MCP settings. In ChatGPT, Claude.ai or site builders, the MCP is usually the only option.

Who is BrandAnswers for?

BrandAnswers is for anyone who wants their brand to show up in AI answers and has access to the site's code or an AI agent. That includes vibe coders, founders, marketers, agencies, developers and local businesses. You do not need to be an SEO expert, because your agent follows the rulebook and explains each change.

Is BrandAnswers good for vibe coders?

Yes, vibe coders are a core audience, because sites built with vibe-coding tools often fail the first rule. Many are client-rendered single-page apps, which look blank to the crawlers of ChatGPT, Claude and Perplexity. BrandAnswers checks this first and helps your agent switch to server-rendering or prerendering.

Run a quick audit on your live URL, either with the audit_url tool through the hosted MCP or with node scripts/audit.mjs <url> from the skill. If it reports very few visible words without JavaScript, fix rendering before writing any new content. New FAQs on a page bots cannot read achieve nothing.

Is BrandAnswers useful for founders and small teams?

Yes. BrandAnswers gives founders a structured way to get into AI answers without hiring an agency or paying for a tool. Your agent interviews you once to record verified brand facts, fixes the site, writes answer pages and drafts pitches to the third-party sites that engines cite. You approve each step and send the pitches yourself.

Can marketers use BrandAnswers without coding?

Yes, if you have an AI agent that can work on your site, because the agent does the coding. You answer the brand interview, agree the topics and questions, and review the answers and diffs. If you cannot edit the site's code, you can still use the audit, the question strategy, answer checking and the off-site playbook through the MCP.

Can agencies use BrandAnswers for clients?

Yes. The MIT licence allows commercial use, so agencies can run BrandAnswers on client sites at no cost. Each client repo gets its own .brandanswers/brand.md, question plan and measurement file, so the work stays versioned with the site. The evidence grades also make it easier to explain to clients what is and is not worth doing.

Is BrandAnswers useful for developers?

Yes. Developers get a rulebook with checkable rules, scripts with zero dependencies on Node 18+, and an MCP server they can self-host. The audit tags each finding with a rule ID and points to likely causes in the code, such as "use client" pages or data fetched in useEffect.

Does BrandAnswers work for local businesses?

Yes. The same rules apply: AI crawlers must be able to read your pages, your pages should answer the questions customers ask, and third-party mentions such as reviews and directories matter. For local businesses, review platforms and directory listings are often an easy off-site win. If someone else built your site, ask them to run the kit or use the hosted MCP audit.

What types of websites does BrandAnswers work with?

BrandAnswers works with any website that serves pages over HTTP, because the audit looks at what crawlers receive. Code fixes depend on your agent having access to the site's source, whether that is Next.js, Astro, a Vite app, WordPress themes or plain HTML. Client-rendered single-page apps usually need the most work.

Does BrandAnswers work for non-English sites?

Yes. The rules on crawlability, answer structure and off-site presence apply whatever the language. The voice region is set in your persona in .brandanswers/brand.md, for example UK English, US English or another locale. Your agent writes in that region's language and spelling.

The rulebook and references are written in English, and the evidence behind them comes mostly from English-language studies. The answer checker's filler-word list is also English, so treat its results on other languages as a rough guide. If your site serves several languages, give each language its own crawlable URLs so engines can retrieve the right version.

Who is behind BrandAnswers?

BrandAnswers has worked on AI answer visibility since 2025, first as a SaaS platform and now as a free, open-source kit. The answer method, personas and topic strategy in the kit come from that work. The code and rulebook are public under the MIT licence, so you can check exactly what it does.

What is the living FAQ on this site?

The living FAQ is a large set of pre-written questions and answers that you search in your browser. When you type a question, your browser matches it against the corpus and shows the closest answers. No AI model is called, there are no API costs, and your question is not sent anywhere.

We write and review the corpus ahead of time, so every answer is fixed and checkable rather than generated on the fly. If your question is not covered, the best match may still help, or your agent can search the same corpus with the MCP's ask_brandanswers tool.

Does the living FAQ use AI to answer my question?

No. The living FAQ uses no AI calls at runtime. Every answer was written in advance, and your browser simply searches that set for the best match. That means answers are consistent, and your question never leaves your device.

How do I contribute to BrandAnswers?

BrandAnswers is open source, so you can open issues and pull requests on the GitHub repo jonwilliams88/brandanswers-kit. Rule changes need evidence: new or upgraded rules require grade A or B sources, and vendor claims without data count as grade C at most. Every rule change should list its source and grade.

How do the BrandAnswers rules get updated?

Each month, research on how AI engines retrieve and cite brands is reviewed, and any changes are proposed as a pull request, never committed directly. A person approves them. Each change lists its source and evidence grade, and the rulebook version is bumped: minor for new or changed rules, patch for wording.

Sources checked include engine documentation and changelogs, peer-reviewed or arXiv studies, large-sample studies, new crawler user-agents and rendering changes in vibe-coding tools. If nothing material changed, the rulebook stays as it is. The hosted MCP serves the new version as soon as it is released.

What version is the BrandAnswers rulebook?

The rulebook is currently version 1.0.0. It is updated monthly from new research through a reviewed process. Call get_rules on the hosted MCP to see the latest version and its update date.

Does BrandAnswers publish my FAQs for me?

No. Your agent writes answers into your own site's pages, as visible HTML in your own components, and you deploy them as usual. That is different from the old SaaS, which published a separate JSON-LD knowledge base. Visible content on your own pages is what engines can retrieve and cite.

Can BrandAnswers fix my client-rendered site automatically?

Yes, it can make the change in your code through your agent, with your approval. In our own test on a client-rendered Vite and React site, one request was enough for it to diagnose the problem, add a prerender step, unblock OAI-SearchBot in robots.txt and re-run the audit to prove each page now had real text for crawlers.

The right fix depends on your stack: prerendering for a mostly static SPA, or moving key pages to a server-rendering framework. Your agent proposes the change and you review the diff, as with any other edit. It won't promise citations; it removes the blocker so you can be retrieved at all.

Did BrandAnswers audit its own website?

Yes, and the results were humbling. Our previous marketing site had client-rendered FAQ pages that showed crawlers a loading spinner, answers that appeared only on click, a robots.txt setting asking AI systems not to use the pages in answers, and copy promoting schema and llms.txt as levers. This site was rebuilt to pass the same audit.

Every page here is server-rendered, every FAQ answer is in the HTML, AI crawlers are explicitly allowed, and the sitemap uses real content dates. The living FAQ runs in your browser, so nothing you type is sent anywhere. You can run the same audit on this page yourself.

Why BrandAnswers

How is this different from asking ChatGPT to write my FAQs?

Asking an LLM for FAQs gives you text, but BrandAnswers starts by checking whether AI crawlers can read your page at all. Many sites built with vibe-coding tools are client-rendered, so ChatGPT, Claude and Perplexity see an almost blank page. BrandAnswers fixes that first, then writes answers grounded in verified facts using evidence-graded rules.

It also covers what a prompt cannot: robots.txt and sitemap fixes, the commercial question shapes engines search (best X for Y, X vs Y, alternatives, pricing, is it legit), an answer checker, off-site research, since most recommendations come from third-party pages, and measurement by mention rate over repeated runs. And it says plainly what does not work, such as llms.txt.

Why does rendering matter more than the FAQ content itself?

Because an AI engine cannot cite a page it cannot read. The crawlers used by ChatGPT, Claude and Perplexity fetch JavaScript files but do not run them, so a client-rendered page looks nearly empty to them. Writing more FAQs into that page achieves nothing until the content is in the initial HTML.

Googlebot and Applebot do render JavaScript, so a site can look fine in Google and still be invisible to ChatGPT. The BrandAnswers audit fetches your page without JavaScript, counts visible words and flags likely client rendering, then your agent finds the cause in the code.

Won't an LLM already know the best way to write FAQs for AI search?

Not reliably. LLMs repeat common advice, and much of it is folklore, such as adding FAQ schema or an llms.txt file, which studies have found give no measured citation lift. BrandAnswers gives your agent a rulebook where every rule cites its source and carries an evidence grade, including grade X for things tested and found not to work.

What does evidence-graded mean?

Every BrandAnswers rule carries a grade showing how strong the evidence is. A means engine documentation or a controlled study, B a large but correlational dataset, and C practitioner consensus or a small sample. X means tested and found not to work, so it should not be sold as a lever.

Rules also have a priority from P1 to P3, and your agent works in priority order. For example, server-rendering (R1.1) is P1, grade B, while JSON-LD for AI citations (R4.1) is P3, grade X. Grades come from the sources cited in the rulebook, and they can change when new research is published through the monthly update.

Why won't BrandAnswers invent facts about my brand?

Because invented claims can mislead buyers, get repeated by AI engines and damage trust. BrandAnswers grounds all copy in .brandanswers/brand.md, a file of facts you have verified, each with a source. If a fact is missing, your agent asks you or marks it [NEEDS FACT] instead of guessing.

What makes a good answer for AI engines?

A good answer gives the direct answer in the first sentence and makes sense on its own, out of context. BrandAnswers writes 2 to 4 sentence direct answers with exactly one natural brand mention, plus an optional longer expansion. Answers go in visible HTML with the question as a heading, and the check_answer tool scores each one.

Length is advisory only, about 25 to 80 words. The checker also looks for key-term overlap with the question, banned filler and stray citation markers. Specific, verifiable facts beat adjectives. The direct answer is the passage an engine is most likely to lift, so it carries the facts; the expansion adds steps, comparisons and caveats.

How does BrandAnswers stay up to date?

The rulebook is versioned, currently 1.0.0, and updated monthly from new research through a reviewed process. The hosted MCP always serves the latest version through get_rules. If you have the skill installed, it compares its local version with the MCP and tells you when it is out of date.

Why run BrandAnswers inside my agent instead of a separate tool?

Because your agent can read your code, find the cause of a problem and fix it in place. A separate tool can report that a page is client-rendered, but your agent can change the rendering, show you the diff and re-run the audit to prove it worked. You keep your usual review and approval process.

Can BrandAnswers prove its fixes worked?

Yes, for site fixes. After each change, your agent re-runs the audit to show that crawlers now see the content, robots.txt allows the right bots and the sitemap is found. For visibility, it compares mention rates over repeated runs with a fixed prompt set, rather than claiming success from one answer.

Installing

How do I install BrandAnswers?

In Claude Code, run /plugin marketplace add jonwilliams88/brandanswers-kit, then /plugin install brandanswers@brandanswers. In other MCP clients, add the hosted server at https://kit.brandanswers.ai/api/mcp. In Cursor, Codex, Gemini CLI or VS Code Copilot, you can also add the skill to the client's skills folder.

For the skill, download /brandanswers-skill.zip from this site or run npx skills add jonwilliams88/brandanswers-kit, then place it in your client's skills folder. To add the hosted MCP in Claude Code: claude mcp add --transport http brandanswers https://kit.brandanswers.ai/api/mcp. Then ask your agent something like "audit my site for AI search".

How do I install the BrandAnswers plugin in Claude Code?

Run /plugin marketplace add jonwilliams88/brandanswers-kit in Claude Code, then /plugin install brandanswers@brandanswers. That installs the BrandAnswers skill, with its rulebook, references and scripts. Then ask Claude to audit your site or optimise it for AI search.

To also use the hosted MCP for the latest rules, run claude mcp add --transport http brandanswers https://kit.brandanswers.ai/api/mcp. With both, the skill checks its rulebook version against the MCP. If you use Claude Code with the plugin, you do not need to download the skill separately, as the plugin includes it.

How do I add the BrandAnswers MCP to Claude Code?

Run claude mcp add --transport http brandanswers https://kit.brandanswers.ai/api/mcp. This connects Claude Code to the hosted BrandAnswers MCP over streamable HTTP. You will then see tools such as get_rules, audit_url and check_answer.

How do I use BrandAnswers in Cursor?

Add an MCP server in Cursor's MCP settings with the URL https://kit.brandanswers.ai/api/mcp. For the full workflows, also add the BrandAnswers skill to Cursor's skills folder, from /brandanswers-skill.zip on this site or with npx skills add jonwilliams88/brandanswers-kit. Then ask Cursor's agent to audit your site for AI search.

How do I use BrandAnswers in Windsurf or other MCP clients?

Add a new MCP server in your client's settings with the URL https://kit.brandanswers.ai/api/mcp. It uses the streamable HTTP transport and needs no API key or account. If your client supports Agent Skills, you can add the BrandAnswers skill as well.

How do I use BrandAnswers in Claude.ai or Claude desktop?

Go to Settings, then Connectors, and add a custom connector with the URL https://kit.brandanswers.ai/api/mcp. Claude can then call the BrandAnswers tools, such as auditing a public URL or checking an answer. Claude.ai cannot edit your site's code, so use it for audits and planning, and make code changes in a coding agent.

Can I use BrandAnswers in ChatGPT?

Yes, where your ChatGPT plan supports custom MCP connectors, usually through developer mode. Add a connector with the URL https://kit.brandanswers.ai/api/mcp. Availability and menu names change, so check ChatGPT's current connector settings.

How do I install the BrandAnswers skill in Codex, Gemini CLI or VS Code Copilot?

Download /brandanswers-skill.zip from this site, or run npx skills add jonwilliams88/brandanswers-kit, and place it in that client's skills folder. Any client that supports Agent Skills can load it. You can also add the hosted MCP at https://kit.brandanswers.ai/api/mcp in the client's MCP settings.

Does BrandAnswers work with Lovable, Bolt, v0 or Replit?

Yes, in most cases. If your builder supports custom MCP servers, paste https://kit.brandanswers.ai/api/mcp into its settings. If not, ask an agent that has the MCP to audit your public URL, or run node scripts/audit.mjs <url> from the skill. Then apply the fixes in your builder, starting with rendering.

This matters because client-rendered apps, including older Lovable projects, Bolt and some v0 exports, can look blank to ChatGPT, Claude and Perplexity. If your builder cannot server-render or prerender, ask it to, or export the code to a repo where a coding agent can make the change.

Can I run the audit without installing anything?

Yes. If you already use an AI assistant that supports custom MCP connectors, add https://kit.brandanswers.ai/api/mcp and ask it to audit your URL. The hosted server needs no account or key. Alternatively, download the skill and run node scripts/audit.mjs <url> with Node 18 or later.

Is there an npx command for the audit?

No, the audit is not published as an npx package. Run it from the skill folder with node scripts/audit.mjs <url>, which needs Node 18 or later and has no dependencies. Add --json for machine-readable output. To install the skill itself, you can use npx skills add jonwilliams88/brandanswers-kit.

What do I need to run the BrandAnswers scripts?

You need Node 18 or later, and nothing else. The four scripts, audit.mjs, score-answer.mjs, jsonld.mjs and sample-mentions.mjs, have zero dependencies. Only sample-mentions.mjs needs API keys, and only if you choose to measure automatically.

What should I ask my agent after installing BrandAnswers?

Start with "Audit my site for AI search" or "Why isn't my brand showing up in ChatGPT?". Your agent will run the quick audit and report the top fixes in priority order. For everything, ask for a full BrandAnswers setup, which includes the brand interview, fixes, answers, off-site plan and baseline measurement.

The BrandAnswers tools are not showing in my agent. What should I do?

First restart your agent or start a new session, because many clients only load MCP servers and skills at startup. Then check the server is listed and enabled in the client's MCP settings, with the exact URL https://kit.brandanswers.ai/api/mcp. For the skill, check the folder sits directly in the client's skills directory and contains SKILL.md.

In Claude Code, claude mcp list shows connected servers and /plugin shows installed plugins. Some clients limit how many tools are active, so disable unused servers if needed. If the skill installs but does not trigger, ask for it by name: "use the brandanswers skill to audit my site".

Why does the BrandAnswers MCP connection fail?

The most common causes are a mistyped URL, a client that does not support streamable HTTP, or a network that blocks the request. Check the URL is exactly https://kit.brandanswers.ai/api/mcp and that your client is set to HTTP transport, not SSE or stdio. If it still fails, run the server locally over stdio instead.

To test the network, open the URL from the same machine; a browser GET is not a valid MCP request, so an error page there is normal, but a timeout is not. For a local fallback, clone the repo, run npm ci in mcp-server, and point your client at node mcp-server/server.mjs --stdio.

How do I use BrandAnswers behind a corporate proxy or firewall?

Ask IT to allow outbound HTTPS to brandanswers.ai, or run the MCP server locally over stdio so your agent does not need the hosted endpoint. The skill works offline for most tasks, because its rulebook and scripts are local. The audit still needs to reach the site you are checking.

Node respects proxy settings only in some setups, so if a local audit fails on a corporate network, check your proxy environment variables and certificate settings, or run the audit from a network that can reach the site. Restart your agent after changing proxy settings, because it must reconnect to the MCP server to pick them up.

Can BrandAnswers audit a site running on localhost?

Yes, with the skill or a self-hosted MCP, but not with the hosted MCP, which blocks private and local addresses for security. Run node scripts/audit.mjs http://localhost:<port> from the skill. Audit a production build (npm run build && npm start), because dev servers can render differently.

If you self-host the MCP and want audit_url to reach localhost, start it with BA_ALLOW_PRIVATE_URLS=1, for example BA_ALLOW_PRIVATE_URLS=1 node mcp-server/server.mjs --stdio. Only do this on your own machine, never on a public server. Localhost can't tell you about your CDN, firewall or live robots.txt, so re-run the audit on the live URL after deploying. Keep a server started with BA_ALLOW_PRIVATE_URLS=1 private, because it lets anyone who can reach it fetch internal addresses.

Why does the hosted audit say private or internal addresses are not allowed?

The hosted MCP refuses URLs that resolve to private, local or internal network addresses, and checks every redirect too. This stops the public server being used to probe private networks. To audit a local or staging site, use the skill's audit.mjs or a self-hosted MCP with BA_ALLOW_PRIVATE_URLS=1.

How do I update BrandAnswers?

The hosted MCP always serves the latest rulebook, so there is nothing to update there. For the skill, update the plugin in Claude Code through /plugin, re-run npx skills add jonwilliams88/brandanswers-kit, or download the zip again. When the MCP is connected, the skill tells you if its local rulebook is out of date.

How do I uninstall BrandAnswers?

In Claude Code, remove the plugin through /plugin and the MCP with claude mcp remove brandanswers. In other clients, delete the server from MCP settings and remove the skill folder. Files the kit created in your repo, such as .brandanswers/, stay until you delete them.

Do I need an API key to use BrandAnswers?

No. The skill, the hosted MCP and the audit need no API key and no account. Keys are only needed for the optional automated measurement script, which uses your own Perplexity, OpenAI or Anthropic key. There is also a free manual measurement option.

Can I install the plugin before the repo is public?

Not yet: the plugin commands, /plugin marketplace add jonwilliams88/brandanswers-kit and /plugin install brandanswers@brandanswers, work once the GitHub repo is public at launch. If the marketplace cannot be found, the repo may not be public yet. In the meantime, you can use the hosted MCP at https://kit.brandanswers.ai/api/mcp.

Which AI agents does BrandAnswers support?

BrandAnswers works with Claude Code as a plugin, with any Agent Skills client such as Cursor, Codex, Gemini CLI and VS Code Copilot, and with any MCP client through https://kit.brandanswers.ai/api/mcp. That includes Windsurf, Claude.ai, Claude desktop and ChatGPT where custom connectors are available. Site builders such as Lovable, Bolt, v0 and Replit can use it if they support custom MCP servers.

The MCP server

What is an MCP server?

MCP, the Model Context Protocol, is an open standard that lets AI agents and assistants call external tools. An MCP server offers a set of tools, and any compatible client, such as Claude Code, Cursor or Claude.ai, can use them. The BrandAnswers MCP gives your agent the live rulebook and AI visibility checks.

What tools does the BrandAnswers MCP provide?

The BrandAnswers MCP provides six tools: get_rules returns the current rulebook, get_reference returns a reference guide, audit_url checks how AI crawlers see a public URL, check_answer scores an answer against the answer rules, build_jsonld builds Organization or FAQPage JSON-LD, and ask_brandanswers searches this living FAQ. It is stateless and needs no account.

ask_brandanswers searches the same pre-written corpus as this page and returns the best-matching answers with a confidence level, so your agent can answer questions about AI search and the kit without a web search.

What does the get_rules tool do?

get_rules returns the current, evidence-graded BrandAnswers rulebook, with its version and last-updated date. Agents should call it first in any AI search task. If you also have the skill, its version shows whether your local copy is out of date.

What does the get_reference tool do?

get_reference returns one of the BrandAnswers reference guides by name. The guides cover answer writing, question strategy, personas, the crawler table, structured data, the brand facts template, the off-site playbook and measurement. This lets an agent follow the full method even without the skill installed.

What does the check_answer tool do?

check_answer scores a direct answer against the BrandAnswers answer rules. It checks key-term overlap with the question, 2 to 4 sentences, exactly one brand mention, no banned filler and no citation markers. Length, around 25 to 80 words, is reported as advisory and never fails the check.

What does the build_jsonld tool do?

build_jsonld builds Organization or FAQPage JSON-LD from the facts in your .brandanswers/brand.md. For FAQPage, you pass the questions and answers that are visible on the page. JSON-LD is hygiene that helps Google rich results and Bing, but it is not a proven AI citation lever.

Can the MCP edit my code?

No. The BrandAnswers MCP only returns information: rules, reference guides, audit findings, answer scores, JSON-LD and answers from this FAQ. Your agent decides what to change in your code, using its normal permissions and your approval. The MCP never sees your repo.

Is the hosted MCP the same as running it locally?

Yes, the same code runs in both places. The hosted version at https://kit.brandanswers.ai/api/mcp uses streamable HTTP, while a local copy can run over stdio. The only difference is that the hosted version blocks private and localhost URLs, which you can allow locally with BA_ALLOW_PRIVATE_URLS=1.

How do I self-host the BrandAnswers MCP server?

Clone the repo and run npm ci in mcp-server. For a local stdio server, run node mcp-server/server.mjs --stdio. For HTTP, run PORT=8787 node mcp-server/server.mjs, which serves POST /mcp. Or build the included Dockerfile, which listens on port 8080.

With Docker, from the repo root: docker build -t brandanswers-mcp . then docker run -p 8080:8080 brandanswers-mcp. A health check responds at /health. In Claude Code, add a local stdio copy with claude mcp add brandanswers -- node /path/to/brandanswers-kit/mcp-server/server.mjs --stdio. The server is stateless, so it needs no database or storage.

Does the MCP server need a database or storage?

No. The BrandAnswers MCP is stateless: it creates a fresh server for each request and keeps nothing afterwards. It reads the rulebook and references from files bundled with it. That makes it cheap to host and means there is no data to store or leak.

Can I use the MCP without the skill?

Yes. The MCP alone gives your agent the live rulebook, the reference guides and the checks, so it can follow the method by reading them with get_rules and get_reference. You lose the local scripts, including the measurement script, and the packaged workflows, but the audit and answer checks are available as tools.

Which MCP transports does BrandAnswers support?

The BrandAnswers MCP supports streamable HTTP and stdio. The hosted server at https://kit.brandanswers.ai/api/mcp uses streamable HTTP, and you can run a local copy over stdio with node mcp-server/server.mjs --stdio. If your client only supports SSE, run it locally over stdio instead.

The skill

What is an Agent Skill?

An Agent Skill is a folder of instructions, reference files and scripts that an AI agent loads when a task needs it. It starts with a SKILL.md file that tells the agent when and how to use it. The BrandAnswers skill teaches your agent the AI search rulebook and four workflows.

Skills work in Claude Code and in other clients that support Agent Skills, such as Cursor, Codex, Gemini CLI and VS Code Copilot. Unlike an MCP server, a skill runs entirely in your agent, on your machine. Your agent loads the full instructions only when a task needs them, so an installed skill does not get in the way of unrelated work.

What is in the BrandAnswers skill?

The skill contains SKILL.md with the ground rules and workflows, the evidence-graded rulebook, and reference guides on crawlers, answer writing, question strategy, personas, structured data, brand facts, off-site work and measurement. It also includes four zero-dependency scripts: audit.mjs, score-answer.mjs, jsonld.mjs and sample-mentions.mjs.

What workflows does the BrandAnswers skill offer?

The skill has four workflows. A, the quick audit, takes about five minutes. B, full setup, runs in one session from brand interview to baseline measurement. C writes or refreshes answers only, and D runs a visibility check only. If you are unsure, your agent starts with the quick audit.

What happens in the quick audit?

Your agent runs the audit on your home page and two or three key pages, such as pricing, a product page and a guide. It reads your repo to find the cause of each failure, then reports the top three to five fixes in rule priority order, with the exact files to change. It also says what is fine and what is not worth doing.

What happens in a full BrandAnswers setup?

Full setup runs in one session. Your agent interviews you to create .brandanswers/brand.md, fixes crawlability, plans the questions, writes and checks the answers, and adds structured data. It then builds an off-site plan, sets up baseline measurement and summarises what changed and what to re-check quarterly.

The interview is short because your agent reads your existing site first and only asks for gaps. Questions are planned across 8 to 10 agreed topics and the commercial fan-out shapes, then saved to .brandanswers/questions.md. The summary ends with the three highest-impact remaining actions.

Can BrandAnswers just write or refresh my answers?

Yes. Workflow C plans the questions, writes the answers and adds matching structured data, using an existing .brandanswers/brand.md. Each direct answer is checked with score-answer.mjs and fixed before it goes in. Your agent groups related questions on strong pages rather than creating thin ones.

How does the visibility check work?

Workflow D measures how often AI engines mention and cite your brand across a fixed set of 10 to 30 prompts, run several times each. You can paste prompts into the apps manually at no cost, or run sample-mentions.mjs with your own API keys. Results are reported as rates with run counts, plus the third-party domains engines cite most.

Example: PERPLEXITY_API_KEY=... node scripts/sample-mentions.mjs --brand "Acme" --domain acme.example --prompts .brandanswers/prompts.txt --runs 5. Results can be appended to .brandanswers/visibility.csv so you can compare quarter on quarter. Also check Bing Webmaster Tools' AI Performance report and AI referrals in your analytics. Keep the prompt set fixed between runs so the results stay comparable over time.

What is .brandanswers/brand.md?

.brandanswers/brand.md is a file in your site's repo that holds your verified brand facts. It records your name, category, who you are for and not for, products, provable differentiators, audiences, competitors, proof and voice. It is the only source of facts BrandAnswers uses in copy and JSON-LD, so nothing is invented.

Commit it with your site so the facts stay versioned and reviewable. Anything unconfirmed goes under Open questions, never into copy. Update its updated: date when facts change, and review it at least quarterly. Your voice persona and region are stored here too, under Voice, and you can change them at any time by editing the file.

What other files does BrandAnswers create in my repo?

Besides brand.md, the .brandanswers/ folder can hold questions.md for the question plan, offsite.md for third-party pages to target, prompts.txt for a fixed measurement prompt set, and visibility.csv for dated measurement results. They are plain text files, so you can read, edit and version them like any other code.

Does BrandAnswers edit my code?

Yes, in your agent, with your approval. Your agent makes the changes in your repo, such as fixing rendering, robots.txt, the sitemap and answer pages, and shows you the diffs. Your agent's normal permissions apply, so nothing is changed that you have not allowed. BrandAnswers itself never touches your code outside your agent.

Typical changes include switching key pages to server-rendering or prerendering, updating robots.txt to allow the AI search and user-fetch bots, adding a sitemap with lastmod, adding canonical URLs, writing answer sections into your own components as visible HTML, and adding Organization JSON-LD. Your agent re-runs the audit to prove each fix.

How does BrandAnswers set my brand's voice?

Voice comes from a persona stored in .brandanswers/brand.md, not from a fixed house style. During setup, your agent offers the closest of five presets, Professional Authority, Friendly & Approachable, Bold Innovator, Calm & Supportive or Playful Creative, and then adjusts it. Personas change how things are said, never what is claimed.

A persona covers fields such as tone, formality, humour, complexity, region and words to avoid. Even with a playful voice, direct answers stay plain and factual. Your persona also sets the region, such as UK or US English, which controls spelling and word choice across all generated copy.

How does BrandAnswers decide which questions to answer?

Your agent agrees 8 to 10 topics with you using eight lenses, such as pain points, features, pricing and value, integrations and security. It then generates questions per audience, including the fan-out shapes engines search, like best X for Y, X vs Y and alternatives. Each question is mapped to an existing or new page and prioritised.

Once topics are agreed they are locked, so every question belongs to exactly one topic, which prevents near-duplicate topics. The plan is saved to .brandanswers/questions.md. Because the plan is a plain text file, you can review every question in a normal pull request, alongside the pages it drives.

Does BrandAnswers help with off-site visibility?

Yes. Your agent uses its web search to find the listicles, comparisons, reviews and threads in your category, records which brands each lists and whether you are included, and saves the gaps to .brandanswers/offsite.md. It then drafts pitches. You send them and build the relationships yourself.

Does the skill run locally?

Yes. The skill runs inside your agent on your machine, reading and editing your repo there. Its scripts only make network requests when they need to, such as fetching the site you audit or calling AI APIs if you run measurement with your own keys. Nothing is sent to BrandAnswers unless you also connect the MCP, and then only what your agent puts in a tool call.

Can I use the BrandAnswers scripts on their own?

Yes. The scripts run from the skill folder with Node 18 or later. Use node scripts/audit.mjs <url> for the crawler audit, score-answer.mjs to check an answer, jsonld.mjs org or jsonld.mjs faq for JSON-LD, and sample-mentions.mjs for measurement. The agent adds the most value by fixing code, but the scripts work alone.

Does the skill check for newer rules?

Yes, when the BrandAnswers MCP is connected. Your agent calls get_rules, compares its version with the front matter of the local rulebook, uses whichever is newer, and tells you if your installed copy is out of date. Without the MCP, the skill uses its local rules.

Does BrandAnswers write FAQPage schema for every page?

No. BrandAnswers adds Organization JSON-LD sitewide and FAQPage only where the questions and answers are visible on that page. Schema must mirror visible content. It is hygiene for Google rich results and Bing, not a proven AI citation lever.

Privacy and security

Is my data safe with BrandAnswers?

Yes. The skill runs locally in your agent, and the hosted MCP fetches only the public URLs you ask it to audit, stores nothing and has no accounts. The living FAQ on this site is searched in your browser, so your question is not sent anywhere. Your code never leaves your machine because of BrandAnswers.

The usual privacy terms of your AI agent and its model provider still apply to whatever that agent reads. If you run measurement, your prompts go to the AI providers whose keys you use, under their terms. The hosted audit also refuses private and internal addresses, so it cannot be used to probe your network.

What does the hosted MCP see?

The hosted MCP only sees what your agent sends in a tool call, such as a URL to audit, an answer to check, brand facts for JSON-LD, or a question for the FAQ search. It fetches only the public URLs you ask it to audit and stores nothing. There are no accounts, and each request uses a fresh, stateless server.

If you prefer that nothing goes to brandanswers.ai at all, use the skill alone or self-host the MCP. To keep everything on your own machine, use the skill alone, or self-host the MCP over stdio with node mcp-server/server.mjs --stdio. Your agent decides what goes into each tool call, so you can see exactly what was sent in its tool log.

Does BrandAnswers see my source code?

No. Your agent reads your code on your machine, and BrandAnswers has no access to it. The MCP only receives what your agent puts into a tool call. If you call build_jsonld, for example, your agent sends the contents of brand.md, which holds public brand facts.

Is my question in the living FAQ sent anywhere?

No. The living FAQ is searched entirely in your browser against a pre-written corpus. Your question is not sent to us or to any AI service. That is also why answers appear instantly and cost nothing to run.

How is the hosted audit protected from abuse?

The hosted audit_url only accepts http and https URLs and refuses any that resolve to private, local or internal addresses. It follows redirects one at a time and checks each hop, with a limit of five. This prevents the public server from being used to reach internal networks.

Where do my API keys go when I measure visibility?

Your keys stay on your machine. The sample-mentions.mjs script reads them from environment variables and sends requests directly to Perplexity, OpenAI or Anthropic. BrandAnswers never receives them, and the hosted MCP has no measurement tool that needs keys.

Does BrandAnswers need an account or track me?

No. There is no account, no sign-up and no dashboard. The hosted MCP has no accounts and stores nothing, and the skill runs locally. You can use the whole kit without giving us any personal details.

Can I use BrandAnswers on a confidential or pre-launch site?

Yes. Use the skill locally, or a self-hosted MCP, so the audit runs on your own machine against localhost or staging. The hosted MCP only reaches public URLs, so it cannot audit private sites anyway. Keep unconfirmed or secret facts out of brand.md until you are ready to publish them.

Pricing and licence

Is BrandAnswers free?

Yes. BrandAnswers is free and open source under the MIT licence, with no account, dashboard or subscription. The skill and the hosted MCP cost nothing to use. The only optional cost is automated measurement, which uses your own Perplexity, OpenAI or Anthropic API keys and is billed by those providers at a small cost per run.

Your AI agent's own costs still apply, such as your Claude Code, Cursor or ChatGPT plan. If you prefer zero spend on measurement, paste your prompts into the AI apps by hand and let your agent tally the results. There is nothing to cancel and no trial period, because there is no subscription in the first place.

What licence is BrandAnswers released under?

BrandAnswers is released under the MIT licence. You can use, copy, modify and distribute it, including for commercial work, as long as you keep the licence notice. That covers the skill, the scripts and the MCP server.

How much does measuring AI visibility cost?

Usually a small amount per run, paid directly to the provider whose API key you use: Perplexity, OpenAI or Anthropic. The cost depends on how many prompts and runs you choose, typically 10 to 30 prompts with a few runs each. The manual option, pasting prompts into the apps yourself, costs nothing.

Will BrandAnswers become paid later?

The kit is MIT-licensed open source, so the released code stays free to use and fork whatever happens. There is no account or dashboard to put behind a paywall. We cannot promise what future products might look like, but this kit is designed to be free.

Why is BrandAnswers free?

Because the kit runs in your own agent, using your own keys, there is almost nothing for us to host. The MCP is a small stateless route on our site with no extra hosting cost. Releasing it free and open source means anyone can use, check and improve the rules.

Does it cost anything to host the MCP myself?

Very little. The server is stateless, needs no database and runs on Node with two small dependencies. You can run it on your own machine over stdio for free, or in a small container or serverless function.

Comparisons

How does BrandAnswers compare with Profound or Peec?

Profound and Peec are enterprise analytics platforms for tracking how brands appear in AI answers. BrandAnswers is a free kit that runs in your agent and fixes things in your site's code. They complement each other: use a measurement tool to track, and BrandAnswers to make changes.

How does BrandAnswers compare with Promptwatch or Otterly?

Promptwatch is an enterprise analytics platform and Otterly a cheaper tool from $29 a month, and both are built for tracking how your brand appears in AI answers. BrandAnswers is free and focuses on fixing the causes in your site and off-site plan, inside your agent. If you want ongoing tracking dashboards, those tools can sit alongside BrandAnswers.

How does BrandAnswers compare with OpenSEO?

OpenSEO is also MIT open source with an MCP and skills, but it is SEO-first, uses DataForSEO data and offers hosting from $10 a month. BrandAnswers is focused on AI answer visibility, needs no paid data source and is free to use hosted. You can use both if you want classic SEO data alongside AI search fixes.

How does BrandAnswers compare with Semrush or Ahrefs AI tools?

Semrush and Ahrefs are broad SEO platforms, and BrandAnswers does not replace them; check each vendor's current documentation for what its AI features cover. BrandAnswers is a free kit that works in your agent to fix crawlability, write answer pages and plan off-site work. Their data can help you choose priorities.

Ahrefs research is one of the evidence sources in the BrandAnswers rulebook, for example its studies on JSON-LD, llms.txt and brand mentions. The tools can inform each other: a suite's keyword and mention data can help you choose which questions and off-site targets to work on first.

Should I hire an agency or use BrandAnswers?

It depends on your time and budget. BrandAnswers lets you or your developer do the on-site work and research for free, in your own agent. Agencies can add value where people matter most, such as outreach, relationships and PR for off-site mentions. Many agencies can use BrandAnswers themselves.

How is BrandAnswers different from other open-source GEO MCP servers?

Most open-source GEO MCPs score llms.txt and schema, which the evidence shows are the weakest levers. BrandAnswers puts them last, as hygiene, and starts with whether AI crawlers can read your page. Its rules carry evidence grades and sources, and the skill fixes issues in your code rather than only scoring them.

Do I still need a measurement tool if I use BrandAnswers?

Not necessarily. BrandAnswers includes honest measurement: mention and citation rates over repeated runs, using your own keys or a free manual method. If you want continuous tracking, history dashboards or many prompts across markets, a dedicated measurement tool complements it well.

Is BrandAnswers an SEO tool?

Not mainly. BrandAnswers focuses on AI answers, though several fixes overlap with good SEO, such as server-rendering, sitemaps, canonical URLs and clear answer content. It does not do keyword research or backlink tracking. Backlinks and Domain Rating correlate only weakly with AI visibility, according to Ahrefs.

Why use BrandAnswers if I already pay for an AI visibility dashboard?

Because a dashboard shows where you stand, while BrandAnswers changes what causes it. Your agent can fix rendering, robots.txt and answer pages in your code, then you can watch the effect in your existing dashboard. The cited domains your dashboard reports are also good targets for the BrandAnswers off-site plan.

Does BrandAnswers replace the old BrandAnswers SaaS features?

Partly, and with a different focus. The answer method, personas and topic strategy are kept, but the kit writes answers into your own pages as visible HTML instead of publishing a separate JSON-LD knowledge base. Document upload and the hosted dashboard are gone, because your agent can read your files and site directly.

Limits

Will BrandAnswers get me into ChatGPT?

It cannot guarantee that, and no tool honestly can guarantee citations or rankings. BrandAnswers removes the blockers that stop AI engines reading your site and improves your odds with answer pages and an off-site plan. Whether ChatGPT recommends you depends largely on what other sites say about you, which takes time.

Each fix is tied to a rule and an evidence grade, so you can see how strong the case is. Measure progress as mention rate over repeated runs, because AI answers change from run to run. Expect crawlability fixes to matter quickly for retrieval, and off-site work to matter most over months.

What can't BrandAnswers fix?

BrandAnswers cannot change what other sites say about you, guarantee citations, or fix a product people do not recommend. It also cannot change code your agent cannot reach, such as some hosted site builders. It focuses on what you control: crawlability, answer content, brand facts, off-site research and measurement.

Does BrandAnswers work if my site builder can't server-render?

Partly. BrandAnswers will flag the rendering problem, but if your builder cannot server-render or prerender, the content will stay hard to read for ChatGPT, Claude and Perplexity crawlers. Google's crawler does render JavaScript, so Google's AI features are less affected. Ask your builder about prerendering or export the code to a framework that supports it.

Is the living FAQ always correct?

Not always. The answers are written and reviewed by us, but they are fixed text, so they can fall behind a new release or rule change. Because the search matches words rather than understanding meaning, the top result may not exactly fit your question. For the latest rules, ask an agent connected to the hosted MCP, which serves the current rulebook.

Does BrandAnswers work with every AI engine equally?

No, because engines work differently. Google's crawler renders JavaScript, while ChatGPT, Claude and Perplexity crawlers do not, so rendering fixes matter more for them. Only Copilot offers first-party citation data, through Bing Webmaster Tools. BrandAnswers applies the rules that fit each engine and says where evidence is weaker.