Structured Data
Structured Data JSON-LD Examples for SEO and GEO
Practical JSON-LD examples for Article, WebPage, Organization, WebSite, and BreadcrumbList schema on a technical content site.
Structured data is a labeling system. It helps machines understand the page type, publisher, dates, breadcrumbs, and relationships. It does not replace visible content quality. The markup should describe what a reader can already verify on the page.
When structured data helps
For SEO, structured data clarifies page identity and hierarchy. For GEO, it can reinforce entity consistency: who published the page, what the headline is, when the article was updated, and which URL is the main page.
| Schema type | Use it for | Avoid when |
|---|---|---|
| Organization | The publisher entity. | The site has no visible publisher information. |
| WebSite | The site as a whole. | You are marking up a single article as the entire website. |
| WebPage | Hub pages, policy pages, and general pages. | The page is better described as an Article. |
| Article | Editorial articles with headline, date, author, and body content. | The page is a tool, product, or empty category. |
| BreadcrumbList | Visible or logical page hierarchy. | The breadcrumb path does not match site structure. |
Organization and WebSite graph
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Example Tech Library",
"url": "https://example.com/",
"email": "[email protected]"
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"name": "Example Tech Library",
"publisher": {
"@id": "https://example.com/#organization"
},
"inLanguage": "en-US"
}
]
}
</script>
Article JSON-LD example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://example.com/articles/technical-seo-checklist/#article",
"headline": "Technical SEO Implementation Checklist",
"description": "A practical checklist for metadata, URLs, internal links, schema, robots.txt, sitemap output, rendering, and performance.",
"datePublished": "2026-05-30",
"dateModified": "2026-05-30",
"author": {
"@type": "Organization",
"name": "Example Tech Library"
},
"publisher": {
"@id": "https://example.com/#organization"
},
"mainEntityOfPage": "https://example.com/articles/technical-seo-checklist/",
"image": "https://example.com/assets/technical-seo-checklist.jpg",
"articleSection": "Technical SEO",
"inLanguage": "en-US"
}
</script>
BreadcrumbList JSON-LD example
<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": "Articles",
"item": "https://example.com/articles/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Technical SEO Implementation Checklist",
"item": "https://example.com/articles/technical-seo-checklist/"
}
]
}
</script>
Markup should match visible content
If an article has no visible FAQ section, do not add FAQ schema. If a page has no real reviews, do not add Review markup. If a guide is not a product, do not use Product schema. Structured data is strongest when it mirrors the page honestly.
Validation checklist
- JSON parses without syntax errors.
- Dates match visible article dates.
- Canonical URL and mainEntityOfPage match.
- Author or publisher is visible somewhere on the site.
- Breadcrumb order matches the URL hierarchy.
- No schema type claims content that is not present.
Pair visible HTML with the JSON-LD
Structured data is easiest to keep honest when the visible page contains the same facts. If the JSON-LD names an author, modified date, breadcrumb, or image, make sure the reader can find those facts on the page or in the surrounding site context.
<article>
<p class="meta">Structured Data · 2026-05-31 · SeoGeo Tech Editorial Team</p>
<h1>Structured Data JSON-LD Examples for SEO and GEO</h1>
<p>Practical JSON-LD examples for Article, WebPage, Organization, WebSite, and BreadcrumbList schema.</p>
</article>
WordPress implementation notes
On WordPress, structured data is often generated by an SEO plugin. That is fine, but verify the output after publishing. Common issues include every article using the site logo as the Article image, the public author being admin, and pages being marked as articles even when they are policy or utility pages.
- Set a featured image for articles that need article images.
- Use a real public author or editorial team name.
- Keep Organization details consistent with the About and Contact pages.
- Do not add a second conflicting JSON-LD graph unless you control both outputs.
Static site implementation notes
On a static site, generate JSON-LD from the same content record that renders the page. This keeps the title, description, dates, image, canonical URL, and breadcrumb path synchronized.
function articleSchema(article) {
return {
"@context": "https://schema.org",
"@type": "Article",
headline: article.title,
description: article.description,
datePublished: article.date,
dateModified: article.updated || article.date,
author: { "@type": "Organization", name: "Example Tech Library" },
mainEntityOfPage: "https://example.com/articles/" + article.slug + "/"
};
}
References
Common validation errors
Many structured data errors are simple mismatches between the page and the markup. Fix the page facts first, then regenerate the JSON-LD.
| Error | Why it happens | Fix |
|---|---|---|
| Article image is the logo. | No featured image or default social image is configured. | Set a representative image for the article. |
| Author is admin. | The CMS user display name was never changed. | Use a public editorial team or named author. |
| FAQ schema without visible FAQ. | Schema was added from a template, not page content. | Remove the schema or add a real visible FAQ. |
| Breadcrumb mismatch. | URL hierarchy and breadcrumb labels drifted apart. | Generate breadcrumbs from the same routing map. |
Rich result expectations
Structured data makes page facts clearer, but it does not guarantee a special search display. Treat schema as an accuracy layer: it should make the page easier to understand and validate even when no rich result appears.
Practical rollout notes
Use this guide when the visible article facts are stable and you want machines to read those facts consistently. Schema should be generated from the content record, not invented after the page is written.
Acceptance criteria
Page: Structured Data JSON-LD Examples for SEO and GEO
Reader task: clear in the introduction
Implementation proof: examples, tables, commands, or checklist present
Trust proof: dates, author or publisher context, and source links where needed
Maintenance proof: revisit trigger documented
- Article image, author, headline, dates, and canonical URL match the visible page.
- Breadcrumb labels match the URL hierarchy.
- No hidden FAQ, Review, Product, or HowTo data is marked up.
- The JSON-LD parses and does not duplicate another plugin’s graph with conflicting facts.
When to revisit
Revisit when author names, organization branding, featured images, or breadcrumb structure changes across the site.

