---
title: "The AI Citation Swipe File: 14 Copy-Ready Blocks for Pages, Schema and Crawlers"
description: "Copy-ready answer openers, pricing lines, schema and robots.txt rules for AI citations, with one adjustment to make for each."
url: "https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready"
image: "https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/9e5451f8-de12-41dd-8ca9-7d6089c5379a.png"
published: "2026-10-09T05:38:09.069Z"
modified: "2026-10-09T05:38:09.144Z"
---

October 9, 2026 · 9 min read

# The AI Citation Swipe File: 14 Copy-Ready Blocks for Pages, Schema and Crawlers

[Alexander PerelmanHead Of Product @ groas](https://groas.com/author/alexander-perelman)[LinkedIn](https://www.linkedin.com/in/alexander-433793253/)

![A rubber stamp lifts from a fresh red "\[PRICE\]" print beside a tray of placeholder stamps, framing AI-ready copy as reusable fill-in templates.](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/9e5451f8-de12-41dd-8ca9-7d6089c5379a.png)

In this article

1. [Block 1: Put the answer before the explanation](#block-1-put-the-answer-before-the-explanation)
2. [Block 2: Say who should skip the offer](#block-2-say-who-should-skip-the-offer)
3. [Block 3: Give every number its context](#block-3-give-every-number-its-context)
4. [Block 4: Define the term without a history lesson](#block-4-define-the-term-without-a-history-lesson)
5. [Block 5: Make the comparison table decide something](#block-5-make-the-comparison-table-decide-something)
6. [Block 6: Write a price that survives being quoted](#block-6-write-a-price-that-survives-being-quoted)
7. [Block 7: Put the failure branch in the steps](#block-7-put-the-failure-branch-in-the-steps)
8. [Block 8: Match FAQ markup to the visible answer](#block-8-match-faq-markup-to-the-visible-answer)
9. [Block 9: Tie the business name to the right entity](#block-9-tie-the-business-name-to-the-right-entity)
10. [Block 10: Keep the marked-up offer identical to the page](#block-10-keep-the-marked-up-offer-identical-to-the-page)
11. [Block 11: Give the author a page worth visiting](#block-11-give-the-author-a-page-worth-visiting)
12. [Block 12: Allow the bots that fetch answers](#block-12-allow-the-bots-that-fetch-answers)
13. [Block 13: Do not mistake a training rule for a search rule](#block-13-do-not-mistake-a-training-rule-for-a-search-rule)
14. [Block 14: Leave the llms.txt map until last](#block-14-leave-the-llmstxt-map-until-last)
15. [Before you paste: know when copy is not enough](#before-you-paste-know-when-copy-is-not-enough)
16. [What I would ship first](#what-i-would-ship-first)

Getting cited by ChatGPT or AI Overviews is mostly a copywriting problem, not a tooling problem: give one question one specific answer in the first 40 words, with a number that stands on its own. Copy the blocks below, replace the `[BRACKETED PLACEHOLDERS]` with your facts, and make the one adjustment beneath each before you ship.

## Block 1: Put the answer before the explanation

**When to use it:** At the top of a service, product, or location page when the page answers a question customers actually ask. Give the answer its own heading; save the detail for the next paragraph.

```html
<h2>[QUESTION CUSTOMERS ACTUALLY ASK]</h2>
<p>[PRODUCT OR SERVICE] costs [NUMBER + UNIT] for [SCOPE], including [INCLUSION 1] and [INCLUSION 2]. Most [CUSTOMER TYPE] pay [RANGE] when [COMMON CONDITION]. [EXCLUSION] costs [NUMBER] extra. Updated [MONTH YEAR].</p>
```

**The one adjustment:** **Put the number in the first sentence.** I used to tell clients to build up to price. I was wrong. If the answer buries price in paragraph four, the useful sentence is harder to lift.

## Block 2: Say who should skip the offer

**When to use it:** Directly under Block 1 when the offer attracts the wrong buyer. A plain fit statement helps answer “is this right for me?” without making the reader guess.

```text
Best for: [CUSTOMER TYPE] with [SPECIFIC CONDITION].
Skip if: [DISQUALIFIER 1] or [DISQUALIFIER 2].
Alternative: If [DISQUALIFIER], choose [ALTERNATIVE YOU OFFER] instead.
```

**The one adjustment:** **Name a real disqualifier**, preferably one a buyer can check. “For any business” tells nobody whether to call. An honest skip line can stop the wrong enquiry before it starts.

## Block 3: Give every number its context

**When to use it:** Anywhere you claim a price, speed, coverage area, or outcome. A number needs a unit, scope, and date to make sense outside its paragraph.

```text
[OUTCOME] in [TIMEFRAME]: [NUMBER + UNIT] for [SCOPE].
Price includes: [ITEM 1], [ITEM 2]. Excludes: [ITEM] at [PRICE].
Service area: [TOWNS SERVED]. Updated [MONTH YEAR].
```

**The one adjustment:** **Replace the adjective with a count.** What the deck calls “fast response,” I call an answer-time average with a sample and a month. A number without scope is decoration.

## Block 4: Define the term without a history lesson

**When to use it:** On a glossary, FAQ, or category page that answers “what is \[TERM]?” Put the definition first, then explain the background. The [FAQ documentation](https://developers.google.com/search/docs/appearance/structured-data/faqpage) is useful when the same question also appears in markup.

```text
[TERM] in [INDUSTRY OR CITY] means [ONE-SENTENCE DEFINITION WITH KEY CONSTRAINT]. It includes [PART 1] and [PART 2], but excludes [EXCLUSION]. It costs [RANGE] and takes [TIMEFRAME]. Choose [OPTION A] when [CONDITION]; choose [OPTION B] when [CONDITION].
```

**The one adjustment:** **Keep the first answer under 60 words.** Put the origin story in paragraph two. I used to open with history; it made readers work to find the definition.

## Block 5: Make the comparison table decide something

**When to use it:** In the middle of a category or versus page when the buyer needs to choose between options. Compare fit, cost, and time rather than stacking features.

```html
<table>
  <tr><th>Option</th><th>Best when</th><th>Cost [UNIT]</th><th>Time [UNIT]</th><th>Skip if</th></tr>
  <tr><td>[OPTION A]</td><td>[CONDITION]</td><td>[NUMBER]</td><td>[NUMBER + UNIT]</td><td>[CONDITION]</td></tr>
  <tr><td>[OPTION B]</td><td>[CONDITION]</td><td>[NUMBER]</td><td>[NUMBER + UNIT]</td><td>[CONDITION]</td></tr>
</table>
```

**The one adjustment:** **Make the last column a disqualifier, not a star rating.** A buyer can act on “skip if”; a 4.8 versus 4.9 column mostly asks them to squint.

## Block 6: Write a price that survives being quoted

**When to use it:** On pricing, service, and product pages where “starting at” leaves too much for an answer engine—or a buyer—to fill in.

```text
[PLAN OR SERVICE] is [PRICE]/[MONTH, VISIT, OR PROJECT] for [SCOPE].
Includes: [ITEM 1], [ITEM 2]. Excludes: [ITEM] at [PRICE].
Minimum term: [NONE OR NUMBER OF MONTHS]. Updated [MONTH YEAR] at [PAGE URL].
```

**The one adjustment:** **Add a date and one exclusion.** They make the price usable without implying that every buyer gets the same bill. That saves an awkward call later.

## Block 7: Put the failure branch in the steps

**When to use it:** In a how-to section whose current steps name tasks but never say what each one produces. Number them because the order matters.

```text
To [OUTCOME] in [SETTING]:
1. [ACTION] — takes [NUMBER + UNIT]; produces [OBSERVABLE RESULT].
2. [ACTION] — takes [NUMBER + UNIT]; produces [OBSERVABLE RESULT].
3. Check [READING OR SYMPTOM]. If [CONDITION A], [FIX]. If [CONDITION B], stop and [NEXT ACTION].
Total: [NUMBER + UNIT]; cost [PRICE], excluding [ITEM].
```

**The one adjustment:** **Keep the check step.** I used to publish tidy five-step lists that stopped just before the reader’s follow-up question: what if this does not work?

## Block 8: Match FAQ markup to the visible answer

**When to use it:** On a page that already displays the question and answer from Blocks 1 to 4. [Google’s FAQ rich-result documentation](https://developers.google.com/search/docs/appearance/structured-data/faqpage) does not make this a shortcut to a prominent search feature. Markup is no substitute for the answer on the page.

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "[EXACT QUESTION SHOWN ON PAGE]",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "[EXACT ANSWER SHOWN ON PAGE]"
    }
  }]
}
```

**The one adjustment:** **Use only questions the page visibly answers.** Eight copied FAQs on every template are not eight better answers. Keep the markup and the copy aligned.

## Block 9: Tie the business name to the right entity

**When to use it:** On the homepage or About page. [Organization markup](https://schema.org/Organization) can connect your name, site, logo, and profiles; include only profiles belonging to the same business.

```json
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "[LEGAL BUSINESS NAME]",
  "url": "https://[DOMAIN]/",
  "logo": "https://[DOMAIN]/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/[HANDLE]/",
    "https://x.com/[HANDLE]",
    "https://www.crunchbase.com/organization/[HANDLE]",
    "https://www.wikidata.org/wiki/[QID_IF_EXISTS]"
  ]
}
```

**The one adjustment:** **Delete every `sameAs` URL that is not you**, including placeholder profiles you do not have. Four correct links beat twelve loose ones. This is an identity check, not a scavenger hunt.

## Block 10: Keep the marked-up offer identical to the page

**When to use it:** On the service page where a wrong price would cost you calls. Mark up the offer already stated in Block 6; do not invent one for the schema.

```json
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "[SERVICE NAME + CITY]",
  "provider": { "@type": "LocalBusiness", "name": "[BUSINESS NAME]" },
  "areaServed": "[CITY, ST]",
  "offers": {
    "@type": "Offer",
    "price": "[NUMBER]",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://[DOMAIN]/[PAGE]/"
  }
}
```

**The one adjustment:** **Match the visible price.** If the page says $189 and the markup says 189.00, fine. If the page says “call for price” and the markup says $99, you have created the confusion yourself.

## Block 11: Give the author a page worth visiting

**When to use it:** On an article with a named author and a real bio page. The person and publication dates in the markup should be the ones readers can verify on the site.

```json
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "[EXACT HEADLINE]",
  "author": {
    "@type": "Person",
    "name": "[AUTHOR NAME]",
    "jobTitle": "[TITLE]",
    "url": "https://[DOMAIN]/team/[NAME]/"
  },
  "datePublished": "[YYYY-MM-DD]",
  "dateModified": "[YYYY-MM-DD]"
}
```

**The one adjustment:** **Build the bio page first.** Include specifics you can stand behind, such as years in the trade, a license number if relevant, and work the author actually did. A thin bio does not become convincing because JSON-LD points to it.

![Tiny robots queuing at a website gate beside allow and disallow signs](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/d7ecccc6-4577-4ad8-ac05-4e8b4fc020e8.png)

## Block 12: Allow the bots that fetch answers

**When to use it:** When you want the named agents to access your pages. Check these rules against your existing `robots.txt`; do not paste a second, contradictory policy and assume the new lines win. [OpenAI documents its separate bot tokens](https://developers.openai.com/api/docs/bots), and [Anthropic documents its Claude tokens](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web).

```text
User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /
```

**The one adjustment:** **Decide search access and training access separately.** `GPTBot` is not `OAI-SearchBot`; `ClaudeBot` is not `Claude-SearchBot`. Check that Googlebot can still crawl the pages. For a per-bot breakdown, use [The AI Crawler Swipe File](https://groas.com/post/the-ai-crawler-swipe-file-copy-paste-rob).

## Block 13: Do not mistake a training rule for a search rule

**When to use it:** Before copying a “block all AI bots” snippet. [Perplexity distinguishes its crawler from user-requested fetches](https://docs.perplexity.ai/docs/resources/perplexity-crawlers); [OpenAI also distinguishes user-initiated fetches](https://developers.openai.com/api/docs/bots). [Google-Extended controls uses separate from the regular Googlebot index](https://www.searchenginejournal.com/what-top-stories-inside-ai-overviews-means-for-publishers-and-brands-in-2026-and-beyond/569123/).

```text
# Search-facing bots: allow if you want these agents to access pages
User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

# Separate control; blocking it does not block Googlebot
User-agent: Google-Extended
Disallow: /
```

**The one adjustment:** **Block training only if you mean to.** I decide on `GPTBot`, `ClaudeBot`, and `Google-Extended` separately from search access. A single “block AI” switch conceals the choice you are actually making.

![Copy-ready answer block with a price and date highlighted](https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/75cab1da-5749-40aa-b4c6-8a5416a86101.png)

## Block 14: Leave the `llms.txt` map until last

**When to use it:** After the destination pages have useful answers. An `llms.txt` file maps key pages in Markdown; an optional `/llms-full.txt` can provide more material. [Reported fetch rates are low, and Google says it does not use `llms.txt` for Search rankings or AI Overviews](https://otterly.ai/blog/llms-txt-and-ai-visibility-results-from-otterlyais-geo-study/). Treat the file as navigation, not a ranking lever.

```text
# [BUSINESS NAME]: [WHAT YOU DO + CITY]
- [SERVICE 1]: https://[DOMAIN]/[PAGE]/ — [PRICE + TIMEFRAME]
- [SERVICE 2]: https://[DOMAIN]/[PAGE]/ — [PRICE + TIMEFRAME]
- Pricing and exclusions: https://[DOMAIN]/pricing/
- Contact and service area: https://[DOMAIN]/contact/
```

**The one adjustment:** **Fix the destination page first.** A tidy map to vague copy still leads to vague copy. I would ship Blocks 1 to 7 before spending an afternoon on this file.

## Before you paste: know when copy is not enough

**When to use this check:** When answers in your category lean on Reddit threads, national publishers, or competitors with deep review histories. Your own clean paragraph cannot, by itself, supply the third-party proof it lacks.

```text
[ ] The page answers a real customer question in its first 40 words.
[ ] Its numbers have scope, units, and dates.
[ ] Its business name and service area are consistent.
[ ] Relevant third-party mentions and reviews support what the page says.
[ ] Any claimed AI bot fetches have been verified.
```

**The one adjustment:** **Measure verified fetches, not every claimed bot hit.** Use the [AI bot traffic verification check](https://groas.com/post/76-of-our-ai-bot-traffic-couldn-t-be-ver) before declaring a rewrite worked. Copy is the part you control today; proof is not something a template can paste in.

## What I would ship first

**When to use this order:** When you have one afternoon and five money pages, not a month for a new tooling project.

1. Put Block 1 and Block 6 on those pages: answer first, price scoped, exclusion stated, date shown.
2. Check Block 12 against the existing crawler rules, then add Block 8 only where the visible question and answer match.
3. Leave Block 14 until the destination pages are worth sending anyone to.

**The one adjustment:** **Start with the pricing statement.** Price is the sentence most likely to cause trouble when it loses context, so Block 6 is the artefact I rate most useful. Paste it first; make the exclusions true; then let the other blocks point to an answer that holds up on its own.

```text
[PLAN OR SERVICE] is [PRICE]/[MONTH, VISIT, OR PROJECT] for [SCOPE].
Includes: [ITEM 1], [ITEM 2]. Excludes: [ITEM] at [PRICE].
Minimum term: [NONE OR NUMBER OF MONTHS]. Updated [MONTH YEAR] at [PAGE URL].
```

## Frequently Asked Questions

### How should I write the answer on a page so AI assistants like ChatGPT or AI Overviews can cite it?

Give one question one specific answer in the first 40 words, with a number that stands on its own, and put the price in the first sentence. Give the answer its own heading and save the detail for the next paragraph. A price buried in paragraph four is harder to lift.

### Why do numbers on a page need units, scope, and dates?

A number needs a unit, scope, and date to make sense outside its paragraph, because a number without scope is decoration. For example, an answer-time average should come with a sample and a month. Vague adjectives like a fast response should be replaced with a count.

### How do I write a price line that stays accurate when an answer engine quotes it?

State the plan or service with the price, the unit of billing, and the scope it covers, then list what is included and excluded and add a date and page URL. The date and one exclusion make the price usable without implying every buyer gets the same bill. A bare starting-at price leaves too much for an answer engine to fill in.

### Should I add FAQPage schema for questions that are not visible on the page?

No. Use only questions and answers the page visibly displays, and keep the markup text identical to the copy on the page. Eight copied FAQs on every template are not eight better answers, and markup is no substitute for the answer on the page.

### What should I do with the sameAs links in my Organization schema?

Delete every sameAs URL that is not genuinely the same business, including placeholder profiles you do not have. Four correct links beat twelve loose ones. This is an identity check, not a scavenger hunt, and it connects your name, site, logo, and profiles.

### Do I need to allow all AI bots in robots.txt, and are search bots and training bots the same thing?

No, they are separate. GPTBot is not OAI-SearchBot and ClaudeBot is not Claude-SearchBot, so decide search access and training access separately and check the rules against your existing robots.txt so you do not create a contradictory policy. Also verify that Googlebot can still crawl the pages.

### If I block AI bots in robots.txt, does that also block Googlebot?

No. Blocking Google-Extended controls uses separate from the regular Googlebot index and does not block Googlebot itself. Bots like OAI-SearchBot, Claude-SearchBot, and PerplexityBot are search-facing, while GPTBot, ClaudeBot, and Google-Extended relate to training, so block training only if you mean to.

### Is an llms.txt file worth adding to improve AI visibility?

Treat it as navigation, not a ranking lever. Reported fetch rates are low, and Google says it does not use llms.txt for Search rankings or AI Overviews. Fix the destination pages first, because a tidy map to vague copy still leads to vague copy; ship the answer and pricing blocks before spending time on the file.

## Pay For Results, Not For Hours

Businesses buy the outcome, agencies resell it, and groas answers for it either way.

[See If You Qualify](https://groas.typeform.com/to/xC1bQNUT)

## Structured data

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://graph.groas.com/entity/groas","name":"groas","url":"https://groas.com/","logo":{"@type":"ImageObject","url":"https://groas.com/icon-512.png","width":512,"height":512},"sameAs":["https://www.linkedin.com/company/groas/"]},{"@type":"WebSite","@id":"https://groas.com/#website","name":"groas","url":"https://groas.com/","inLanguage":"en-US","publisher":{"@id":"https://graph.groas.com/entity/groas"}},{"@type":"WebPage","@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#webpage","url":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready","name":"The AI Citation Swipe File: 14 Copy-Ready Blocks for Pages, Schema and Crawlers","description":"Copy-ready answer openers, pricing lines, schema and robots.txt rules for AI citations, with one adjustment to make for each.","inLanguage":"en-US","isPartOf":{"@id":"https://groas.com/#website"},"about":{"@id":"https://graph.groas.com/entity/groas"},"primaryImageOfPage":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/9e5451f8-de12-41dd-8ca9-7d6089c5379a.png"},"breadcrumb":{"@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#breadcrumb"},"dateModified":"2026-10-09T05:38:09.144Z","mainEntity":{"@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#article"}},{"@type":"BreadcrumbList","@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://groas.com/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https://groas.com/blog"},{"@type":"ListItem","position":3,"name":"The AI Citation Swipe File: 14 Copy-Ready Blocks for Pages, Schema and Crawlers","item":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready"}]},{"@type":"BlogPosting","@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#article","url":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready","mainEntityOfPage":{"@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#webpage"},"isPartOf":{"@id":"https://groas.com/blog#blog"},"headline":"The AI Citation Swipe File: 14 Copy-Ready Blocks for Pages, Schema and Crawlers","description":"Copy-ready answer openers, pricing lines, schema and robots.txt rules for AI citations, with one adjustment to make for each.","datePublished":"2026-10-09T05:38:09.069Z","dateModified":"2026-10-09T05:38:09.144Z","image":{"@type":"ImageObject","url":"https://pub-87da24ecbbfc4c3bad6875f3aa013712.r2.dev/generated-images/9e5451f8-de12-41dd-8ca9-7d6089c5379a.png"},"author":{"@id":"https://groas.com/author/alexander-perelman#person"},"publisher":{"@id":"https://graph.groas.com/entity/groas"},"keywords":"page, block, number, adjustment, use, https, schema, price","wordCount":1866,"inLanguage":"en-US"},{"@type":"Person","@id":"https://groas.com/author/alexander-perelman#person","name":"Alexander Perelman","jobTitle":"Head Of Product @ groas","description":"Ex Goldman Sachs and Ex Stanford Computer Science","image":"https://groas.com/media/blog/4f17cac3a81acc224cc1b2cfab8f94bbc295a3089d13e8421125771ef8d4064f.jpg","worksFor":{"@id":"https://graph.groas.com/entity/groas"},"sameAs":["https://www.linkedin.com/in/alexander-433793253/"]},{"@type":"FAQPage","@id":"https://groas.com/post/the-ai-citation-swipe-file-14-copy-ready#faq","mainEntity":[{"@type":"Question","name":"How should I write the answer on a page so AI assistants like ChatGPT or AI Overviews can cite it?","acceptedAnswer":{"@type":"Answer","text":"Give one question one specific answer in the first 40 words, with a number that stands on its own, and put the price in the first sentence. Give the answer its own heading and save the detail for the next paragraph. A price buried in paragraph four is harder to lift."}},{"@type":"Question","name":"Why do numbers on a page need units, scope, and dates?","acceptedAnswer":{"@type":"Answer","text":"A number needs a unit, scope, and date to make sense outside its paragraph, because a number without scope is decoration. For example, an answer-time average should come with a sample and a month. Vague adjectives like a fast response should be replaced with a count."}},{"@type":"Question","name":"How do I write a price line that stays accurate when an answer engine quotes it?","acceptedAnswer":{"@type":"Answer","text":"State the plan or service with the price, the unit of billing, and the scope it covers, then list what is included and excluded and add a date and page URL. The date and one exclusion make the price usable without implying every buyer gets the same bill. A bare starting-at price leaves too much for an answer engine to fill in."}},{"@type":"Question","name":"Should I add FAQPage schema for questions that are not visible on the page?","acceptedAnswer":{"@type":"Answer","text":"No. Use only questions and answers the page visibly displays, and keep the markup text identical to the copy on the page. Eight copied FAQs on every template are not eight better answers, and markup is no substitute for the answer on the page."}},{"@type":"Question","name":"What should I do with the sameAs links in my Organization schema?","acceptedAnswer":{"@type":"Answer","text":"Delete every sameAs URL that is not genuinely the same business, including placeholder profiles you do not have. Four correct links beat twelve loose ones. This is an identity check, not a scavenger hunt, and it connects your name, site, logo, and profiles."}},{"@type":"Question","name":"Do I need to allow all AI bots in robots.txt, and are search bots and training bots the same thing?","acceptedAnswer":{"@type":"Answer","text":"No, they are separate. GPTBot is not OAI-SearchBot and ClaudeBot is not Claude-SearchBot, so decide search access and training access separately and check the rules against your existing robots.txt so you do not create a contradictory policy. Also verify that Googlebot can still crawl the pages."}},{"@type":"Question","name":"If I block AI bots in robots.txt, does that also block Googlebot?","acceptedAnswer":{"@type":"Answer","text":"No. Blocking Google-Extended controls uses separate from the regular Googlebot index and does not block Googlebot itself. Bots like OAI-SearchBot, Claude-SearchBot, and PerplexityBot are search-facing, while GPTBot, ClaudeBot, and Google-Extended relate to training, so block training only if you mean to."}},{"@type":"Question","name":"Is an llms.txt file worth adding to improve AI visibility?","acceptedAnswer":{"@type":"Answer","text":"Treat it as navigation, not a ranking lever. Reported fetch rates are low, and Google says it does not use llms.txt for Search rankings or AI Overviews. Fix the destination pages first, because a tidy map to vague copy still leads to vague copy; ship the answer and pricing blocks before spending time on the file."}}]}]}
```
