FAQ Schema — Copy-Paste Template
Place this code inside the <head> section of any page that contains questions and answers. Replace the example questions and answers with your own content. You can add as many question-answer pairs as you need.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is Answer Engine Optimization?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer Engine Optimization (AEO) is the practice of structuring your content so it gets selected by AI search engines, voice assistants, and featured snippets as the direct answer to user questions."
}
},
{
"@type": "Question",
"name": "How do I add FAQ schema to my website?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Copy the JSON-LD code block, replace the questions and answers with your own content, and paste it inside the head section of your HTML page. No coding skills required."
}
},
{
"@type": "Question",
"name": "Your third question goes here?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your third answer goes here. Write a clear, complete answer in 1-3 sentences."
}
}
]
}
</script>
- Each question-answer pair is a separate object inside the "mainEntity" array
- The "name" field is the question — write it exactly as someone would search for it
- The "text" field is the answer — keep it concise, factual, and self-contained
- You can add 3, 5, 10, or more questions — there is no hard limit
- Test your markup at search.google.com/test/rich-results after adding it
HowTo Schema — Copy-Paste Template
Use this template for any page with step-by-step instructions. Replace the example steps with your own. Each step needs a name (short title) and a text (detailed description of what to do).
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Add Structured Data to Your Website",
"description": "A step-by-step guide for adding JSON-LD structured data to any webpage for better AEO results.",
"totalTime": "PT15M",
"step": [
{
"@type": "HowToStep",
"name": "Choose Your Schema Type",
"text": "Decide whether your content is a FAQ, a how-to guide, or an article. Pick the schema type that matches your content format.",
"url": "https://yoursite.com/page#step1"
},
{
"@type": "HowToStep",
"name": "Copy the JSON-LD Template",
"text": "Copy the appropriate JSON-LD code template from BeginnerAEO.com. Each template includes the required fields and proper formatting.",
"url": "https://yoursite.com/page#step2"
},
{
"@type": "HowToStep",
"name": "Replace Placeholder Content",
"text": "Replace all placeholder text with your own content. Update the name, description, and each step to match your actual instructions.",
"url": "https://yoursite.com/page#step3"
},
{
"@type": "HowToStep",
"name": "Paste Into Your HTML Head",
"text": "Open your HTML file and paste the completed JSON-LD script tag inside the head section, before the closing head tag.",
"url": "https://yoursite.com/page#step4"
},
{
"@type": "HowToStep",
"name": "Test With Rich Results Tool",
"text": "Go to search.google.com/test/rich-results and enter your page URL. Verify that Google detects your schema and reports no errors.",
"url": "https://yoursite.com/page#step5"
}
]
}
</script>
- The "name" at the top should describe the overall task — start with "How to"
- "totalTime" uses ISO 8601 duration format — PT15M means 15 minutes, PT1H means 1 hour
- Each step's "name" is a short label and "text" is the detailed instruction
- The "url" field in each step is optional but recommended — point it to an anchor on your page
- Voice assistants can read your steps aloud, so write them in clear, spoken-language style
Article Schema — Copy-Paste Template
Add this to every blog post, guide, or tutorial page. Replace all placeholder values with your actual content details. The speakable section tells voice assistants which parts of your page to read aloud.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title Goes Here",
"description": "A brief 1-2 sentence summary of what this article covers.",
"url": "https://yoursite.com/your-article-slug",
"image": "https://yoursite.com/your-featured-image.png",
"author": {
"@type": "Person",
"name": "Your Name",
"url": "https://yoursite.com/about"
},
"publisher": {
"@type": "Organization",
"name": "Your Site Name",
"url": "https://yoursite.com",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-01-15",
"dateModified": "2026-03-01",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://yoursite.com/your-article-slug"
},
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": ["h1", ".article-intro", "h2"]
}
}
</script>
- "headline" should match your page's H1 tag exactly
- "datePublished" and "dateModified" use YYYY-MM-DD format — update "dateModified" whenever you edit the article
- The "author" can be a Person or an Organization — use whichever applies
- "speakable" tells voice assistants which CSS selectors contain the most important content to read aloud
- Always include a real "image" URL — articles with images perform better in AI-generated results