JSON-LD Code Examples: 5 Copy-Paste Structured Data Templates
How to Use This Guide
This article provides copy-paste JSON-LD code for the 5 most common structured data types. Replace the placeholder text ("Your ...") with your actual content and you're done.
For background on structured data concepts, see our structured data guide first.
1. Article (Blog Posts & News)
The most common schema for blog content. Enables Google rich results like article carousels.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"description": "Your article description",
"image": "https://example.com/images/article-image.jpg",
"datePublished": "2026-03-25",
"dateModified": "2026-03-25",
"author": {
"@type": "Person",
"name": "Your Name",
"url": "https://example.com/about"
},
"publisher": {
"@type": "Organization",
"name": "Your Site Name",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/your-article"
},
"inLanguage": "en"
}
</script>
Required: headline, datePublished, author
Tips:
- Update
dateModifiedwhen you revise the article — this signals content freshness - Including
urlin the author object strengthens E-E-A-T signals - AI search engines use
datePublishedto evaluate information currency
2. FAQPage (Frequently Asked Questions)
For FAQ sections. Google can display questions and answers directly in search results. Also highly effective for GEO optimization — AI search engines prefer Q&A structures.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Your first question here",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your answer to the first question"
}
},
{
"@type": "Question",
"name": "Your second question here",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your answer to the second question"
}
},
{
"@type": "Question",
"name": "Your third question here",
"acceptedAnswer": {
"@type": "Answer",
"text": "Your answer to the third question"
}
}
]
}
</script>
Tips:
- Content must match the visible FAQ on the page. Mismatches violate Google's guidelines
- Add as many Q&A pairs as needed
- AI search engines prioritize FAQ structures as information sources for answer generation
3. HowTo (Step-by-Step Guides)
For instructional content. Google may display steps as a rich result in search.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Your Guide Title",
"description": "Brief description of what this guide covers",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Step 1 title",
"text": "Detailed description of step 1"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Step 2 title",
"text": "Detailed description of step 2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Step 3 title",
"text": "Detailed description of step 3"
}
]
}
</script>
Tips:
- Use
positionto make the order explicit - Each step can optionally include
imageorurl - AI search tends to cite step-by-step structures sequentially
4. BreadcrumbList (Site Navigation)
Communicates your site hierarchy to Google. Search results show breadcrumb paths instead of raw URLs.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Current Page Title"
}
]
}
</script>
Tips:
- The last item (current page) can omit the
itemURL - Keep it consistent with your visible breadcrumb navigation
- One of the most universally useful structured data types
5. Organization (Business Info)
Place once across your site for organization-level information. Can power Google's Knowledge Panel.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Organization Name",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"description": "Your organization description",
"sameAs": [
"https://twitter.com/yourhandle",
"https://github.com/yourhandle"
],
"contactPoint": {
"@type": "ContactPoint",
"email": "contact@example.com",
"contactType": "customer support"
}
}
</script>
Tips:
- Place in your site layout (shared across all pages) or on the homepage
sameAslinks to social profiles strengthen E-E-A-T- AI search uses Organization data to evaluate source credibility
Rich Results Compatibility
| Schema Type | Google Rich Result | AI Search Effect |
|---|---|---|
| Article | Article carousel | Author/date info for citations |
| FAQPage | FAQ accordion | Direct Q&A citations |
| HowTo | Step display | Sequential step citations |
| BreadcrumbList | URL breadcrumbs | Site structure understanding |
| Organization | Knowledge panel | Source credibility signals |
How to Validate
Google Rich Results Test
Use Google Rich Results Test to check if your structured data is valid and eligible for rich results.
IndexReady
IndexReady automatically checks structured data presence, schema types, and Google-recommended type usage as part of its GEO scoring. More schema types implemented = higher score.
Frequently Asked Questions (FAQ)
Can I put multiple JSON-LD blocks on one page?
Yes. Combining Article + BreadcrumbList + FAQPage on the same page is common practice. You can also merge them into a single <script> tag using @graph.
Where should JSON-LD be placed in HTML?
Either <head> or <body> works. Google processes both identically. Placing it in <head> is more common for maintainability.
Will structured data directly improve my search rankings?
Structured data is not a direct ranking factor. However, rich results increase CTR (click-through rate), which can indirectly improve rankings. It also increases your chances of being cited by AI search engines.
Can I add structured data to an existing site?
Yes, you can add it at any time. Google will recognize it on the next crawl (typically within a few days to two weeks). Use Google Search Console's "URL Inspection" to request a re-crawl.