Schema Starter Pack: Free Generators, Testers and 6 Copy-Paste Examples
Six JSON-LD templates (LocalBusiness, Organization, Product, Breadcrumb, Article, FAQ) built from Google's docs, plus the free tools to generate and test them.
Copy-paste schema markup for the types a small business actually needs, written from Google's own documentation. Swap in your details, test it with two free tools and publish.
For: Small business owners and founders who want to add schema markup themselves without hiring a developer.
- Read this first: 5 rules that keep schema safe · 5
- 6 copy-paste JSON-LD templates · 6
- Free schema generators · 3
- Free schema testers · 3
- How to add it on your platform · 4
- Pick the template that matches the page (LocalBusiness for your homepage or location page, Product for product pages, and so on).
- Replace every CAPITAL placeholder and example.com URL with your real details. Use only details that are visible on the page.
- Paste the code into the Rich Results Test before publishing, fix errors, then add it to your site and test the live URL.
Read this first: 5 rules that keep schema safe
- Use JSON-LD.
Google supports JSON-LD, Microdata and RDFa, and recommends JSON-LD.
- Only mark up what visitors can see on the page.
Google's guidelines: don't mark up content that isn't visible to readers.
- Don't add review stars for your own business.
Google says pages using LocalBusiness or Organization markup are ineligible for star reviews when the business controls reviews about itself.
- Valid schema doesn't guarantee rich results.
Google says it does not guarantee your structured data will show up in search results.
- Use the most specific type you can (Restaurant, Dentist, Plumber instead of LocalBusiness).
Google recommends the most specific schema.org subtype that fits.
6 copy-paste JSON-LD templates
Paste one into the page's HTML (the <head> or body both work). Replace placeholders. Delete any line you can't fill truthfully.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "YOUR BUSINESS NAME",
"url": "https://www.example.com/",
"telephone": "+1-555-555-5555",
"priceRange": "$$",
"image": "https://www.example.com/images/storefront.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Your City",
"addressRegion": "ST",
"postalCode": "00000",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.76129,
"longitude": -73.98229
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "10:00",
"closes": "14:00"
}
]
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "YOUR COMPANY",
"url": "https://www.example.com/",
"logo": "https://www.example.com/images/logo.png",
"description": "One plain sentence about what you do.",
"email": "hello@example.com",
"sameAs": [
"https://www.linkedin.com/company/your-company",
"https://www.youtube.com/@yourchannel"
]
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "PRODUCT NAME",
"image": "https://www.example.com/images/product.jpg",
"description": "What it is, in one sentence.",
"offers": {
"@type": "Offer",
"price": 49.0,
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/product"
}
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Services",
"item": "https://www.example.com/services/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Plumbing",
"item": "https://www.example.com/services/plumbing/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Emergency plumbing"
}
]
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "YOUR ARTICLE TITLE",
"image": [
"https://www.example.com/images/cover-16x9.jpg"
],
"datePublished": "2026-10-19T08:00:00+00:00",
"dateModified": "2026-10-19T08:00:00+00:00",
"author": [
{
"@type": "Person",
"name": "AUTHOR NAME",
"url": "https://www.example.com/about/author-name"
}
]
}
</script><script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "QUESTION 1, exactly as shown on the page?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer 1, exactly as shown on the page."
}
},
{
"@type": "Question",
"name": "QUESTION 2?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer 2."
}
}
]
}
</script>Free schema generators
- Rank Math (WordPress)Free plugin includes Article, Product, Local SEO, Breadcrumb, FAQ, Event, Person, Service and more; some types (Dataset, Podcast, Speakable, ItemList…) are PRO
WordPress SEO plugin that adds schema from a menu, no code.
Ritik's note: Turn on the Local SEO module for LocalBusiness.
- Yoast SEO (WordPress)Free plugin covers the core types · LocalBusiness and VideoObject need Premium/paid add-ons
Adds a schema graph automatically: Organization or Person, WebSite, WebPage, Article, Breadcrumb and more.
Ritik's note: Set Organization vs Person correctly in Site representation settings.
- TechnicalSEO.com Schema Markup GeneratorFree to use in the browser · no account (VERIFY)
Browser form that writes JSON-LD for common types as you fill it in.
Ritik's note: Still test the output. Generators can include fields Google doesn't use.
Free schema testers
- Rich Results TestFree · live URL or pasted code
Google's test of which rich results your markup can earn, with errors and warnings.
Ritik's note: Paste the code before you publish. Then test the live URL after.
- Schema Markup ValidatorFree · no account
Schema.org's validator for every type, including ones Google ignores.
Ritik's note: Run one page through it today. That's the whole homework.
- Search Console URL InspectionFree · needs site verification
Shows the structured data Google found on the indexed version of a page.
Ritik's note: Use 'Test live URL' after a change, then check the Enhancements reports over the next weeks.
How to add it on your platform
- WordPress
Easiest: use Rank Math or Yoast. For custom code, use a header/footer code plugin or your theme's custom code area to add the <script> block to one page.
- Shopify
Many themes already output Product schema; check a product URL in the Rich Results Test first so you don't add a duplicate. For LocalBusiness or Organization, add the script in your theme code (theme.liquid) or with an app. (Practical advice; check your theme's docs.)
- Webflow
Paste the script into Page settings > Custom code (inside <head> tag) for a single page, or Site settings for site-wide code. (Practical advice; check Webflow's help docs.)
- Any site
Test the live URL in the Rich Results Test, then URL Inspection in Search Console.
Unlock the full template
Everything above, plus the branded PDF to keep.
Frequently asked questions
Does schema markup help SEO rankings?
Which schema should a small business add first?
Does FAQ schema still work?
How do I test schema markup for free?
Sources
- Google Search Central: Introduction to structured data
- Google Search Central: Structured data general guidelines
- Google Search Central: Search gallery (supported features)
- Google: LocalBusiness structured data
- Google: Organization structured data
- Google: Product snippet structured data
- Google: Breadcrumb structured data
- Google: Article structured data
- Google: Review snippet guidelines (self-serving reviews)
- Google: FAQ structured data deprecation
- Rank Math: Rich snippets
- Yoast: Structured data features
- Schema.org