Schema markup is the secret weapon that makes your Google results stand out with stars, prices, FAQs, and rich snippets. But 90% of businesses don't use it. Here's your complete implementation guide with copy-paste templates. Need help? Our technical SEO services include full schema implementation.
What is Schema Markup?
Schema markup (also called structured data) is code you add to your website that helps search engines understand your content better. It tells Google "this is a product," "this is a price," "this is a review"—making it easier to display rich results.
The payoff: Rich snippets that...
- Increase click-through rates by 30-40%
- Make your results more visually appealing
- Give you more real estate in search results
- Improve rankings (indirectly, through higher CTR)
Why Schema Matters for Local SEO
Without schema: Your Google result is just blue text.
With schema: Star ratings, business hours, price ranges, phone numbers, FAQ dropdowns all visible in search.
Real Example: Miami Restaurant
Before schema:
- Blue link with meta description
- CTR: 2.1%
- Average position: #4
After adding LocalBusiness + Review schema:
- 4.8 stars showing, "$$" price range, hours, phone
- CTR: 7.3% (+247%)
- Average position: #3 (moved up from higher CTR)
Types of Schema for Local Businesses
1. LocalBusiness Schema (Most Important)
Who needs it: Every local business
What it shows: Name, address, phone, hours, ratings, price range
Template:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Business Name",
"image": "https://yoursite.com/logo.jpg",
"@id": "https://yoursite.com",
"url": "https://yoursite.com",
"telephone": "+1-786-555-1234",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Miami",
"addressRegion": "FL",
"postalCode": "33101",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 25.7617,
"longitude": -80.1918
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "47"
}
} 2. Product Schema (E-commerce)
Who needs it: Online stores, product pages
What it shows: Price, availability, ratings, SKU
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"image": "https://yoursite.com/product.jpg",
"description": "Product description here",
"sku": "12345",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"offers": {
"@type": "Offer",
"url": "https://yoursite.com/product",
"priceCurrency": "USD",
"price": "99.99",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "89"
}
} 3. Review Schema
Who needs it: Businesses showcasing testimonials
What it shows: Star ratings in search results
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "LocalBusiness",
"name": "Your Business"
},
"author": {
"@type": "Person",
"name": "John Smith"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Excellent service! Highly recommend."
} 4. FAQ Schema
Who needs it: Service pages, blog posts
What it shows: Expandable FAQ dropdowns in search
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "How long does SEO take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Most businesses see significant results in 4-6 months with consistent optimization."
}
}, {
"@type": "Question",
"name": "How much does local SEO cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Local SEO typically ranges from $1,500-5,000/month depending on competition and scope."
}
}]
} 5. Article Schema (Blog Posts)
Who needs it: Every blog post you publish
What it shows: Date published, author, featured in Google News/Discover
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Blog Post Title",
"image": "https://yoursite.com/blog-image.jpg",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://yoursite.com/about"
},
"publisher": {
"@type": "Organization",
"name": "Your Business",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-01-18",
"dateModified": "2026-01-18"
} 6. Breadcrumb Schema
Who needs it: Sites with deep page hierarchies
What it shows: Breadcrumb trail in search results
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com"
}, {
"@type": "ListItem",
"position": 2,
"name": "Services",
"item": "https://yoursite.com/services"
}, {
"@type": "ListItem",
"position": 3,
"name": "SEO",
"item": "https://yoursite.com/services/seo"
}]
} How to Implement Schema (3 Methods)
Method 1: JSON-LD (Recommended)
What it is: JavaScript code added to your page's `<head>` section
Why it's best: Easy to add/edit, doesn't affect page layout, Google's preferred format
How to add:
- Copy one of the templates above
- Customize with your business info
- Paste between `<script type="application/ld+json">` tags in your `<head>`
Method 2: Google Tag Manager
Advantage: No code changes needed, easy to update
Steps:
- Create new Custom HTML tag in GTM
- Paste your JSON-LD code
- Set trigger to "All Pages" or specific URLs
- Publish container
Method 3: WordPress Plugins
Easy options:
- Yoast SEO (all-in-one)
- Rank Math (offers more schema types)
- Schema Pro (dedicated schema plugin)
Common Schema Mistakes to Avoid
Mistake #1: Marking Up Hidden Content
Bad: Adding review schema for reviews not visible on page
Google's rule: Only mark up content users can see
Mistake #2: Wrong Schema Type
Bad: Using "Organization" for a local business
Correct: Use "LocalBusiness" (more specific = better)
Mistake #3: Missing Required Properties
Example: Product schema without "offers" (price)
Fix: Check Google's documentation for required fields per schema type
Mistake #4: Incorrect Date Formats
Bad: "01/18/2026"
Correct: "2026-01-18" (ISO 8601 format)
Mistake #5: Fake Reviews
Never do this: Adding fake ratings to boost stars
Penalty: Manual action from Google, removal from search
Testing & Validation
Step 1: Rich Results Test
Tool: https://search.google.com/test/rich-results
What to check:
- "Page is eligible for rich results"
- No errors shown
- Preview shows expected rich snippet
Step 2: Schema Markup Validator
Tool: https://validator.schema.org
What to check:
- Valid JSON syntax
- All required properties present
- No schema type conflicts
Step 3: GSC Enhancement Reports
Path: Google Search Console → Enhancements
Reports available:
- Product
- Review snippets
- FAQ
- Article (in "Pages" section)
Real Results: Before & After
Case Study: Miami Law Firm
Before schema (2024):
- Average CTR: 3.2%
- Impressions: 12,000/month
- Clicks: 384/month
After adding LocalBusiness + FAQ schema (2025):
- Average CTR: 5.8% (+81%)
- Impressions: 15,000/month (same rankings, more visibility)
- Clicks: 870/month (+127%)
What changed: Star rating (4.9), phone number, and FAQ dropdowns all showing in search results.
Advanced: Multi-Schema Strategy
You can (and should) use multiple schema types on one page:
- Homepage: Organization + LocalBusiness
- Service pages: Service + FAQ + Breadcrumb
- Product pages: Product + Review + Breadcrumb
- Blog posts: Article + Breadcrumb + FAQ
Example: Service page with 3 schemas:
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
"@type": "Service",
"name": "SEO Services Miami",
"provider": {
"@type": "LocalBusiness",
"name": "Your Business"
},
"areaServed": "Miami, FL"
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [...]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [...]
}
]
</script> Pro Tips
- Update schema when content changes - Reviews, hours, prices should be current
- Use specific types - "Restaurant" not just "LocalBusiness" if you're a restaurant
- Include images - Schema with images gets better placement
- Test on mobile - Most users see results on phones
- Monitor GSC - Check for schema errors monthly
Final Thoughts
Schema markup is one of the few SEO tactics with immediate visual impact. You could implement it today and see rich snippets within days (once Google recrawls your pages).
Quick win checklist:
- Add LocalBusiness schema to homepage (30 minutes)
- Add Article schema to all blog posts (15 min each)
- Add FAQ schema to FAQ pages (20 minutes)
- Test with Rich Results Test
- Submit for reindexing in GSC
Need comprehensive schema implementation across your entire site? Our technical SEO services include full schema audit and implementation. Check out our Technical SEO Audit Checklist for more optimization strategies.