FAQ Page Profile

Interaction Category • Version v1

Frequently asked questions pages

✅ Best Practices

  • Use schema:Question with schema:acceptedAnswer.
  • Keep each Q/A self-contained and non-duplicative.
  • Link each question to a stable anchor (#question-id).
  • Prefer plain text in acceptedAnswer.text; add details via acceptedAnswer.url.
  • Include inLanguage at page or Question level.

❌ Avoid These

  • Do not use for forum threads or comment discussions.
  • Do not mix product offers or terms of service content into FAQ.
  • Do not mark every header as a Question if no direct answer follows.

📄 Profile Definition

JSON-LD profile definition with all properties and constraints

JSON-LD ~2KB

🔧 Page Schema

JSON Schema for validating page markup and on-page structured data

JSON Schema ~3KB

📊 Output Schema

JSON Schema for RAG/ML output validation and data extraction

JSON Schema ~4KB

🎓 Training Data

Sample training data in JSONL format for fine-tuning LLMs

JSONL ~5KB

Implementation Examples

Learn how to implement this profile with real-world examples:

Minimal Example

Basic implementation with required properties only

View Example

Rich Example

Full-featured implementation with all optional properties

View Example

Basic Implementation

<script type="application/ld+json">
{
  "@context": "https://llmprofiles.org/profiles/interaction/faqpage/v1/",
  "@type": "FAQPage",
  "name": "Example FAQ Page",
  "description": "This is an example FAQ Page implementation."
}
</script>

Schema Information

This profile is based on Schema.org FAQPage and extends it with LLM-specific properties and constraints.

Key Properties:

  • @context: Profile context URL
  • @type: FAQPage
  • name: Required name/title
  • description: Required description

Validation Tools

Use these tools to validate your implementation: