On our own edge logs, robots.txt drew 1,177 live-answer fetches from Claude-User. That was more than any individual content page on the domain, and it says plenty about what gets overlooked in technical Answer Engine Optimization.

Most of the vocabulary sold as technical AEO is old crawl hygiene in a new jacket. Meanwhile, teams spend five-figure development sprints on Markdown mirrors and elaborate schema while a firewall blocks search bots or JavaScript leaves them staring at an empty page. A bot has to fetch your page before it can read, understand or cite it. I would rather fix that sequence than buy another audit retainer with a fresher acronym.

This glossary follows the problems in roughly the order a newcomer meets them: access, rendering, URLs, meaning and evidence. Each term has a plain-English definition, followed by the part that tends to consume the fix budget.

robots.txt and AI User Agents

robots.txt is a plain-text file at a domain’s root that tells automated bots which paths they may or may not crawl.

The mistake is treating every AI bot as the same visitor. OpenAI separates its web infrastructure between GPTBot, which gathers training text, and OAI-SearchBot, which supports live ChatGPT Search indexing and citations. Anthropic also distinguishes its crawlers: ClaudeBot for model training, Claude-User for live fetches prompted by a user, and Claude-SearchBot for search indexing.

The costly misuse is copying a blanket block from a security blog and calling the job done. You can decide against training crawlers without also blocking the bots you want to find and cite your pages. If you need a starting point for those directives, use our AI crawler swipe file before paying an agency three grand to write twenty lines of text.

Verified vs. Spoofed Crawlers

Crawler verification checks whether a request claiming an AI bot’s User-Agent actually comes from that bot’s network rather than a scraper borrowing its name.

Anyone with ten lines of Python can announce themselves as Googlebot or Claude-User in an HTTP header. That string alone proves nothing. Legitimate crawlers publish network information that servers can use, alongside checks such as reverse DNS (rDNS), to evaluate the request.

The misuse is mistaking a blocked bot name for a stopped scraper. I have seen edge log spikes presented as proof that a security add-on is protecting a client’s intellectual property. If the verification rules are stale, the firewall can hand a legitimate live-answer bot an HTTP 403 Forbidden while a scraper using an ordinary desktop-browser signature gets through. Check who was blocked, not just the name they supplied.

Edge Proxy and Cloudflare Bot Management

An edge proxy sits between visitors and your origin server, caching content and filtering requests before they reach the site.

That layer can protect bandwidth and speed up delivery. It can also become an invisible wall between your page and a search bot. Edge rules inspect headers, IP reputation and behavior; a rule that mistakes a crawler for a scraper may issue a 403 or a JavaScript challenge instead of the page. Cloudflare bot management has produced false-positive blocking of legitimate search bots.

The expensive mistake is commissioning content changes when the content never reaches the crawler. Before rewriting a landing page for AI citations, check the response the bot gets at the edge.

Client-Side Rendering (CSR)

Client-side rendering sends a minimal HTML shell to the visitor, then relies on the browser to run JavaScript and assemble the readable page.

That can work well for a human using a browser. It is a poor bargain when the crawler fetching your page does not run the scripts. Vercel and MERJ’s network analysis found that dedicated AI search crawlers fetch raw HTML without executing JavaScript. Googlebot has a rendering queue; the dedicated AI crawlers in that analysis did not use one.

If your headline, product description or pricing table exists only after JavaScript runs, the fetched HTML may not contain it. I would inspect the raw response before approving a redesign sold as an AI visibility fix. A polished browser screenshot is not evidence that a crawler can read the page.

A storefront displayed in a browser beside the empty HTML shell fetched by a crawler.

llms.txt and Markdown Mirrors

llms.txt is a proposed file at /llms.txt intended to give language models a condensed Markdown account of a website.

It is an appealing idea: give the bots a cleaner version of the site and spare them the clutter. But a cleaner file is useful only if the bots request it. In one 90-day analysis of 62,100 AI crawler requests, 84 requests, or 0.1%, targeted /llms.txt. A separate two-month study of live LLM traffic found ChatGPT-User requesting standard HTML rather than Markdown mirrors; it also observed Claude Code fetching Markdown through ordinary HTTP Accept negotiation rather than a custom file.

That does not make Markdown forbidden. It makes a bespoke mirror a weak first purchase when the landing page’s HTML is empty. Fix the page the bot actually fetches before building a second one and hoping it asks.

Canonical Tags and Duplicate URLs

A canonical tag is an HTML link element, written rel="canonical", that identifies the preferred URL among duplicate or near-duplicate pages.

For traditional search, it is a strong consolidation hint. It is not a remote-control switch for every generative answer engine. ChatGPT and Perplexity may evaluate duplicate URLs independently, even when a page declares a preferred version. Paid campaign parameters, syndicated copies and internal links can leave several versions available to crawl.

The misuse is treating the canonical as an automatic mop for URL bloat. Say the clean page is /services/ppc, but an old ad-test URL still carries different copy or pricing. A tag on that variant does not make the outdated text harmless. Maintain the pages a bot can encounter, and do not let a tidy tag stand in for tidy URLs.

Structured Data and JSON-LD Schema

