ADP 2.1 Decoded: The Technical Standard Behind AI-Discoverable Content
Updated September 2026.
Update: ADP has since evolved to the 3.0 two-layer model, Be Cited (discovery/citation) and Be Actionable (agentic), which reframes where llms.txt fits. See Is llms.txt Agent Navigation or a Citation Lever?. The technical foundations below remain accurate.
AI Crawlers Visit Your Site Daily. Are You Speaking Their Language?
Every day, AI crawlers from OpenAI, Anthropic, Perplexity, and Google visit your website. They're looking for content to index, understand, and potentially cite when users ask questions. But here's the problem:
Most websites are speaking HTML. AI crawlers want structured data.
When GPTBot visits your press release page, it doesn't see beautiful typography and brand colors. It sees:
- A wall of unstructured HTML
- No machine-readable entity relationships
- No indication of what's new since the last crawl
- No structured summary for efficient ingestion
The result: Your content gets crawled but not understood. It gets indexed but not cited.
This is where the AI Discovery Protocol (ADP) 2.1 comes in. ADP is the emerging standard for making content machine-readable to AI systems. It's a set of dedicated endpoints, HTTP headers, and structured data formats that tell AI crawlers exactly what they need to know, efficiently.
In this technical deep-dive, I'll walk you through each endpoint in the ADP 2.1 specification, show you the HTTP headers that matter, and demonstrate how Pressonify implements this at production scale.
What is the AI Discovery Protocol?
The AI Discovery Protocol is a structured approach to AI crawler optimization. Think of it as:
- robots.txt → Tells crawlers where they can go
- sitemap.xml → Tells crawlers what pages exist
- ADP → Tells crawlers what your content means and how to understand it
The Evolution to ADP v3.0
ADP 1.0 (2024): Basic llms.txt file for site context
ADP 2.0 (Early 2025): Added knowledge graph and JSON feeds
ADP 2.1 (Late 2025): 11-endpoint specification + HTTP security headers (this article originally shipped with v2.1)
ADP v3.0 (April 2026, current): Markdown mirrors for every blog post and press release, unified manifest advertising markdownMirrors, version-stamped across all discovery endpoints
Why ADP Matters for AI Citations
AI systems don't read websites like humans do. They:
- Crawl efficiently: Prefer structured data over parsing complex HTML
- Verify integrity: Use cryptographic hashes to detect changes
- Prioritize fresh content: Use timestamps and update frequencies
- Build knowledge graphs: Connect entities and relationships
ADP v3.0 provides all of these signals in standardized formats.
The ADP 2.1 Endpoints Explained
Let me walk through each endpoint, its purpose, and implementation details. (The live set evolves; our llms.txt and the AI Discovery Protocol hub track the current one.)
Endpoint 1: /.well-known/ai.json
Purpose: The main ADP manifest, tells AI crawlers what other endpoints exist and the protocol version.
Format: JSON
Example from Pressonify:
{
"adp_version": "2.1",
"protocol": "AI Discovery Protocol",
"last_updated": "2025-12-28T00:00:00Z",
"organization": {
"name": "Pressonify.ai",
"type": "SaaS Platform",
"url": "https://pressonify.ai",
"description": "AI-powered press release platform with Five-Layer Optimization Stack"
},
"capabilities": {
"llms_txt": true,
"knowledge_graph": true,
"json_feed": true,
"sitemap": true,
"schema_org": true
},
"endpoints": {
"llms_txt": "/llms.txt",
"llms_full": "/llms-full.txt",
"llms_lite": "/llms-lite.txt",
"knowledge_graph": "/knowledge-graph.json",
"feed_json": "/feed.json",
"updates": "/updates.json",
"ai_sitemap": "/ai-sitemap.xml"
},
"crawl_preferences": {
"preferred_frequency": "daily",
"content_types": ["press_releases", "blog_posts", "product_pages"],
"language": "en"
},
"security": {
"security_txt": "/.well-known/security.txt",
"contact": "[email protected]"
}
}
Live URL: pressonify.ai/.well-known/ai.json
Required HTTP Headers:
Content-Type: application/json
ETag: W/"abc123"
X-Update-Frequency: daily
Access-Control-Allow-Origin: *
Endpoint 2: /.well-known/security.txt
Purpose: Security contact information following RFC 9116. AI systems use this to verify site legitimacy and report vulnerabilities.
Format: Plain text
Example:
# Security Contact Information
# Pressonify.ai - AI-Powered Press Release Platform
Contact: mailto:security@pressonify.ai
Expires: 2026-12-31T23:59:59.000Z
Preferred-Languages: en
Canonical: https://pressonify.ai/.well-known/security.txt
# Acknowledgments
Acknowledgments: https://pressonify.ai/security-acknowledgments
# Policy
Policy: https://pressonify.ai/security-policy
# Hiring
Hiring: https://pressonify.ai/careers
Live URL: pressonify.ai/.well-known/security.txt
Endpoint 3: /robots.txt
Purpose: Traditional crawler directive with explicit AI crawler permissions.
Critical: Most websites inadvertently block AI crawlers. You must explicitly allow them.
Example:
# AI Crawler Permissions
User-agent: GPTBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Anthropic-AI
Allow: /
User-agent: CCBot
Disallow: /
# General Crawlers
User-agent: *
Disallow: /admin/
Disallow: /api/v1/internal/
# Sitemaps
Sitemap: https://pressonify.ai/sitemap.xml
Sitemap: https://pressonify.ai/ai-sitemap.xml
# ADP Discovery
# AI Discovery Protocol: https://pressonify.ai/.well-known/ai.json
Key Decision: Allow or block CCBot (Common Crawl)?
- Allow: Your content may be used for LLM training data
- Block: Prevents training data usage but doesn't affect citation
Recommendation: Allow GPTBot, PerplexityBot, Claude-Web, Google-Extended. Block CCBot unless you want training data contribution.
Endpoint 4: /ai-discovery.json
Purpose: Meta-index with entity counts, content statistics, and discovery guidance.
Format: JSON
Example:
{
"adp_version": "2.1",
"site": {
"name": "Pressonify.ai",
"url": "https://pressonify.ai",
"description": "AI-powered press release platform",
"primary_language": "en"
},
"content_statistics": {
"press_releases": 79,
"blog_posts": 36,
"landing_pages": 12,
"last_updated": "2025-12-28T00:00:00Z"
},
"entity_counts": {
"organizations": 523,
"persons": 312,
"products": 89,
"events": 67
},
"update_frequency": {
"press_releases": "daily",
"blog_posts": "weekly",
"knowledge_graph": "daily"
},
"endpoints": {
"primary": "/llms.txt",
"extended": "/llms-full.txt",
"knowledge_graph": "/knowledge-graph.json",
"feed": "/feed.json"
},
"indexing": {
"indexnow_enabled": true,
"indexnow_key": "your-key-here"
}
}
Live URL: pressonify.ai/ai-discovery.json
Endpoint 5: /knowledge-graph.json
Purpose: Schema.org entity catalog with relationships. This is where AI systems find structured entity data.
Format: JSON-LD (Schema.org)
Example (condensed):
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "Pressonify Knowledge Graph",
"description": "Structured entity catalog for AI discovery",
"numberOfItems": 1426,
"itemListElement": [
{
"@type": "Organization",
"@id": "https://pressonify.ai/#organization",
"name": "Pressonify.ai",
"url": "https://pressonify.ai",
"description": "AI-powered press release platform with Five-Layer Optimization Stack",
"foundingDate": "2024",
"sameAs": [
"https://twitter.com/pressonify",
"https://linkedin.com/company/pressonify"
]
},
{
"@type": "NewsArticle",
"@id": "https://pressonify.ai/news/tech-company-launches-product",
"headline": "Tech Company Launches Revolutionary Product",
"datePublished": "2025-12-28T10:00:00Z",
"author": {
"@type": "Organization",
"name": "Tech Company Ltd"
}
}
]
}
Live URL: pressonify.ai/knowledge-graph.json
Entity Types to Include:
- Organization: Companies, brands, publishers
- Person: Executives, authors, spokespersons
- Product: Products, services, features
- NewsArticle: Press releases, announcements
- Event: Product launches, conferences
- CreativeWork: Blog posts, case studies
Endpoint 6: /llms.txt
Purpose: Compact site structure optimized for LLM token consumption. The "elevator pitch" for AI systems.
Format: Plain text (markdown-like)
Token Target: 1,000-2,000 tokens
Example (abridged; see the llms.txt hub for the format and our live file for current content):
# Pressonify.ai - AI-Powered Press Release Platform
## Overview
Pressonify.ai drafts professional press releases in about a minute using Claude Haiku 4.5, live the same day once reviewed. Every release is automatically optimized for AI citations through our Five-Layer Stack: SEO → AEO → GEO → LLMO → ADP.
## Key Features
- AI draft in about a minute with Claude Haiku 4.5
- Five-Layer Optimization Stack for AI discoverability
- ADP endpoints for AI crawler compatibility
- Automatic Schema.org markup (NewsArticle, Organization, FAQPage, BreadcrumbList)
- Knowledge graph integration for every release
- IndexNow instant distribution to search engines
## Statistics
- Live press release count (79 at the time of writing, 2026-09-22)
- Blog posts on the Citation Economy
## Pricing
- Per release: €49.95 (€9.95 for a first release)
- 5-pack: €200 (€40 each)
- Enterprise: contact us
## Recent Content
1. The 96% Rule: Why PR is the Front Door to AI Discovery
2. Five-Layer Optimization Stack Technical Guide
3. Citation Economy Playbook: 7 Tactics for AI Citations
4. ADP 2.1 Decoded: Technical Standard for AI Content
## Contact
Website: https://pressonify.ai
Email: hello@pressonify.ai
Support: support@pressonify.ai
## ADP Endpoints
- AI Discovery: /.well-known/ai.json
- Knowledge Graph: /knowledge-graph.json
- Full Content: /llms-full.txt
- JSON Feed: /feed.json
Last Updated: 2025-12-28
Live URL: pressonify.ai/llms.txt
Pressonify Implementation: kept within the compact budget; check the live file for its current size.
Endpoint 7: /llms-full.txt
Purpose: Extended context with comprehensive content. For AI systems that need deep research.
Format: Plain text (markdown-like)
Token Target: 10,000-50,000 tokens
Content to Include:
- Full company overview and history
- Complete product/service descriptions
- All press releases (headlines + summaries)
- Blog post summaries
- FAQ content
- Team information
- Case studies and testimonials
Example Structure:
# Pressonify.ai - Complete AI Context Document
## Company Overview
[Extended company description - 500+ words]
## Products and Services
[Detailed product descriptions with features, benefits, pricing]
## Press Releases (Latest 50)
[Headline + 2-3 sentence summary for each]
## Blog Content (All Posts)
[Headline + excerpt for each blog post]
## Frequently Asked Questions
[Complete FAQ content - 20+ questions]
## Team and Leadership
[Brief bios for key team members]
## Contact and Support
[All contact methods and support resources]
## Technical Documentation
[API overview, integration guides, developer resources]
Last Updated: 2025-12-28
Live URL: pressonify.ai/llms-full.txt
Pressonify Implementation: grows with every published release and post.
Endpoint 8: /llms-lite.txt
Purpose: Minimal overview for quick context. Ultra-efficient token usage.
Format: Plain text
Token Target: 100-500 tokens
Example:
# Pressonify.ai
AI-powered press release platform. AI drafts in about a minute with Claude Haiku 4.5.
Key: Five-Layer Optimization Stack (SEO → AEO → GEO → LLMO → ADP)
Products: Press releases (€49.95; €9.95 for a company's first release), 5-pack (€200)
Stats: 79 published releases (2026-09-22)
URL: https://pressonify.ai
Contact: hello@pressonify.ai
ADP: /.well-known/ai.json
Live URL: pressonify.ai/llms-lite.txt
Pressonify Implementation: a few hundred tokens.
Endpoint 9: /feed.json
Purpose: JSON Feed v1.1 format for content syndication. Modern alternative to RSS.
Format: JSON (JSON Feed 1.1 specification)
Example:
{
"version": "https://jsonfeed.org/version/1.1",
"title": "Pressonify.ai",
"home_page_url": "https://pressonify.ai",
"feed_url": "https://pressonify.ai/feed.json",
"description": "AI-powered press releases optimized for Citation Economy",
"language": "en",
"authors": [
{
"name": "Pressonify Team",
"url": "https://pressonify.ai"
}
],
"items": [
{
"id": "https://pressonify.ai/news/tech-company-launches-product",
"url": "https://pressonify.ai/news/tech-company-launches-product",
"title": "Tech Company Launches Revolutionary Product",
"content_text": "Tech Company Ltd announced today...",
"date_published": "2025-12-28T10:00:00Z",
"date_modified": "2025-12-28T10:00:00Z",
"authors": [
{
"name": "Tech Company Ltd"
}
],
"tags": ["technology", "product-launch", "innovation"]
}
]
}
Live URL: pressonify.ai/feed.json
Why JSON Feed over RSS?:
- Native JSON parsing (no XML complexity)
- Better metadata support
- Easier for AI systems to consume
- Modern specification (2017+)
Endpoint 10: /updates.json
Purpose: Delta feed showing only recent changes. Efficient crawl optimization.
Format: JSON
Example:
{
"adp_version": "2.1",
"last_updated": "2025-12-28T14:30:00Z",
"update_period": "24h",
"changes": [
{
"type": "add",
"resource": "press_release",
"url": "https://pressonify.ai/news/new-release",
"timestamp": "2025-12-28T10:00:00Z"
},
{
"type": "modify",
"resource": "blog_post",
"url": "https://pressonify.ai/blog/five-layer-stack",
"timestamp": "2025-12-28T12:00:00Z"
}
],
"next_update": "2025-12-29T00:00:00Z"
}
Live URL: pressonify.ai/updates.json
Endpoint 11: /ai-sitemap.xml
Purpose: AI-optimized sitemap with priority, update frequency, and content type hints.
Format: XML (sitemap protocol extension)
Example:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:ai="http://www.pressonify.ai/schemas/ai-sitemap">
<url>
<loc>https://pressonify.ai/news/tech-company-launches-product</loc>
<lastmod>2025-12-28T10:00:00Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.9</priority>
<ai:content-type>press_release</ai:content-type>
<ai:schema-types>NewsArticle,Organization,FAQPage</ai:schema-types>
<ai:word-count>850</ai:word-count>
</url>
</urlset>
AI Sitemap Extensions:
- ai:content-type: press_release, blog_post, product_page
- ai:schema-types: Comma-separated Schema.org types
- ai:word-count: Content length for LLM planning
- ai:last-citation: When content was last cited by AI
HTTP Security Headers for ADP
Every ADP endpoint should include these HTTP headers for optimal AI crawler interaction.
ETag (Cache Validation)
Purpose: Allows crawlers to check if content has changed without downloading.
ETag: W/"a1b2c3d4e5f6"
Implementation: Generate from content hash or last-modified timestamp.
Crawler behavior: Sends If-None-Match header on subsequent requests. Return 304 Not Modified if unchanged.
Content-Digest (Integrity Verification)
Purpose: Cryptographic hash for content integrity verification.
Content-Digest: sha-256=:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=:
Implementation: Base64-encoded SHA-256 hash of response body.
Crawler behavior: Verifies content integrity, detects transmission errors.
X-Update-Frequency (Scheduling Hint)
Purpose: Tells crawlers how often content changes.
X-Update-Frequency: daily
Valid values: hourly, daily, weekly, monthly, yearly
Crawler behavior: Adjusts crawl schedule based on update frequency.
Access-Control-Allow-Origin (CORS)
Purpose: Enables cross-origin access for AI tools and APIs.
Access-Control-Allow-Origin: *
Why it matters: AI tools often make client-side requests to fetch content.
Cache-Control
Purpose: Instructs caching behavior for CDNs and crawlers.
Cache-Control: public, max-age=3600, s-maxage=7200
Recommended settings:
- Press releases: max-age=86400 (24 hours)
- feeds/updates: max-age=3600 (1 hour)
- Knowledge graph: max-age=7200 (2 hours)
Complete Header Set Example
HTTP/2 200 OK
Content-Type: application/json
ETag: W/"a1b2c3d4e5f6"
Content-Digest: sha-256=:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=:
X-Update-Frequency: daily
Access-Control-Allow-Origin: *
Cache-Control: public, max-age=3600
X-ADP-Version: 2.1
AI Crawler Identification
Knowing which AI crawlers visit your site helps you optimize for the right systems.
Major AI Crawlers
| Crawler | User-Agent String | Organization | Purpose |
|---|---|---|---|
| GPTBot | GPTBot/1.0 |
OpenAI | ChatGPT, SearchGPT |
| ChatGPT-User | ChatGPT-User |
OpenAI | Real-time browsing |
| PerplexityBot | PerplexityBot/1.0 |
Perplexity AI | Answer engine |
| Claude-Web | Claude-Web |
Anthropic | Claude web access |
| Google-Extended | Google-Extended |
Gemini, AI Overviews | |
| Anthropic-AI | Anthropic-AI |
Anthropic | Training data |
| CCBot | CCBot/2.0 |
Common Crawl | Training data |
Tracking AI Crawler Visits
Server log analysis (Python example):
import re
from collections import defaultdict
AI_CRAWLERS = {
'GPTBot': r'GPTBot',
'PerplexityBot': r'PerplexityBot',
'Claude-Web': r'Claude-Web',
'Google-Extended': r'Google-Extended',
'ChatGPT-User': r'ChatGPT-User'
}
def analyze_crawler_visits(log_file):
visits = defaultdict(int)
with open(log_file, 'r') as f:
for line in f:
for crawler, pattern in AI_CRAWLERS.items():
if re.search(pattern, line):
visits[crawler] += 1
return visits
Pressonify's crawler logging: We log hits from GPTBot, PerplexityBot, Claude-Web, and other AI user agents on our ADP endpoints, which is how we learned which surfaces crawlers actually use (see what our AI bot crawl data showed). For your own site, our AI crawler audit hub walks through the process.
Pressonify's ADP v3.0 Implementation
Let me show you how we implement ADP in production.
Automatic Endpoint Generation
Every press release published on Pressonify automatically:
- Updates /knowledge-graph.json with NewsArticle entity
- Adds entry to /feed.json with full metadata
- Extends /llms-full.txt with headline and summary
- Logs in /updates.json as new content
- Submits to IndexNow for instant crawler notification
HTTP Header Implementation
from fastapi import Response
import hashlib
import base64
def add_adp_headers(response: Response, content: bytes, update_freq: str = "daily"):
# Generate ETag
content_hash = hashlib.md5(content).hexdigest()[:12]
response.headers["ETag"] = f'W/"{content_hash}"'
# Generate Content-Digest
sha256_hash = hashlib.sha256(content).digest()
digest_b64 = base64.b64encode(sha256_hash).decode()
response.headers["Content-Digest"] = f"sha-256=:{digest_b64}:"
# Update frequency
response.headers["X-Update-Frequency"] = update_freq
# CORS
response.headers["Access-Control-Allow-Origin"] = "*"
# ADP version
response.headers["X-ADP-Version"] = "2.1"
return response
Knowledge Graph Integration
When a press release is published:
def add_to_knowledge_graph(press_release):
entity = {
"@type": "NewsArticle",
"@id": f"https://pressonify.ai/news/{press_release.slug}",
"headline": press_release.headline,
"datePublished": press_release.published_at.isoformat(),
"author": {
"@type": "Organization",
"name": press_release.company_name
},
"publisher": {
"@type": "Organization",
"name": "Pressonify.ai",
"@id": "https://pressonify.ai/#organization"
}
}
knowledge_graph.add_entity(entity)
Live Endpoints
Test our ADP v3.0 implementation:
- ADP Manifest: pressonify.ai/.well-known/ai.json
- Knowledge Graph: pressonify.ai/knowledge-graph.json
- Compact Context: pressonify.ai/llms.txt
- Extended Context: pressonify.ai/llms-full.txt
- OKF Index: pressonify.ai/okf/index.md
- JSON Feed: pressonify.ai/feed.json
Implementation Checklist
Ready to implement ADP v3.0 on your site? Here's the checklist:
Week 1: Foundation
- [ ] Create /.well-known/ai.json manifest
- [ ] Create /.well-known/security.txt
- [ ] Update robots.txt to allow AI crawlers (GPTBot, PerplexityBot, Claude-Web)
- [ ] Create /ai-discovery.json meta-index
- [ ] Add HTTP headers to all endpoints (ETag, Content-Digest, CORS)
Week 2: Content Endpoints
- [ ] Create /llms.txt (1,000-2,000 tokens)
- [ ] Create /llms-full.txt (10,000-50,000 tokens)
- [ ] Create /llms-lite.txt (100-500 tokens)
- [ ] Set up /feed.json (JSON Feed v1.1)
- [ ] Set up /updates.json (delta feed)
Week 3: Knowledge Graph
- [ ] Create /knowledge-graph.json with Schema.org entities
- [ ] Add Organization entity for your company
- [ ] Add Person entities for key team members
- [ ] Add NewsArticle entities for press releases
- [ ] Add Product entities for products/services
Week 4: Monitoring and Optimization
- [ ] Set up AI crawler monitoring (server logs)
- [ ] Create /ai-sitemap.xml with AI extensions
- [ ] Integrate IndexNow for instant notification
- [ ] Test all endpoints with curl/Postman
- [ ] Validate Schema.org markup with Google Rich Results Test
Frequently Asked Questions
What is the AI Discovery Protocol (ADP)?
The AI Discovery Protocol is an emerging standard for making web content machine-readable to AI crawlers like GPTBot (OpenAI), PerplexityBot, and Claude-Web. ADP 2.1 defined a set of dedicated endpoints, HTTP headers, and structured data formats that help AI systems efficiently crawl, understand, and cite your content; ADP v3.0 added Markdown mirrors. Unlike traditional SEO which focuses on human-readable content, ADP focuses on machine-readable structured data.
What endpoints did ADP 2.1 define?
The ADP 2.1 specification defined 11 endpoints: (1) /.well-known/ai.json (ADP manifest with capabilities), (2) /.well-known/security.txt (security contact), (3) /robots.txt (crawler permissions), (4) /ai-discovery.json (meta-index with statistics), (5) /knowledge-graph.json (Schema.org entities), (6) /llms.txt (compact context, 1,000-2,000 tokens), (7) /llms-full.txt (extended context, 10,000-50,000 tokens), (8) /llms-lite.txt (minimal context, 100-500 tokens), (9) /feed.json (JSON Feed v1.1), (10) /updates.json (delta feed), (11) /ai-sitemap.xml (AI-optimized sitemap). The live set evolves, so check our llms.txt for the current list.
What is llms.txt and why does it matter?
llms.txt is a machine-readable file (similar to robots.txt but for AI context) that provides structured information about your site optimized for LLM token consumption. It includes company overview, products/services, key statistics, and navigation links, all formatted for efficient AI parsing. A compact llms.txt aims for roughly 1,000-2,000 tokens, while llms-full.txt carries the extended context. AI systems use these files to quickly understand your site without parsing complex HTML.
What HTTP headers should ADP endpoints include?
ADP endpoints should include five key HTTP headers: (1) ETag for cache validation (allows 304 Not Modified responses), (2) Content-Digest with sha-256 hash for integrity verification, (3) X-Update-Frequency (hourly/daily/weekly) as a scheduling hint for crawlers, (4) Access-Control-Allow-Origin: * for CORS compatibility with AI tools, and (5) Cache-Control for CDN and crawler caching. These headers help AI crawlers efficiently detect changes and verify content integrity.
How do AI crawlers identify themselves?
Major AI crawlers use distinct user-agent strings: GPTBot (OpenAI/ChatGPT), ChatGPT-User (ChatGPT browsing), PerplexityBot (Perplexity AI), Claude-Web (Anthropic Claude), Google-Extended (Google Gemini/AI Overviews), and CCBot (Common Crawl training data). Your robots.txt should explicitly allow these crawlers (except CCBot if you don't want training data contribution). Monitor server logs for these user-agents to track AI crawler activity.
How does Pressonify implement ADP v3.0?
Pressonify runs the ADP endpoints site-wide, and every published press release is added to them automatically. Each PR is added to the knowledge graph (/knowledge-graph.json), included in the JSON feed (/feed.json), and integrated into the extended context file (/llms-full.txt). HTTP security headers (ETag, Content-Digest, X-Update-Frequency) are generated automatically for all endpoints. IndexNow integration ensures instant notification to AI crawlers. View live examples at pressonify.ai/.well-known/ai.json and pressonify.ai/llms.txt.
Conclusion: ADP v3.0 Is the Foundation of AI Discoverability
Machine-readable discovery infrastructure is quickly becoming table stakes. As more research moves into AI answer engines, sites that give crawlers clean, structured context make themselves easier for ChatGPT, Perplexity, and Claude to find and quote.
The good news: Pressonify handles all of this automatically.
Every press release published on Pressonify includes:
- ✅ A permanent page with Schema.org JSON-LD (NewsArticle, Organization, FAQPage, BreadcrumbList)
- ✅ Inclusion in llms.txt, RSS, JSON Feed, sitemap, and knowledge graph
- ✅ HTTP headers (ETag, Content-Digest, CORS) on the discovery endpoints
- ✅ IndexNow pings and WebSub push
- ✅ AI citation tracking after publishing
Time to implement manually: 4-6 weeks, requires technical expertise
Time with Pressonify: minutes, no technical knowledge needed (€49.95 per release, €9.95 for your company's first)
Try the AI press release generator | View our live ADP endpoints
Related Posts in the Citation Economy Series
This is Part 4 of 6 in the Citation Economy 2026 series:
- The 96% Rule: Why PR is the Front Door to AI Discovery
- From SEO to GEO: Complete 2026 Guide
- Citation Economy Playbook: 7 Tactics
- ADP v3.0 Decoded: The Technical Standard (you are here)
- Why 80% of AI Companies Can't Get Cited
- Dual-Track PR Strategy: Google + ChatGPT
Published: December 28, 2025 | Series: Citation Economy 2026 (Part 4/6) | Read Time: 16 min
This post implements the ADP v3.0 standard it describes. View source to see Schema.org markup. Test our live endpoints at pressonify.ai/.well-known/ai.json.