How to Write a Press Release That AI Models Cite

Key takeaway
An AI model cites a press release when it contains a self-contained, verifiable claim in the first two sentences, a named source for that claim, and no crawl barrier stopping the model's retrieval system from indexing it. Write the announcement like a fact sheet, not a marketing pitch, and put the number or milestone before the adjectives. Everything else — quotes, boilerplate, distribution — either reinforces that extractable fact or dilutes it.
Key takeaways
- Put the specific, checkable fact (funding amount, user count, launch date, percentage) in sentence one or two — that's the chunk retrieval systems pull.
- Publish the canonical version on your own domain with NewsArticle schema, not just on a wire service you don't control.
- Check that GPTBot, PerplexityBot, and ClaudeBot aren't blocked in your robots.txt, or none of this matters.
Why most press releases never get quoted
Retrieval-augmented generation systems don't read a press release the way a journalist does. They split it into chunks — usually a few sentences to a paragraph — embed each chunk, and rank chunks against the user's query. A chunk only gets surfaced if it's dense with matchable, specific content. This is why a paragraph like "we're thrilled to announce this exciting milestone in our journey" retrieves nothing: there's no noun, number, or entity for the embedding to latch onto. It's semantically empty even though it's grammatically fine.
We see this constantly when auditing founder-written PRs before they go out: the headline states the news, then the first two paragraphs are pure tone-setting before any fact appears. By the time the model reaches the actual number, it's three paragraphs deep in a low-density block, competing against tighter competitor pages for the same query. Move the fact up, and citation rates on funding and launch announcements change immediately in our own tracking — not because the fact changed, but because it's now in the chunk most likely to get embedded and matched.
Structure the release so the lede is the citation
Inverted pyramid journalism exists for humans skimming, but it happens to be exactly what extraction-based retrieval rewards. The first sentence should answer who did what, with a number attached, and the second sentence should give the "so what" — why it matters, in comparably specific terms.
A workable skeleton:
- Headline: states the news plainly, no wordplay, includes the entity name.
- Dateline + lede (1–2 sentences): who, what, number, date — the exact chunk you want cited.
- Context paragraph: one prior data point or comparison that anchors the news (e.g., "up from 40,000 users in March").
- Quote: a claim, not a feeling.
- Supporting detail paragraph: mechanism or method behind the number.
- Boilerplate: one factual sentence about the company, not a mission statement.
This is the same discipline behind writing anything meant for machine extraction — see how the mechanics play out for technical documentation that AI models actually pull from, where the same "fact before flourish" ordering determines what gets surfaced.
Give the model something concrete to attribute
Models cite text they can defend if challenged. Vague claims get paraphrased or dropped; specific ones get quoted with attribution because they're falsifiable and therefore lower-risk for the model to repeat. Compare:
- Weak: "Our platform has seen incredible growth this quarter."
- Citable: "The platform grew from 12,000 to 31,000 monthly active users between June and August."
The second version survives being quoted verbatim because it's a testable statement, not an opinion. This matters more than most founders assume — when we studied how ChatGPT decides what to actually cite, the pattern held across industries: numeric, dated, named claims got pulled into answers at a much higher rate than descriptive language, even when the descriptive version appeared on a higher-authority domain.
Named entities matter too. "A leading SaaS company" is invisible to a retrieval system; "Seolyn, an AI SEO agent for indie hackers," is a matchable entity the model can connect to future queries about your product. Use your actual name and category description every time, not synonyms for variety — inconsistent naming across paragraphs actually splits your entity signal instead of reinforcing it.
The technical layer most founders skip entirely
A perfectly written press release cited zero times because the founder's static site generator blocked all bots by default in robots.txt, including GPTBot and PerplexityBot. This is more common than it should be — many indie hacker deploy templates ship with a blanket Disallow: / left over from staging, and nobody checks it before launch.
Before you publish, confirm:
- robots.txt doesn't block
GPTBot,ChatGPT-User,PerplexityBot, orClaudeBot. OpenAI publishes its crawler behavior and how to control it in its GPTBot documentation. - Canonical tag points to your own domain's copy, even if you also distribute via a wire service — otherwise the wire's copy may outrank yours as the "source," and if the wire service later paywalls or deletes the release, your citation disappears with it.
- Schema markup (NewsArticle or PressRelease type, per schema.org) gives the model structured confirmation of publish date, author organization, and headline — reducing ambiguity about whether this is current or archived news.
- Publish date is visible in the HTML, not just in a database field. Models weight recency heavily for news-type queries, and an invisible date effectively makes your release undated.
Where you publish is part of the writing decision
Wire services (PR Newswire, Business Wire, and similar) still have value for initial reach and for getting picked up by outlets whose content does get crawled reliably. But treat the wire distribution as amplification, not as your primary citable artifact. The International Press Telecommunications Council maintains the metadata standards most newsrooms and aggregators use to parse structured news content — if your release conforms to that structure, it's more likely to survive syndication with its facts intact rather than getting flattened into a generic summary.
Your own domain page should be the fullest, most detailed version — the wire version can be shorter. This mirrors the same principle we push in pillar page structuring for AI search: the canonical source should be the most complete and most frequently updated version of the content, because that's the copy retrieval systems tend to converge on when multiple versions of the same facts exist across the web.
Make the quote do work, not just add color
A press release quote that says "We're excited to bring this to market" contributes nothing extractable — it's sentiment, and models don't cite sentiment. A quote that contains a claim does double duty: it reads as human voice for journalists and still functions as a citable fact for a model.
Compare:
- Not citable: "This partnership represents a huge step forward for our customers," said the CEO.
- Citable: "This integration cuts average onboarding time from nine days to under two," said the CEO.
The second version can appear in an AI-generated answer as a direct quote with attribution, because it's specific enough to be worth quoting and safe enough to be worth repeating.
Mistakes that quietly kill citation odds
- Burying the number in paragraph four. By then it's in a low-salience chunk competing with everything else on the page.
- Using different names for the same entity across the release (full name once, abbreviation once, nickname once) — this fragments the entity match instead of strengthening it.
- No boilerplate fact. "X is a leading provider of Y" tells a model nothing checkable; "X, founded in [year], serves [number] customers in [category]" gives it something to anchor future answers to.
- Publishing only as a PDF or image. Some founders still send releases as attached PDFs with no HTML counterpart — unreadable to most retrieval pipelines and invisible to a live crawl.
- Skipping distribution to your own blog. Even the best release loses reach if it lives only in an email to a journalist list, with no public, crawlable URL at all. If you're already running an announcement cadence, the same discipline that works for launch posts optimized for AI search applies directly here: publish it somewhere permanent and indexable before you push it anywhere else.
Frequently Asked Questions
Q: Do AI models actually read press releases directly, or only news coverage of them?
Both, depending on the model and whether the crawler can access the page. Perplexity and similar retrieval-based tools frequently pull directly from a company's own press page if it's crawlable and well-structured; models without live retrieval only "know" what was in their training data or what a connected search tool surfaces at query time.
Q: How long should a press release be to get cited by AI answer engines?
Length matters less than density of the first two sentences. A 300-word release with a specific, dated fact up top will out-cite a 900-word release that buries its news in paragraph three.
Q: Should I still use a wire distribution service?
Yes, for reach and journalist pickup, but treat your own domain as the canonical, most detailed source and use canonical tags so retrieval systems don't treat the wire copy as the authoritative version.
Q: Does adding a quote from a customer help with AI citation?
Only if the quote contains a specific, checkable claim rather than a sentiment. A customer quote with a number or outcome is citable; one that just expresses enthusiasm is not.
Q: What's the single biggest technical mistake founders make with press releases?
Blocking AI crawlers by accident through a leftover Disallow: / in robots.txt, or publishing the release only as a PDF with no crawlable HTML version — both make an otherwise well-written release invisible to retrieval systems entirely.
Want content like this on autopilot?
Seolyn researches keywords, writes the articles, and publishes on a schedule — 3 days free, no credit card.