How to Wire a Press Release for AI Citation: A schema.org NewsArticle Field Guide
AI search engines cite the structured data layer Google indexes. Mark up your release with five required schema.org NewsArticle fields, anchor it to one canonical URL, and validate before publish — here is the technical playbook.

AI search engines cite the structured data layer Google indexes, not your prose. To make a press release machine-readable for that layer, mark it up with schema.org NewsArticle JSON-LD that nails five fields — headline, image, datePublished, dateModified, and a structured author plus publisher — then anchor it to a single canonical URL. This does not guarantee citation, but it removes the technical reasons engines skip your release.
Why schema.org NewsArticle is the AI-citation substrate
schema.org defines NewsArticle as a subtype of Article specifically for news content, with properties including headline, datePublished, dateModified, author, and publisher. Google parses these fields from the same markup that powers Search results, and that index feeds AI Overviews and Gemini-generated answers.
We cannot prove what Perplexity, ChatGPT, or Claude internally require to cite a source — those systems are opaque. We can prove what Google publicly documents and what schema.org publicly defines. The major AI engines crawl the open web and most rely on web indexes; the structured data layer is the cheapest, most observable lever a PR team has.
Important caveat upfront: schema markup is necessary infrastructure, not a citation guarantee. A perfectly marked-up release with no news value still gets ignored. This guide assumes the underlying release is newsworthy; it focuses on the technical layer that turns a good release into a machine-citable one.
The five required fields in Google's Article spec
Google's Article structured data documentation lists author, datePublished, dateModified, headline, image, and publisher among the fields it parses from Article and NewsArticle markup, with publisher requiring a nested Organization that includes a logo ImageObject. Get any one wrong and the markup either parses incorrectly or gets skipped.
A minimal JSON-LD template wiring all five for a fictional press release:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Acme Robotics Closes $40M Series B to Scale Warehouse Fleet",
"image": [
"https://newsroom.acme.com/images/2026/series-b-1x1.jpg",
"https://newsroom.acme.com/images/2026/series-b-16x9.jpg"
],
"datePublished": "2026-04-29T09:00:00-04:00",
"dateModified": "2026-04-29T09:00:00-04:00",
"author": {
"@type": "Person",
"name": "Sarah Patel",
"url": "https://newsroom.acme.com/authors/sarah-patel"
},
"publisher": {
"@type": "Organization",
"name": "Acme Robotics",
"logo": {
"@type": "ImageObject",
"url": "https://newsroom.acme.com/logo.png",
"width": 600,
"height": 60
}
}
}
</script>
Keep the headline under 110 characters per Google's guidance. Provide multiple image aspect ratios (1x1, 4x3, 16x9) so Google can pick the right thumbnail. Dates use ISO 8601. Publisher requires a nested Organization with a logo ImageObject that includes width and height — leave the dimensions off and Rich Results Test throws a warning.
Canonical URL discipline: one release equals one URL equals one citation target
Google's canonicalization documentation explains that rel=canonical lets a publisher signal the preferred URL when the same content appears at multiple URLs, and that Google selects one canonical to represent the content in Search.
The press release problem: the same release lives on the brand newsroom, on a wire service like Business Wire or PR Newswire, and re-published on outlets that picked it up. Without canonical tags, citations split across versions. AI engines may attribute the quote to the wire service, Google may pick the wire version as canonical, and the brand newsroom — the version you actually control — gets ignored.
The rule:
- The brand newsroom URL is the canonical.
- Wire and syndication versions point back via
<link rel="canonical" href="https://newsroom.acme.com/press/series-b">. - If the wire service does not honor third-party canonical tags (some legacy ones don't), publish to your newsroom first with a timestamp that predates the wire push.
When canonical is wrong, Google picks a different version as canonical, AI citations attribute to that version, and your newsroom analytics show no traffic from AI engines even when your release is being cited.
dateModified vs datePublished: the freshness signal engines re-rank on
datePublished is set once, when the release goes live. dateModified updates whenever the body changes. Both are required, and they serve different signals. AI engines prefer recent sources for time-sensitive queries — a stale datePublished knocks you down, but a recent dateModified backed by a real change can keep you in contention.
Two common mistakes:
- Editing the release body — adding a clarification, fixing a number — but not bumping dateModified. Engines see a stale signal and may not re-crawl.
- Bumping dateModified on every typo fix. Engines that detect zero substantive change start ignoring the signal, and you burn the budget for when it matters.
Discipline: bump dateModified only on substantive changes — numbers, quotes, named entities, corrections. Whitespace and typo fixes don't count.
Concrete example. A funding announcement reports a $40M Series B at publish time. Three days later the round upsizes to $48M. That is substantive. Update the body, update the headline if it referenced the dollar amount, bump dateModified, and add a brief correction note in the prose so the change is human-readable too.
Author and publisher: wire them as objects, not free text
Publisher must be an Organization object with name and a logo as an ImageObject with declared width and height per Google's documentation. Author can be a Person — a named spokesperson, an executive — or an Organization, but it must be present and structured.
Why this matters for AI citation: publisher and author objects give engines a stable entity to attribute the quote to. When an engine summarizes your release, it needs to name a source. If your author field is the plain string "Communications Team", the engine has nothing concrete to attribute. If your author is a structured Person with a name and URL, the engine can cite "Sarah Patel of Acme Robotics" with a link.
The anti-pattern:
"author": "Communications Team"
The right pattern:
"author": {
"@type": "Person",
"name": "Sarah Patel",
"url": "https://newsroom.acme.com/authors/sarah-patel"
}
When the release genuinely has no individual byline, use an Organization:
"author": {
"@type": "Organization",
"name": "Acme Robotics",
"url": "https://newsroom.acme.com"
}
A decoupling note on AI training control. Google's documentation on Google-Extended states it is a separate product token publishers can use to control whether their content is used to improve Gemini and Vertex AI generative APIs, while leaving Googlebot indexing intact. If you want your releases indexed for Search and AI Overviews citation but not used for model training, configure Google-Extended in robots.txt. The two signals are independent.
Validation workflow: two free tools, three minutes per release
Before every publish, run the URL through two validators. They catch different classes of error.
- Google's Rich Results Test parses a page's structured data and reports errors and warnings on the markup as Google reads it. This catches Google-specific requirements like the publisher.logo dimensions warning, image accessibility, and field types Google rejects.
- schema.org's Schema Markup Validator checks structured data against the schema.org vocabulary specification, independent of any search engine's parsing rules. This catches vocabulary-level errors — properties that don't exist on NewsArticle, mistyped @type values, malformed nested objects.
Run both. If Rich Results Test shows warnings rather than errors, decide case by case — some warnings flag missing optional fields you can live without. If either tool shows errors, fix before publish.
Final pre-publish checklist:
- All five required fields present, with publisher and author nested as objects
- Canonical URL set and pointing to the brand newsroom version
- dateModified equals datePublished on first publish; future bumps gated on substantive change
- Publisher Organization includes logo width and height; author is a Person or Organization, never a plain string
- Both Rich Results Test and validator.schema.org return green
This is roughly three minutes per release once the template is wired into your publishing flow. Your release composer should emit the JSON-LD automatically; the validators are the human gate before publish. For more on architecting newsrooms for AI citation, see our related newsroom-architecture posts.
The technical layer does not make a weak release strong. It does stop a strong release from being invisible to the engines you most want to reach.
Defne
Content Editor, Prfect