22 Checks · Code Examples · Free

Entity Types & Schema Markup Checklist

Which schema type to use for which content. A selection guide covering Person, Organization, Product, Service, Event, and every major entity type.

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.

800+ schema types defined at Schema.org
12 types power most rich results
60% of sites use the wrong schema type

Schema Markup Comparison

No schema markup Missed opportunities
Generic Article schema only Basic coverage
Correct entity type matching Best practice
Nested entity relationships Advanced signal
@id cross-referencing Connected data
sameAs to authoritative sources Entity verification
Microdata in HTML tags Harder to maintain
JSON-LD in script tags Google recommended

The 22 Entity Types & Schema Markup Checks

Every check ranked by impact. Start at the top and work down.

# Check Category Impact Difficulty
1Implement Organization schema sitewideCoreCriticalEasy
2Add WebSite schema with SearchActionCoreCriticalEasy
3Implement BreadcrumbList on all pagesNavigationCriticalEasy
4Use Article schema for blog postsContentCriticalEasy
5Use Product schema for e-commerce pagesE-CommerceCriticalMedium
6Use LocalBusiness schema for local pagesLocalCriticalMedium
7Add Person schema for author pagesE-E-A-THighEasy
8Implement FAQPage schema for FAQ sectionsRich ResultsHighEasy
9Add HowTo schema for tutorial contentRich ResultsHighMedium
10Use Service schema for service pagesBusinessHighMedium
11Implement Event schema for eventsEventsHighMedium
12Add VideoObject schema for embedded videosMediaHighMedium
13Use ImageObject schema for key imagesMediaMediumEasy
14Implement Review/AggregateRating schemaE-CommerceMediumMedium
15Add ItemList schema for list pagesContentMediumMedium
16Use CreativeWork schema for guidesContentMediumEasy
17Connect entities with @id referencesAdvancedMediumHard
18Add sameAs links to authoritative sourcesEntityMediumEasy
19Use mainEntityOfPage for primary entitiesAdvancedMediumMedium
20Implement Brand schema for productsE-CommerceLowEasy
21Add Place schema for location pagesLocalLowMedium
22Validate all schema with testing toolsQACriticalEasy

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

Using Article for a product page Use Product for products
Using Organization for a local shop Use LocalBusiness for local
Using generic Thing for everything Use the most specific type
Using HowTo for a recipe page Use Recipe for cooking content
No schema on author pages Use Person for authors
Using Article for event listings Use Event for events

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.

Free

Schema.dev

Visual builder with templates for 20+ entity types. Drag-and-drop interface generates clean JSON-LD with proper nesting.

Free

Google Structured Data Markup Helper

Highlight content on your page and tag it with schema types. Generates Microdata or JSON-LD based on your selections.

Free

Yoast SEO (WordPress)

Automatically generates Article, Organization, Person, WebSite, and BreadcrumbList schema from your WordPress content.

Freemium

Schema App

Enterprise platform with a type-specific editor for 600+ schema types. Handles complex nested entities and @graph structures.

Paid

Rank Math (WordPress)

Supports 20+ schema types with a type-specific form for each. Automatically adds schema based on post type and content.

Freemium

Related 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.

Need Better Rankings

Let's Optimize Pages That Rank and Convert

Got pages stuck on page two? Traffic that won't convert? Let's fix it with a personalized on-page SEO audit.

Get a Free SEO Audit

Frequently Asked Questions

Common questions about choosing the right schema type for your content.

Which schema type should I use for a blog post?

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.

What is the difference between Organization and LocalBusiness?

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.

When should I use Product vs Service schema?

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.

Can I use multiple schema types on one page?

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.

What schema type works best for FAQ content?

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.

How do I choose between HowTo and Recipe schema?

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.

What schema types should every website have?

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.

AA

Amir Ali

Founder of Clienvora, a content marketing agency that combines SEO and copywriting to drive rankings, traffic, and revenue. This checklist is maintained and updated regularly.