Structured data is machine-readable code, commonly JSON-LD in a page’s HTML, that describes things such as products, reviews, pricing and organizations.

Schema can describe a page. It cannot rescue a page the bot cannot fetch, and marking up an answer is not the same as earning a citation. Sales decks often imply that adding TechArticle, FAQPage or Product markup will make an LLM understand the offer and start citing it. In an Ahrefs study comparing 1,885 pages with JSON-LD against 4,000 control pages, citation changes were not statistically significant: +2.2% for ChatGPT, +2.4% for Google AI Mode and −4.6% for Google AI Overviews.

The five-figure schema overhaul is the misuse to watch. Strong sites often have both schema and citations; seeing both does not tell you which caused which. If the underlying page lacks a clear answer or supporting detail, translating its paragraphs into nested objects is a strange place to start spending engineering time.

Entity and Knowledge Graph Reconciliation

Entity reconciliation is the process of connecting a brand, person or product mentioned on a page to the distinct thing it represents in a knowledge base.

If your landing page calls the business an “all-in-one growth acceleration platform,” a reader has to work to learn what you actually sell. A model trying to connect that name to queries about PPC software or SEO automation faces the same ambiguity. Clear category language gives the entity a recognizable boundary.

The misuse is paying a consultant to manufacture a Wikidata entry and claiming it will make OpenAI treat a young company as an established market player. An entry is not a substitute for unambiguous positioning on your own site, consistent business naming elsewhere and genuine third-party mentions. Spend the $2,500 on clarity before buying a database stunt.

Answer-First Page Structure

Answer-first page structure puts the direct answer beneath a heading that matches the reader’s intent, then follows it with proof and qualification.

A retrieval system needs something concrete to extract. Ninety words of “in today’s rapidly evolving landscape” before the price or method makes that harder. Put the claim where a person scanning the page would want it, too. Answer-first does not mean sales-last.

I see the opposite misuse in content briefs that turn a working landing page into a stack of dry definitions. They strip out the hook, the case study and the reason to act, all in pursuit of a citation. If that page converts at 4%, trading its sales argument for a speculative 1.5% chance of an unclicked mention is not a technical win. Lead with the answer. Keep the page worth visiting.

Diagram comparing a direct-answer paragraph with an introduction that delays the answer.

Freshness Signals and Last-Modified Headers

Freshness signals are headers such as Last-Modified and ETag, plus page metadata, that indicate when content has changed.

They matter most when the answer could expire: pricing, product features or platform rules. In our edge logs, a dated reference asset, our historical AI Max guide, drew 144 live-answer fetches. It offered concrete, dated information that newer category pages did not.

Changing a date is not the same as updating a fact. The misuse is bumping a WordPress timestamp while leaving the text untouched, then billing the change as a freshness project. Keep the substantive information current first; let the date describe the work rather than impersonate it.

Off-Site Corroboration and Co-Occurrence

Off-site corroboration is the presence of independent mentions that connect your brand to the category, product or claim you want to be known for.

A vendor site can call itself an enterprise PPC platform. If customer discussions, directories and industry publications never describe it that way, the claim has little support beyond the vendor’s own copy. A repeated press release is not a chorus of independent voices.

The misuse is paying $1,200 to distribute one boilerplate release across five hundred near-identical news-aggregator pages. That creates a lot of URLs, not five hundred separate people vouching for the business. A genuine trade-publication mention or an active customer discussion does more to establish what the company is. I would rather have one of those than a spreadsheet full of cloned announcements.

AI Visibility Audit Tools

An AI visibility audit tool reports problems that may keep crawlers from accessing, reading or citing a page.

Reporting is useful. A report is not a repair. Before buying another dashboard that produces a 40-page PDF for a developer backlog nobody touches, I would ask what happens after it finds the problem. The useful diagnostic sequence is short:

  1. Check crawler access. Do the robots.txt rules permit the search bots you want, and does the edge firewall let them through?
  2. Inspect the fetched HTML. Are the headline, specifications and pricing present before JavaScript runs?
  3. Read the answer. Does the page state its claim clearly beneath a relevant heading?
  4. Check the URLs. Are old variants and tracking URLs still presenting conflicting information despite their canonical tags?

Our guide to fixing technical SEO issues that hurt AI visibility walks through those bottlenecks. At groas, the point of pairing specialized models with human strategists is execution rather than another monthly slide deck: work on crawl directives, landing-page delivery and the search outcomes that matter to the business. Qualified pipeline tells you more than a beautifully formatted warning count.

AI Readiness Score

An AI readiness score is a vendor-defined composite number that rolls checks such as crawl errors, readability formulas and keyword counts into one percentage.

This is the term I would retire. A report saying your domain scores 42% does not tell you whether Claude-User gets a 403, whether a crawler sees your pricing, or whether an old landing-page variant is being cited. Every vendor can calculate its own score; the answer engines do not ask to see it.

I have no objection to a checklist. I object when someone sells its total as the outcome. Raise a dashboard number from 40% to 90% by changing arbitrary text-length formulas and your attributable pipeline has not moved. When the bot knocks, the page either loads or it does not. Fix that before polishing the score.