schema-for-ai
Copy-paste JSON-LD templates tuned for how AI assistants extract and cite information. Structured data helps ChatGPT, Perplexity, Gemini, and Google AI resolve what your product is and pull clean facts into answers — instead of guessing from raw HTML.
- Ready-to-edit templates for the schema types that matter most for AEO.
- A tiny
validate.py(stdlib only) to sanity-check your JSON-LD. - Notes on why each one helps AI extraction.
Drop a template in a <script type="application/ld+json">…</script> tag in your
page <head>, replace the {{placeholders}}, and validate.
Why structured data helps AI answers
LLM answers lean heavily on entities (is "Acme" a company? a product? which
one?) and on extractable facts (price, category, FAQ answers). JSON-LD states
those explicitly and unambiguously, which makes you easier to identify, trust, and
quote. Pair it with a clean llms.txt (see our
llms-txt-generator).
Validate
python validate.py mypage.jsonld
Checks valid JSON, the presence of @context/@type, and warns about missing
recommended fields for common types.
Templates
Organization
Establishes the entity. Put it on your homepage.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "{{Company Name}}",
"url": "https://{{domain}}",
"logo": "https://{{domain}}/logo.png",
"description": "{{One sentence on what you do and for whom}}",
"sameAs": [
"https://www.linkedin.com/company/{{handle}}",
"https://x.com/{{handle}}",
"https://www.crunchbase.com/organization/{{handle}}"
]
}
SoftwareApplication / Product
For a tool or product page — gives AI the category, price, and ratings.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "{{Product Name}}",
"applicationCategory": "{{e.g. DeveloperApplication}}",
"operatingSystem": "{{e.g. Web, macOS, Linux}}",
"description": "{{What it does, for whom, key differentiator}}",
"offers": {
"@type": "Offer",
"price": "{{0.00}}",
"priceCurrency": "{{USD}}"
}
}
FAQPage
AI loves FAQs — short Q/A pairs are highly extractable. Mark up real questions buyers ask.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "{{A real question a buyer asks}}",
"acceptedAnswer": {
"@type": "Answer",
"text": "{{A clear, self-contained answer in 1–3 sentences}}"
}
}
]
}
Article / BlogPosting
For blog posts — author, date, and headline help AI attribute and cite you.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "{{Post title}}",
"datePublished": "{{2026-01-01}}",
"author": { "@type": "Person", "name": "{{Author}}" },
"publisher": { "@type": "Organization", "name": "{{Company Name}}" },
"description": "{{One-line summary}}"
}
BreadcrumbList
Helps AI understand your site structure and the page's place in it.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://{{domain}}/" },
{ "@type": "ListItem", "position": 2, "name": "{{Section}}", "item": "https://{{domain}}/{{section}}/" }
]
}
Tips
- One entity per page; keep
name/descriptionconsistent everywhere (consistency is an entity signal). - Put real, useful FAQ answers — don't keyword-stuff. AI (and Google) penalize it.
- Validate before shipping; a broken JSON-LD block is ignored entirely.
License
MIT © Clear Cited
Built by Clear Cited — AEO/GEO for B2B SaaS & developer tools. See if AI recommends your product →
Metadata
Release files for schema-for-ai 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| schema_for_ai-0.1.0.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schema_for_ai-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.0 kB
Release files / schema_for_ai-0.1.0.tar.gz
| Download URL | schema_for_ai-0.1.0.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5af430440164b146c1444022c18511a30290487f05360a1af7ac32f8df1e0e81
|
|
BLAKE2b-256 checksum How to use checksums |
ac66d298e20ac60319e2cd0362887189101631a045fe6f06c87a78f4645ef0db
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / schema_for_ai-0.1.0-py3-none-any.whl
| Download URL | schema_for_ai-0.1.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e27e727278dd84a08fc793cf123e2ca1254d16c3e2196b21f26b7a1b3ec03b3d
|
|
BLAKE2b-256 checksum How to use checksums |
a4c2464b057a656b12d172b615a92026e30e9178898f1c0594dc253e8e2db9c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log