Appearance
File Structures and Schemas Fresh
File Structure Reference
Level 1 (Crawl-Ready)
website.com/
├── robots.txt # Block AI from main site
├── sitemap.xml # Standard sitemap
├── ai-discovery/
│ └── index.html # AI Discovery Page
└── [pages with Schema.org markup]Level 2 (Ingest-Ready)
website.com/
├── robots.txt
├── sitemap.xml
├── .well-known/
│ └── llm-index.json # Primary AI index
├── ai-discovery/
│ └── index.html
└── [pages with Schema.org markup]
ai.website.com/
├── robots.txt # Allow AI crawlers
├── sitemap.xml
├── llms.txt # Plain-text manifest
├── .well-known/
│ └── llm-index.json
├── entities.json
├── knowledge-graph.json
└── [AI-optimized pages]Level 3 (Agent-Ready)
Adds to Level 2:
.well-known/
└── llm-index.json # Now includes actions with endpoints
api/
└── availability.json # Real-time agent endpointsllm-index.json Complete Schema
Root Properties
| Property | Type | Level Required | Description |
|---|---|---|---|
@context | Array | 2+ | MUST include "https://schema.org" and "https://llmld.org/v1" |
@type | String | 2+ | MUST be "llmld:AIWebsite" |
@id | URL | 2+ | Canonical URL of this file |
llmld:meta | Object | 2+ | Document metadata |
llmld:site | Object | 2+ | Site identity |
llmld:primaryEntity | Object | 2+ | Main entity reference |
llmld:summary | Object | 2+ | Condensed overview for AI |
llmld:pages | Array | 2+ | Structured sitemap |
llmld:actions | Object | 3 req / 2 rec | Available actions |
llmld:contact | Object | 2+ | Contact information |
llmld:products | Array | Optional | Products/software |
llmld:services | Array | Optional | Services offered |
llmld:people | Array | Optional | Team members |
llmld:locations | Array | Optional | Physical locations |
llmld:faq | Array | Optional | FAQs |
llmld:verification | Object | Optional | Verification status |
llmld:pointers | Object | Optional | Links to Layer 2 files |
llmld:meta Properties
| Property | Type | Required | Description |
|---|---|---|---|
version | String | Yes | "1.0" |
generated | ISO 8601 | Yes | Timestamp of generation |
generator | String | No | Software used |
expires | ISO 8601 | No | When data becomes stale |
refresh_interval | String | No | "daily", "weekly", "monthly" |
language | String | No | BCP 47 code (e.g., "en-US") |
llmld:site Properties
| Property | Type | Required | Description |
|---|---|---|---|
name | String | Yes | Organization name |
type | String | Yes | "Business", "NonProfit", "Government" |
description | String | Yes | 1-2 sentence description |
domains.primary | URL | Yes | Main website URL |
domains.ai | URL | No | AI subdomain |
location.headquarters | Object | No | Physical HQ address |
location.service_area | String | No | Geographic service area |
llmld:summary Properties
| Property | Type | Required | Description |
|---|---|---|---|
one_liner | String | Yes | Single sentence description |
paragraph | String | Yes | 2-4 sentence overview |
key_facts | Array | Yes | 3-10 bullet facts |
differentiators | Array | No | What makes you unique |
target_customers | Array | No | Ideal customer descriptions |
llmld:actions Structure
json
{
"llmld:actions": {
"primary": [
{
"id": "string (unique)",
"name": "string",
"description": "string (optional)",
"url": "URL",
"type": "signup | purchase | schedule | form | contact | navigate | download | api",
"priority": 1,
"requires_auth": false
}
],
"purchase": [...],
"contact": [
{
"id": "string",
"name": "string",
"type": "contact",
"channels": [
{
"type": "email | phone | chat | form",
"value": "string",
"label": "string",
"hours": "string (optional)"
}
]
}
],
"resources": [...]
}
}llmld:pages Object
| Property | Type | Required | Description |
|---|---|---|---|
path | String | Yes | URL path (e.g., "/about") |
title | String | Yes | Page title |
type | String | Yes | Page type (see below) |
url | URL | Yes | Full page URL |
schemas | Array | No | Schema.org types on this page |
entity | String | No | Reference to entity in this doc |
Page types: homepage, about, product, service, listing, article, person, contact, pricing, faq, legal, other
ADP JSON-LD Schema
json
{
"@context": ["https://schema.org", "https://llmld.org/v1"],
"@type": "llmld:DiscoveryPage",
"@id": "https://example.com/ai-discovery",
"name": "Company -- AI Discovery",
"description": "AI layer discovery hub.",
"dateModified": "ISO 8601",
"isPartOf": {
"@type": "WebSite",
"name": "Company",
"url": "https://example.com"
},
"llmld:aiLayer": {
"url": "https://ai.example.com",
"name": "Company AI Layer",
"description": "Machine-readable content."
},
"llmld:resources": [
{
"@type": "llmld:AIResource",
"identifier": "llm-index",
"name": "LLM-LD Index",
"url": "URL",
"encodingFormat": "application/json",
"description": "string",
"category": "index | manifest | sitemap | entities | knowledge-graph | feed | schema | other",
"priority": 1
}
]
}llms.txt Section Reference
| Section | Required | Description |
|---|---|---|
| H1 + Header Block | Yes | Site name + Version, Last-Updated, Canonical-Site |
| PURPOSE | Yes | What AI use cases this file supports |
| CANONICAL AUTHORITY | Yes | Single authoritative URL |
| START HERE (CRAWLING GUIDANCE) | Yes | Ordered list of resources to fetch |
| ABOUT | Recommended | 2-4 sentence narrative |
| PRODUCTS & SERVICES | Recommended | List with links |
| ENTITY STATS | Recommended | Quantitative summary |
| KEY FACTS | Optional | Differentiator bullets |
| ACTIONS | Optional | Conversion action links |
| FAQ | Optional | 3-5 questions max |
| VERIFICATION | Optional | LLM Disco verification status |
| CONTACT | Yes | Name + at least one contact method |
| EOF | Yes | File terminator |
Schema.org Types Quick Reference
| Business Type | Schema.org @type |
|---|---|
| General business | Organization |
| Physical location | LocalBusiness |
| Dental office | Dentist |
| Restaurant | Restaurant |
| Real estate agent | RealEstateAgent |
| Lawyer | LegalService |
| Doctor | Physician |
| Hotel | Hotel |
| Software product | SoftwareApplication |
| Physical product | Product |
| Service | Service |
robots.txt AI Crawler User-Agents
Block on Main Site (Allow /ai-discovery)
User-agent: GPTBot
Allow: /ai-discovery
Disallow: /
User-agent: ClaudeBot
Allow: /ai-discovery
Disallow: /
User-agent: PerplexityBot
Allow: /ai-discovery
Disallow: /
User-agent: anthropic-ai
Allow: /ai-discovery
Disallow: /
User-agent: Google-Extended
Allow: /ai-discovery
Disallow: /Allow on AI Subdomain
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Googlebot
Disallow: /HTTP Headers for AI Files
llms.txt
Content-Type: text/plain; charset=utf-8
Cache-Control: public, max-age=86400
Access-Control-Allow-Origin: *llm-index.json
Content-Type: application/json; charset=utf-8
Cache-Control: public, max-age=3600
Access-Control-Allow-Origin: *AI Discovery Page
Content-Type: text/html; charset=utf-8
Cache-Control: public, max-age=3600
Access-Control-Allow-Origin: *