Back to Resources

Schema Markup Code Library

Copy-paste JSON-LD schema templates for all major schema types. Includes pre-built combination templates for maximum SEO impact.

11
Templates
7
Single Types
4
Combos
100%
Free

What Makes This Library Unique?

Most schema generators only show individual schema types. We provide pre-built combination templates that show you how to use multiple schemas together (e.g., Article + FAQPage + BreadcrumbList) — exactly how real websites need them.

Article Schema

Blog posts, news articles, guides

Content
@type: Article
Shows article in Google News, enables rich snippets with author and publish date
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Your Article Title Here (max 110 characters)",
  "description": "Brief summary of the article content",
  "image": "https://yoursite.com/article-image.jpg",
  "author": {
    "@type": "Person",
    "name": "Author Name",
    "url": "https://yoursite.com/author/author-slug"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Your Site Name",
    "logo": {
      "@type": "ImageObject",
      "url": "https://yoursite.com/logo.png"
    }
  },
  "datePublished": "2026-02-12",
  "dateModified": "2026-02-12"
}

FAQPage Schema

FAQ pages, Q&A sections, help documentation

Content
@type: FAQPage
Displays FAQ accordion in Google search results - increases CTR and AI Overview visibility
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is schema markup?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Schema markup is code that helps search engines understand your content. It enables rich snippets in search results and improves click-through rates by up to 30%."
      }
    },
    {
      "@type": "Question",
      "name": "How do I add schema markup to my site?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Add JSON-LD schema in a script tag in your page's head section. Use Google's Rich Results Test to validate it's working correctly."
      }
    },
    {
      "@type": "Question",
      "name": "Does schema markup improve SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Schema markup increases visibility in AI Overviews by 3.2x and enables rich snippets, which improve click-through rates and traffic."
      }
    }
  ]
}

Product Schema

Product pages on e-commerce sites

E-commerce
@type: Product
Shows price, availability, and ratings in Google Shopping and search results
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Product Name",
  "image": [
    "https://yourstore.com/product-image-1.jpg",
    "https://yourstore.com/product-image-2.jpg"
  ],
  "description": "Detailed product description including features and benefits",
  "sku": "PROD-12345",
  "brand": {
    "@type": "Brand",
    "name": "Your Brand Name"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://yourstore.com/products/product-slug",
    "priceCurrency": "USD",
    "price": "99.99",
    "availability": "https://schema.org/InStock",
    "seller": {
      "@type": "Organization",
      "name": "Your Store Name"
    }
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127"
  }
}

LocalBusiness Schema

Physical business locations, stores, restaurants

Local SEO
@type: LocalBusiness
Enables Google Maps listing, business hours, phone number in local search results
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Your Business Name",
  "image": "https://yourbusiness.com/storefront.jpg",
  "url": "https://yourbusiness.com",
  "telephone": "+1-555-123-4567",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "postalCode": "94102",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 37.7749,
    "longitude": -122.4194
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "156"
  }
}

Organization Schema

Company homepage, about page

Branding
@type: Organization
Links brand name to logo in search results, enables knowledge panel
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company Name",
  "url": "https://yourcompany.com",
  "logo": "https://yourcompany.com/logo.png",
  "description": "Brief company description and mission statement",
  "foundingDate": "2020",
  "founders": [
    {
      "@type": "Person",
      "name": "Founder Name"
    }
  ],
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "San Francisco",
    "addressRegion": "CA",
    "addressCountry": "US"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Customer Support",
    "telephone": "+1-555-123-4567",
    "email": "support@yourcompany.com"
  },
  "sameAs": [
    "https://twitter.com/yourcompany",
    "https://linkedin.com/company/yourcompany",
    "https://github.com/yourcompany"
  ]
}

BreadcrumbList Schema

All pages with navigation hierarchy

Navigation
@type: BreadcrumbList
Shows navigation breadcrumbs in Google search results
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://yoursite.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Category Name",
      "item": "https://yoursite.com/category"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Current Page",
      "item": "https://yoursite.com/category/page-slug"
    }
  ]
}

HowTo Schema

Step-by-step guides, tutorials, instructions

Content
@type: HowTo
Displays step-by-step carousel in Google search results
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to [Do Something]",
  "description": "Brief overview of the process",
  "image": "https://yoursite.com/howto-image.jpg",
  "totalTime": "PT30M",
  "estimatedCost": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": "10"
  },
  "tool": [
    {
      "@type": "HowToTool",
      "name": "Tool Name"
    }
  ],
  "supply": [
    {
      "@type": "HowToSupply",
      "name": "Supply Name"
    }
  ],
  "step": [
    {
      "@type": "HowToStep",
      "name": "Step 1: Do This",
      "text": "Detailed instructions for step 1",
      "image": "https://yoursite.com/step1-image.jpg",
      "url": "https://yoursite.com/guide#step1"
    },
    {
      "@type": "HowToStep",
      "name": "Step 2: Do That",
      "text": "Detailed instructions for step 2",
      "image": "https://yoursite.com/step2-image.jpg",
      "url": "https://yoursite.com/guide#step2"
    }
  ]
}

Complete Blog Post

