Why Type Selection Matters
Schema markup is the bridge between your content and search engine understanding. While search engines can infer meaning from text, structured data removes all ambiguity. It tells Google exactly what type of entity your page is about, what properties it has, and how it relates to other entities.
In 2026, schema markup is no longer optional. Google uses it to generate rich results, knowledge panels, product carousels, FAQ dropdowns, and AI Overview citations. Pages with well-implemented structured data consistently outperform pages without it.
The key is using the right entity type for each page. A product page needs Product schema, not Article. A local business needs LocalBusiness, not Organization. Using the wrong type means Google cannot generate the correct rich results for your content, no matter how well you implement the markup.
Schema Markup Comparison
The 22 Entity Types & Schema Markup Checks
Every check ranked by impact. Start at the top and work down.
| # | Check | Category | Impact | Difficulty |
|---|---|---|---|---|
| 1 | Implement Organization schema sitewide | Core | Critical | Easy |
| 2 | Add WebSite schema with SearchAction | Core | Critical | Easy |
| 3 | Implement BreadcrumbList on all pages | Navigation | Critical | Easy |
| 4 | Use Article schema for blog posts | Content | Critical | Easy |
| 5 | Use Product schema for e-commerce pages | E-Commerce | Critical | Medium |
| 6 | Use LocalBusiness schema for local pages | Local | Critical | Medium |
| 7 | Add Person schema for author pages | E-E-A-T | High | Easy |
| 8 | Implement FAQPage schema for FAQ sections | Rich Results | High | Easy |
| 9 | Add HowTo schema for tutorial content | Rich Results | High | Medium |
| 10 | Use Service schema for service pages | Business | High | Medium |
| 11 | Implement Event schema for events | Events | High | Medium |
| 12 | Add VideoObject schema for embedded videos | Media | High | Medium |
| 13 | Use ImageObject schema for key images | Media | Medium | Easy |
| 14 | Implement Review/AggregateRating schema | E-Commerce | Medium | Medium |
| 15 | Add ItemList schema for list pages | Content | Medium | Medium |
| 16 | Use CreativeWork schema for guides | Content | Medium | Easy |
| 17 | Connect entities with @id references | Advanced | Medium | Hard |
| 18 | Add sameAs links to authoritative sources | Entity | Medium | Easy |
| 19 | Use mainEntityOfPage for primary entities | Advanced | Medium | Medium |
| 20 | Implement Brand schema for products | E-Commerce | Low | Easy |
| 21 | Add Place schema for location pages | Local | Low | Medium |
| 22 | Validate all schema with testing tools | QA | Critical | Easy |
Deep Dive: Every Check Explained
Detailed implementation guides with code examples for all 22 checks.
1 Implement Organization Schema Sitewide
Organization schema tells search engines about your company : its name, logo, contact information, and social profiles. This powers knowledge panels and brand recognition. Every site should have Organization schema on at least the homepage.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example Company",
"url": "https://www.example.com",
"logo": {
"@type": "ImageObject",
"url": "https://www.example.com/logo.png",
"width": 600,
"height": 60
},
"sameAs": [
"https://www.facebook.com/example",
"https://www.linkedin.com/company/example",
"https://twitter.com/example"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-555-555-5555",
"contactType": "customer service"
}
}
</script> 2 Add WebSite Schema with SearchAction
WebSite schema with SearchAction enables the sitelinks search box in Google results. It tells search engines your site has internal search functionality and how to access it.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://www.example.com/#website",
"name": "Example Site",
"url": "https://www.example.com",
"publisher": { "@id": "https://www.example.com/#organization" },
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.example.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script> 3 Implement BreadcrumbList on All Pages
BreadcrumbList schema generates breadcrumb navigation in search results, helping users understand your site hierarchy. It also signals page relationships to search engines.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com/" },
{ "@type": "ListItem", "position": 2, "name": "Category", "item": "https://www.example.com/category/" },
{ "@type": "ListItem", "position": 3, "name": "Current Page" }
]
}
</script> 4 Use Article Schema for Blog Posts
Article schema tells search engines your content is a news article, blog post, or editorial piece. It enables rich results like headline, author, date, and thumbnail in search.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"description": "Article description",
"image": "https://www.example.com/image.jpg",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://www.example.com/author/"
},
"publisher": { "@id": "https://www.example.com/#organization" },
"datePublished": "2026-08-01",
"dateModified": "2026-08-10",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.example.com/article-url"
}
}
</script> 5 Use Product Schema for E-Commerce Pages
Product schema is essential for e-commerce. It enables rich results showing price, availability, reviews, and images directly in search results. Missing product schema means missing significant SERP real estate.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"image": "https://www.example.com/product.jpg",
"description": "Product description",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"seller": { "@id": "https://www.example.com/#organization" }
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
}
}
</script> 6 Use LocalBusiness Schema for Local Pages
LocalBusiness schema is critical for local SEO. It tells Google your business name, address, phone number, hours, and service area. This powers the local pack and knowledge panel.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Business Name",
"image": "https://www.example.com/storefront.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "City",
"addressRegion": "ST",
"postalCode": "12345",
"addressCountry": "US"
},
"telephone": "+1-555-555-5555",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "17:00"
}
],
"geo": {
"@type": "GeoCoordinates",
"latitude": "40.7128",
"longitude": "-74.0060"
}
}
</script> 7 Add Person Schema for Author Pages
Person schema for author pages strengthens E-E-A-T signals. It connects the author to their published works, social profiles, and credentials. This is increasingly important for YMYL content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Author Name",
"url": "https://www.example.com/author/name/",
"image": "https://www.example.com/author-photo.jpg",
"jobTitle": "Senior SEO Specialist",
"worksFor": { "@id": "https://www.example.com/#organization" },
"sameAs": [
"https://www.linkedin.com/in/authorname",
"https://twitter.com/authorname"
],
"knowsAbout": ["SEO", "Content Marketing", "Technical SEO"]
}
</script> 8 Implement FAQPage Schema for FAQ Sections
FAQPage schema generates expandable FAQ dropdowns directly in search results. This can significantly increase your SERP real estate and click-through rate.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is a structured data vocabulary that helps search engines understand the meaning of content on a webpage."
}
},
{
"@type": "Question",
"name": "How do I add schema to my site?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Add JSON-LD structured data in a script tag to your HTML head or body section."
}
}
]
}
</script> 9 Add HowTo Schema for Tutorial Content
HowTo schema generates step-by-step rich results with images and descriptions. It is ideal for tutorials, guides, and instructional content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Add Schema Markup",
"description": "Step-by-step guide to implementing schema markup",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "Identify entity type",
"text": "Determine which schema type matches your content.",
"image": "https://www.example.com/step1.jpg"
},
{
"@type": "HowToStep",
"name": "Write JSON-LD",
"text": "Create the JSON-LD markup with required properties.",
"image": "https://www.example.com/step2.jpg"
},
{
"@type": "HowToStep",
"name": "Validate markup",
"text": "Test with Google Rich Results Test before publishing.",
"image": "https://www.example.com/step3.jpg"
}
]
}
</script> 10 Use Service Schema for Service Pages
Service schema describes the services your business offers. It helps search engines understand what you do and can generate rich results for service-related queries.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"name": "SEO Audit Service",
"description": "Comprehensive technical SEO audit for your website",
"provider": { "@id": "https://www.example.com/#organization" },
"areaServed": { "@type": "Country", "name": "United States" },
"serviceType": "SEO",
"offers": {
"@type": "Offer",
"price": "500",
"priceCurrency": "USD"
}
}
</script> 11 Implement Event Schema for Events
Event schema generates rich event cards in search results showing date, location, and ticket availability. Essential for any business hosting events, webinars, or conferences.
12 Add VideoObject Schema for Embedded Videos
VideoObject schema enables video rich results with thumbnail, duration, and upload date. Any page with an embedded video should have this schema.
13 Use ImageObject Schema for Key Images
ImageObject schema provides metadata about important images on your page : such as the hero image, infographic, or product photo. This helps images appear in Google Image results with context.
14 Implement Review/AggregateRating Schema
AggregateRating schema displays star ratings in search results. This is one of the most visually impactful rich results, significantly increasing click-through rates for product and service pages.
15 Add ItemList Schema for List Pages
ItemList schema tells search engines your page contains an ordered or unordered list of items. This can generate list-style rich results and helps Google understand listicle content.
16 Use CreativeWork Schema for Guides
CreativeWork is a broad schema type that covers guides, ebooks, whitepapers, and other original content. Use it when Article does not quite fit but the content is still a creative work.
17 Connect Entities with @id References
@id creates unique identifiers that allow schema objects to reference each other. Instead of duplicating Organization data in every schema block, define it once with @id and reference it elsewhere.
# Define once:
{ "@type": "Organization", "@id": "https://example.com/#org", "name": "Example" }
# Reference elsewhere:
{ "@type": "Article", "publisher": { "@id": "https://example.com/#org" } }
{ "@type": "Product", "seller": { "@id": "https://example.com/#org" } }
# Benefits:
- Reduces code duplication
- Creates entity graph connections
- Helps search engines map relationships 18 Add sameAs Links to Authoritative Sources
sameAs links connect your entity to external authoritative sources like Wikipedia, LinkedIn, and official profiles. This helps search engines disambiguate entities and verify identity.
19 Use mainEntityOfPage for Primary Entities
mainEntityOfPage tells search engines which entity is the primary subject of a page. This is important when a page mentions multiple entities but has one main focus.
20 Implement Brand Schema for Products
Brand schema within Product markup identifies the product manufacturer. This helps search engines associate products with brands and can influence brand-related search results.
21 Add Place Schema for Location Pages
Place schema describes physical locations. Combined with LocalBusiness, it provides precise geographic data that helps with local search and map results.
22 Validate All Schema with Testing Tools
Always validate your structured data before publishing. Errors in schema markup mean Google cannot parse it, wasting your implementation effort.
# Schema Validation Tools: 1. Google Rich Results Test - https://search.google.com/test/rich-results - Tests for rich result eligibility - Shows preview of how it appears in SERPs 2. Schema.org Validator - https://validator.schema.org/ - Validates against Schema.org spec - Catches syntax and type errors 3. Google Search Console - Monitors schema performance over time - Reports errors and warnings - Shows which pages have valid markup # Common validation errors: - Missing required properties - Invalid value types - Incorrect date formats - Broken @id references - Missing @context declaration
Common Schema Selection Pitfalls
Choosing the wrong type wastes your implementation effort.
Wrong Type vs Right Type
Schema Generators & Builders
Tools to generate schema markup for specific entity types without writing JSON-LD by hand.
Merkle Schema Markup Generator
Select your entity type (Article, FAQ, LocalBusiness, etc.), fill in the form, and get ready-to-paste JSON-LD code.
FreeSchema.dev
Visual builder with templates for 20+ entity types. Drag-and-drop interface generates clean JSON-LD with proper nesting.
FreeGoogle Structured Data Markup Helper
Highlight content on your page and tag it with schema types. Generates Microdata or JSON-LD based on your selections.
FreeYoast SEO (WordPress)
Automatically generates Article, Organization, Person, WebSite, and BreadcrumbList schema from your WordPress content.
FreemiumSchema App
Enterprise platform with a type-specific editor for 600+ schema types. Handles complex nested entities and @graph structures.
PaidRank Math (WordPress)
Supports 20+ schema types with a type-specific form for each. Automatically adds schema based on post type and content.
FreemiumRelated Checklists
Keep exploring the on-page SEO series. Every checklist follows the same structure.
Structured Data & Schema.org
How to implement JSON-LD correctly: syntax, validation, debugging, and best practices.
Search Engine Understanding
How search engines process, interpret, and rank your content.
SERP Appearance & Rich Results
Optimizing for featured snippets, knowledge panels, and AI overviews.
Video SEO Optimization
VideoObject schema, transcripts, chapters, and video sitemaps.
Image SEO Optimization
Alt text, image formats, lazy loading, and image schema markup.
Internal Linking Strategy
Anchor text optimization, topic clusters, and link equity distribution.
Frequently Asked Questions
Common questions about choosing the right schema type for your content.
Use Article, BlogPosting, or NewsArticle depending on your content. BlogPosting is the most specific for blog content. NewsArticle is for timely news stories. Article is the parent type that works for any editorial content. All three enable headline, author, date, and thumbnail rich results.
Organization is for companies without a physical location customers visit (SaaS companies, online businesses). LocalBusiness extends Organization and adds address, phone, hours, and geo coordinates. Use LocalBusiness if customers visit your location. Use Organization if you are online-only. Both can have sameAs, logo, and contact info.
Product is for physical or digital goods you sell with a price, SKU, and inventory. Service is for offerings like consulting, audits, or subscriptions. Product enables price and availability rich results. Service enables provider and area served signals. If you sell both, use separate schema types on their respective pages.
Yes, and you should. A product page might have Product, BreadcrumbList, Organization, and Review schema. A blog post might have Article, BreadcrumbList, FAQPage, and Person (author). Use @graph to combine them in one JSON-LD block, or use separate script tags for each type.
Use FAQPage schema with Question and Answer nested objects. This generates expandable FAQ dropdowns directly in Google search results. Each question needs a name (the question text) and an acceptedAnswer with the answer text. This is one of the highest-impact schema types for SERP real estate.
Recipe is specifically for cooking content and enables recipe-specific rich results (cook time, calories, ratings, images). HowTo is for any step-by-step tutorial or instruction (home repair, software setup, DIY projects). If your content is food-related, always use Recipe. For everything else instructional, use HowTo.
Every website should have Organization (or LocalBusiness) on the homepage, WebSite with SearchAction for sitelinks search box, and BreadcrumbList on all pages. Beyond these three core types, add Article for blog pages, Person for author pages, Product for e-commerce, and FAQPage for FAQ sections as needed.