Free Structured Data & Schema.org Validator
Validate your page's JSON-LD, Microdata, and RDFa structured data. Check Schema.org types, required properties, and get AI readability recommendations.
Why Structured Data Matters
Structured data is the machine-readable layer that AI systems rely on to understand your brand, products, and content. Well-implemented schema markup improves AI visibility, earns rich results, and ensures accurate brand representation.
Why It Matters for AI
- AI models use structured data to verify and cite your brand
- Schema markup enables rich results in Google and Bing
- Missing schemas lead to inaccurate AI-generated descriptions
What We Check
- JSON-LD, Microdata, and RDFa extraction
- Schema.org type validation and property checks
- Required and recommended property coverage
Frequently Asked Questions
Structured data is machine-readable code (like JSON-LD) added to your HTML that helps search engines and AI models understand your content. It uses the Schema.org vocabulary to describe entities like organizations, products, articles, and events. AI systems like ChatGPT, Claude, and Google Gemini heavily rely on structured data to accurately represent your brand and content in their responses.
JSON-LD (JavaScript Object Notation for Linked Data) is a script-based format that sits in your page's <head> section. Microdata uses HTML attributes (itemscope, itemtype, itemprop) inline with your content. RDFa uses attributes like typeof and property. JSON-LD is the recommended format by Google because it's easier to implement, maintain, and doesn't require changes to your HTML structure.
At minimum, every website should have an Organization or LocalBusiness schema with your name and URL. Beyond that, add schemas that match your content: Article or BlogPosting for blog posts, Product for e-commerce, FAQPage for FAQ sections, BreadcrumbList for navigation, and Event for events. The more accurately you describe your content, the better AI models can represent it.
Required properties are the minimum fields needed for a schema type to be valid and useful β for example, an Organization needs "name" and "url". Recommended properties are optional but improve richness β like "logo", "sameAs", and "contactPoint" for Organization. Adding recommended properties increases the chances of earning rich results in search and better representation in AI responses.
AI models use structured data to understand entity relationships, verify factual claims, and provide accurate citations. When your site has well-structured schema markup, AI assistants are more likely to mention your brand correctly, display accurate business information, and link to your content. Missing or incorrect structured data can lead to AI models misrepresenting your business.
Yes. GeoVector's Structured Data Checker is completely free with no sign-up required. You can scan any URL and get instant results with actionable fix recommendations. For site-wide audits and ongoing monitoring, GeoVector offers premium plans.
JSON-LD, Microdata, and RDFa
Three ways to express the same Schema.org vocabulary. This tool parses all three; if you are starting fresh, use JSON-LD.
| Format | Where it lives | Trade-off |
|---|---|---|
| JSON-LD | A <script type="application/ld+json"> block, usually in the head | Separate from the visible markup, so a template change cannot silently break it. This is what Google recommends and what most sites now ship. |
| Microdata | itemscope, itemtype, and itemprop attributes on existing HTML | Annotates markup you already have, which keeps data and display in sync β and couples them, so a redesign can drop properties. |
| RDFa | vocab, typeof, and property attributes on existing HTML | Same trade-off as Microdata, with a syntax that comes from the linked-data world. Rare on new builds. |
Properties this checker looks for
Missing a required property is reported as an error, a recommended one as a warning. The list mirrors what Google needs for the matching rich result.
| Type | Required by this checker | Recommended |
|---|---|---|
Organization | β | logo, sameAs, contactPoint |
LocalBusiness | name, address | telephone, openingHours, geo |
Product | name | description, offers, image, brand |
Article | β | headline, author, datePublished, image, publisher |
FAQPage | mainEntity | β |
BreadcrumbList | itemListElement | β |
WebSite | name, url | β |
Event | name, startDate | β |
HowTo | name, step | β |
VideoObject | name, uploadDate | β |
Person | name | β |
Templates you can paste
Drop these in the head, change the values, and re-scan.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Analytics",
"url": "https://example.com",
"logo": "https://example.com/logo.png",
"sameAs": [
"https://www.linkedin.com/company/example",
"https://github.com/example"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@example.com"
}
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How long does a scan take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A single page is usually checked in under ten seconds."
}
}
]
}
</script>{
"@context": "https://schema.org",
"@type": "Product",
"name": "Example Widget",
"offers": {
"price": "49.00",
"priceCurrency": "USD"
},
}The trailing comma after the offers object makes the whole block unparseable, so every type on the page is lost, not just this one. The offers object is also missing its own "@type": "Offer", which leaves the price unattached to anything. Both are silent in a browser and both are caught by a scan.
Sources and specifications
Everything on this page is checked against the primary documentation below. If a vendor changes a rule, that is where it shows up first.
- Getting started with Schema.org β Schema.org
- Intro to how structured data markup works β Google Search Central
- Structured data general guidelines β Google Search Central
- JSON-LD 1.1 specification β W3C
Last reviewed . We re-check this page against the source specifications whenever a vendor updates one.