AI

The Technical GEO Stack: llms.txt, Schema, and Freshness Signals for Telehealth Sites

AI search visits grew about 43 percent year over year to 27.4 billion in Q1 2026, and content updated within 30 days earns roughly 3.2x more AI citations. The strategy post told you what engines cite. This is the implementation layer: crawler access, schema, llms.txt, chunkable formatting, and freshness hygiene, using our own stack as the worked example.

The plumbing under the strategy

Two numbers frame this post. AI search visits grew about 43 percent year over year to 27.4 billion in Q1 2026. And content updated within the last 30 days earns roughly 3.2x more AI citations than stale content, per Seer Interactive's analysis. The channel is large and it rewards operational discipline, not one-time optimization.

We covered the strategy in Generative Engine Optimization for Telehealth: what engines cite, why telehealth faces a higher bar, how to build quotable content. This post is the layer underneath: the files, markup, and cadences that make a site retrievable at all. We run every item below on this site, so where useful, Turbopills is the worked example.


The stack at a glance

LayerWhat it isEffortEvidence it moves citations
Crawler accessrobots.txt and CDN rules that admit AI crawlersMinutesStrong: a blocked crawler cannot cite you
FreshnessReal updates with honest dateModifiedOngoingStrong: ~3.2x citations for 30-day-fresh content
Chunkable formattingAnswer-first sections, stats high, tables earlyPer pageStrong in citation studies
Structured dataOrganization, BlogPosting, FAQPage in JSON-LDDaysModerate: improves extraction, now table stakes
llms.txtMarkdown index for LLMs at the site rootAn hourWeak: adoption real, crawler usage unproven
MeasurementQuery panel, referrers, log analysisMonthlyNot a signal, but the reason you know any of this

Work top to bottom. The strongest-evidence layers are also the cheapest.


Crawler access: the on/off switch

Every other investment is void if the crawlers cannot fetch your pages. Three checks:

First, robots.txt should explicitly allow the AI crawlers you want citing you: GPTBot and OAI-SearchBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, and Google-Extended if you want Gemini grounding.

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

Second, check your CDN, because robots.txt is not the whole story: major CDNs now ship bot-management defaults that block AI crawlers regardless of robots.txt, and plenty of sites are invisible to engines without knowing it.

Third, verify in server logs that the bots actually fetch your content. Intent is not access; logs are.

One honest tension: allowing training crawlers and allowing search crawlers are different decisions bundled in similar user agents. For a DTC brand whose entire GEO thesis is being retrieved and cited, we allow both, and we would rather be in the answer than absent from it.


llms.txt: ship it, do not bet on it

llms.txt is a proposed convention: a markdown file at your site root listing your most important pages with short descriptions, so an LLM can orient without crawling everything. A companion llms-full.txt can carry full content.

The honest read on the evidence: adoption has grown, mostly among developer-tool and SaaS sites, but no major AI provider has publicly committed to fetching it, and industry log analyses rarely show the big crawlers requesting it. Treat claims that llms.txt "boosts AI visibility" with suspicion; nobody has clean evidence of that.

So why ship it? Because it costs an hour, the downside is zero, and it doubles as an editorial exercise: forcing yourself to name your 20 most important pages with one-line descriptions usually reveals that your site structure does not match your priorities. Ours lists our program pages, pricing, and the pillar posts. If the convention wins, we are early; if it dies, we lost an hour.


The schema layer

The GEO post covered medical schema for condition and treatment pages. At the site and blog level, three types do most of the work:

Organization. One canonical block: exact brand name, logo, site, and sameAs links to your real profiles. Entity consistency is the point; "Turbopills" is spelled one way everywhere, which is less trivial than it sounds across multi-author sites.

BlogPosting. Author, datePublished, and critically dateModified on every post. This is the machine-readable side of the freshness signal.

FAQPage. Mirrors the visible FAQ block. Question-and-answer pairs are the most directly reusable chunks a page can offer an engine.

A minimal honest BlogPosting block:

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "The Technical GEO Stack for Telehealth Sites",
  "datePublished": "2026-08-26",
  "dateModified": "2026-08-26",
  "author": { "@type": "Organization", "name": "Turbopills" }
}

One rule: mark up only what is visible on the page. Schema that claims content the page does not show is the fastest way to convert a trust signal into a spam signal.


Format for the chunk, not the page

Engines retrieve passages, not pages. Every H2 section should survive being quoted alone: a claim in the first two sentences, support after, no "as we discussed above" dependencies. Put your best statistics in the first third of the page, where this post put its two. Lead with tables; end with a question-shaped FAQ whose answers run two to four self-contained sentences.

This is why every Turbopills post follows the same skeleton: a data table early, plainly stated numbers with dates, an FAQ block at the end. It is not a house style quirk. It is the shape retrieval rewards, and the same shape now feeds shopping agents parsing your program pages, per our agentic commerce post.


Freshness and dateModified hygiene

The ~3.2x citation multiplier for content updated within 30 days is the strongest lever on the board, and the most abused. The hygiene rules:

  • Refresh means real edits: updated numbers, new developments, corrected claims, ideally a visible "what changed" line.
  • dateModified moves only when content moves. Date-bumping without edits is detectable by anyone diffing snapshots, and engines have every incentive to check.
  • Tier your cadence. Our comparison and pricing posts get monthly refreshes through Q4; evergreen explainers get quarterly passes; news-pegged posts get updated when the news moves.

For a telehealth site this maps cleanly: pricing pages, "best of" comparisons, and anything citing regulatory dates are your 30-day tier. A stale pricing claim is worse than no claim, for engines and patients alike.


Measuring citations

No dashboard required to start:

  • Query panel. The 25-to-50-query monthly sweep across ChatGPT, Claude, Perplexity, and Gemini from the GEO post. Track mention rate and which of your URLs get cited.
  • Assistant referrers. Segment traffic from chatgpt.com, perplexity.ai, and gemini referrers in analytics. Small absolute numbers, high intent, growing share.
  • Log analysis. Which bots fetch which pages, how often. A page AI crawlers never fetch will never be cited, whatever its quality.
  • Feedback loop. Build more of what gets cited, refresh what used to be cited and slipped.

If institutional sources keep crowding you out of your own queries, that is a strategy problem, not a plumbing problem: here is how brands get cited when institutions dominate. And remember that a large share of citations come from channels you do not control, Reddit above all. The technical stack makes your owned surface retrievable; the off-page layer decides how often it is chosen.


FAQ

What is llms.txt and does it improve AI visibility? llms.txt is a proposed markdown file at a site's root listing its most important pages so LLMs can orient quickly. Adoption is real but there is no solid evidence major AI crawlers fetch it yet, and no provider has committed to supporting it. Ship it because it costs an hour and has zero downside, but put real effort into schema, freshness, and crawler access instead.

Which schema types matter most for AI search on a telehealth site? At the site level: Organization for entity consistency, BlogPosting with honest datePublished and dateModified, and FAQPage mirroring visible Q&A content. Condition and treatment pages add medical types on top. Only mark up content that is visible on the page.

How much does content freshness affect AI citations? Content updated within the last 30 days earns roughly 3.2x more AI citations, per Seer Interactive's analysis. The multiplier rewards real updates: changed numbers, new developments, and a dateModified that moves only when the content does. Pricing and comparison pages deserve a monthly refresh tier.

Should a telehealth site allow GPTBot, ClaudeBot, and PerplexityBot? If you want AI assistants citing and recommending you, yes: a blocked crawler cannot cite you. Check robots.txt and your CDN's bot-management defaults, which increasingly block AI crawlers silently, then verify actual fetches in server logs.

More from AI