Blog posts with FAQ section

ComboContent
@type: Article@type: FAQPage@type: BreadcrumbList
Article + FAQ + breadcrumbs - maximum visibility in search results
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "headline": "Your Blog Post Title",
      "description": "Brief summary of the blog post",
      "image": "https://yoursite.com/blog/post-image.jpg",
      "author": {
        "@type": "Person",
        "name": "Author Name"
      },
      "publisher": {
        "@type": "Organization",
        "name": "Your Site Name",
        "logo": {
          "@type": "ImageObject",
          "url": "https://yoursite.com/logo.png"
        }
      },
      "datePublished": "2026-02-12",
      "dateModified": "2026-02-12"
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Common question about the topic?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Answer to the question from the blog post content."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://yoursite.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://yoursite.com/blog"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Post Title",
          "item": "https://yoursite.com/blog/post-slug"
        }
      ]
    }
  ]
}

Complete Product Page

E-commerce product pages with FAQ

ComboE-commerce
@type: Product@type: FAQPage@type: BreadcrumbList
Product price/ratings + FAQ + breadcrumbs - complete e-commerce SEO
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Product",
      "name": "Product Name",
      "image": "https://yourstore.com/product-image.jpg",
      "description": "Product description",
      "sku": "PROD-123",
      "brand": {
        "@type": "Brand",
        "name": "Brand Name"
      },
      "offers": {
        "@type": "Offer",
        "url": "https://yourstore.com/products/product-slug",
        "priceCurrency": "USD",
        "price": "99.99",
        "availability": "https://schema.org/InStock"
      },
      "aggregateRating": {
        "@type": "AggregateRating",
        "ratingValue": "4.5",
        "reviewCount": "89"
      }
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "What's included in the box?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "The package includes the product, power adapter, user manual, and 1-year warranty card."
          }
        },
        {
          "@type": "Question",
          "name": "What's your return policy?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "We offer a 30-day money-back guarantee. If you're not satisfied, return it for a full refund."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://yourstore.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Category",
          "item": "https://yourstore.com/category"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "Product Name",
          "item": "https://yourstore.com/products/product-slug"
        }
      ]
    }
  ]
}

Complete Homepage

Company homepages

ComboBranding
@type: Organization@type: WebSite
Organization + website search - enables sitelinks search box in Google
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "name": "Your Company Name",
      "url": "https://yourcompany.com",
      "logo": "https://yourcompany.com/logo.png",
      "description": "Company description",
      "sameAs": [
        "https://twitter.com/yourcompany",
        "https://linkedin.com/company/yourcompany"
      ]
    },
    {
      "@type": "WebSite",
      "name": "Your Company Name",
      "url": "https://yourcompany.com",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://yourcompany.com/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    }
  ]
}

Comparison Page

Product/tool comparison pages (like TurboSEO!)

ComboContent
@type: Article@type: FAQPage
Perfect for comparison content - Article + FAQ for maximum visibility
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "headline": "Tool A vs Tool B: Complete Comparison",
      "description": "In-depth comparison of Tool A and Tool B, including features, pricing, and use cases.",
      "image": "https://yoursite.com/comparison-image.jpg",
      "author": {
        "@type": "Person",
        "name": "Author Name"
      },
      "publisher": {
        "@type": "Organization",
        "name": "Your Site Name",
        "logo": {
          "@type": "ImageObject",
          "url": "https://yoursite.com/logo.png"
        }
      },
      "datePublished": "2026-02-12",
      "dateModified": "2026-02-12"
    },
    {
      "@type": "FAQPage",
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Which is better, Tool A or Tool B?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Tool A is better for [use case], while Tool B excels at [other use case]. Your choice depends on your specific needs."
          }
        },
        {
          "@type": "Question",
          "name": "What are the main differences?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "The main differences are [feature 1], [feature 2], and [pricing model]."
          }
        }
      ]
    }
  ]
}

Validate Your Schema Markup

After implementing these templates, use our free Schema Comparison tool to verify your markup is valid and compare against competitors.

How to Implement Schema Markup

Next.js (App Router)

import Script from 'next/script';

export default function Page() {
  const schema = {
    "@context": "https://schema.org",
    "@type": "Article",
    // ... your schema data
  };

  return (
    <>
      <Script
        id="schema-article"
        type="application/ld+json"
        dangerouslySetInnerHTML={{
          __html: JSON.stringify(schema)
        }}
      />
      {/* Your page content */}
    </>
  );
}

HTML

<head>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Your Article Title"
    // ... your schema data
  }
  </script>
</head>

WordPress (Manual)

// Add to functions.php or use
// Code Snippets plugin

function add_custom_schema() {
  $schema = array(
    '@context' => 'https://schema.org',
    '@type' => 'Article',
    // ... your schema data
  );
  echo '<script type="application/ld+json">';
  echo json_encode($schema);
  echo '</script>';
}
add_action('wp_head', 'add_custom_schema');

Testing Your Schema

  • 1.Copy your schema code
  • 2.Paste into Google Rich Results Test
  • 3.Fix any errors or warnings
  • 4.Implement on your site
  • 5.Test live URL to verify it works