Build Your First AI Project This Weekend
Stop consuming tutorials. Start creating. Get the free step-by-step guide.
Your content site is live. Articles are published. But Google’s showing plain blue links while competitors get FAQ dropdowns, star ratings, and image thumbnails.
The difference is schema markup. It takes about an hour to set up with AI, and the payoff is measurable.
Nestle measured pages with rich results getting 82% higher click-through rates than pages without. The Food Network saw a 35% increase in visits after implementing structured data across 80% of their pages.
Those numbers translate directly to traffic you’re currently missing.
Schema markup tells Google exactly what your content is. Without it, Google guesses. With it, you unlock rich snippets that dominate search results.
Here’s exactly how to implement it using AI, with the templates and prompts you need to get it done today.
What Schema Markup Does for Your Business
Schema markup is code that describes your content to search engines. HTML shows content to humans. Schema explains that content to machines.
It’s based on a shared vocabulary called schema.org that Google, Bing, and Yahoo all understand. When you add schema to your pages, you’re handing Google a cheat sheet about your content.
Here’s the practical difference.
Without Schema Markup
Google sees your page and guesses:
"Some text about dog training. Maybe an article? Maybe a product page?
Author unclear. Date published... somewhere? We'll figure it out."
You’re at the mercy of the algorithm.
With Schema Markup
Google knows exactly what it’s looking at:
"This is an Article.
- Title: 'How to Train Your Dog in 7 Days'
- Author: 'John Smith' (Person entity)
- Published: 'January 15, 2026'
- Modified: 'January 20, 2026'
- Publisher: 'MarketUnlock' (Organization entity)
- Contains: HowTo steps, FAQ section, Review"
That clarity unlocks rich snippets, the enhanced search results with stars, images, FAQ dropdowns, and how-to steps that take up more space and get more clicks.
The Traffic Impact (Actual Numbers)
Rotten Tomatoes added structured data to 100,000 pages and measured a 25% higher click-through rate on pages with schema compared to pages without.
Rakuten found users spend 1.5x more time on pages with structured data.
According to Schema App’s analysis, pages with schema receive up to 40% higher click-through rates across the board.
Schema markup doesn’t directly boost your rankings. Google has stated that clearly. But it does three things that indirectly impact your traffic:
- Unlocks rich snippets - More visual real estate in search results
- Increases CTR - Rich results get more clicks than plain blue links
- Pushes competitors down - Your enhanced listing takes up more space
Rich Snippets You Can Unlock
| Rich Result Type | Schema Required | What It Looks Like |
|---|---|---|
| FAQ dropdowns | FAQPage | Expandable Q&A directly in search |
| How-to steps | HowTo | Numbered steps displayed in results |
| Review stars | Review/AggregateRating | Star ratings next to your listing |
| Article thumbnail | Article | Image, date, author in results |
| Breadcrumbs | BreadcrumbList | Site hierarchy path shown |
| Sitelinks search | WebSite + SearchAction | Search box in your result |
The CTR Impact
| Result Type | CTR Improvement |
|---|---|
| Review stars | 20-35% higher (Ignite Visibility) |
| FAQ rich snippet | 15-30% higher |
| How-to steps | 10-25% higher |
| Featured snippet | Can capture 50%+ of clicks |
15% of all searches now show AI Overviews that pull from structured data (Schema App). Schema helps Google understand your content well enough to include it in AI summaries.
Voice search is projected to hit 35% of all searches in 2026, and voice assistants pull heavily from structured data for spoken answers. If you’re building a content business, this is visibility you don’t want to leave on the table.
JSON-LD: The Format to Use
Three ways to add schema:
- JSON-LD - JavaScript Object Notation for Linked Data
- Microdata - Inline attributes in your HTML tags
- RDFa - Another inline format
Use JSON-LD. It’s Google’s preferred format.
Why:
- Separate from your HTML - Lives in a script block, doesn’t touch your content
- Easy to implement - One code block you can add anywhere
- Easy to maintain - Update schema without touching page structure
- Less prone to errors - According to Google, it’s “less prone to user errors”
Microdata requires weaving attributes throughout your HTML. One wrong attribute and your page structure can break. JSON-LD sits in a <script> tag and stays out of the way.
Basic JSON-LD Structure
Every JSON-LD block follows this pattern:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"author": {
"@type": "Person",
"name": "Author Name"
},
"datePublished": "2026-01-25",
"publisher": {
"@type": "Organization",
"name": "Site Name"
}
}
</script>
Drop this in your <head> or <body>. Either works, but <head> keeps things clean.
Key JSON-LD Components
| Property | Purpose | Example |
|---|---|---|
@context | Declares the vocabulary | Always "https://schema.org" |
@type | What kind of entity | "Article", "Person", "Organization" |
@id | Unique identifier for linking entities | "https://yoursite.com/#organization" |
@graph | Array of multiple connected entities | Used for complex multi-entity schemas |
| Nested objects | Entities within entities | Author (Person) inside Article |
The @id property is important.
It creates unique identifiers that let you reference entities across your site. Your Organization schema on the homepage can be referenced by Article schemas on every blog post. This builds what Google calls an “entity graph” - a connected map of everything on your site.
The Schema Types You Actually Need
You don’t need every schema type on schema.org. You need the ones that matter for content sites.
Here’s what to implement:
Site-Wide (implement once):
- WebSite
- Organization
Every Page:
- BreadcrumbList
- Article (or appropriate page type)
Content-Specific (when relevant):
- FAQPage
- HowTo
- Review
1. WebSite Schema (Homepage Only)
Establishes your site as an entity and can enable the sitelinks search box in results.
{
"@context": "https://schema.org",
"@type": "WebSite",
"@id": "https://yoursite.com/#website",
"name": "Your Site Name",
"url": "https://yoursite.com",
"description": "What your site is about in one sentence",
"publisher": {
"@id": "https://yoursite.com/#organization"
},
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://yoursite.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
Only add the SearchAction if your site has search functionality.
2. Organization Schema (Homepage Only)
Establishes your brand as an entity. Critical for E-E-A-T (Experience, Expertise, Authoritativeness, Trust).
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://yoursite.com/#organization",
"name": "Your Organization Name",
"url": "https://yoursite.com",
"logo": {
"@type": "ImageObject",
"@id": "https://yoursite.com/#logo",
"url": "https://yoursite.com/logo.png",
"width": 600,
"height": 60
},
"image": {
"@id": "https://yoursite.com/#logo"
},
"sameAs": [
"https://twitter.com/yourhandle",
"https://linkedin.com/company/yourcompany",
"https://www.youtube.com/@yourchannel"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@yoursite.com"
}
}
The sameAs property tells Google “these are all the same entity”, your Twitter, LinkedIn, YouTube. This builds your brand’s knowledge panel over time.
3. Article Schema (Every Article)
Every piece of content on your site should have Article schema.
{
"@context": "https://schema.org",
"@type": "Article",
"@id": "https://yoursite.com/category/article-url/#article",
"headline": "Your Article Title (Max 110 Characters)",
"description": "Article meta description that matches your page",
"image": {
"@type": "ImageObject",
"url": "https://yoursite.com/images/article-image.jpg",
"width": 1200,
"height": 630
},
"datePublished": "2026-01-25T08:00:00+00:00",
"dateModified": "2026-01-25T10:00:00+00:00",
"author": {
"@type": "Person",
"@id": "https://yoursite.com/author/john-smith/#person",
"name": "John Smith",
"url": "https://yoursite.com/author/john-smith/",
"sameAs": [
"https://twitter.com/johnsmith",
"https://linkedin.com/in/johnsmith"
]
},
"publisher": {
"@id": "https://yoursite.com/#organization"
},
"mainEntityOfPage": {
"@id": "https://yoursite.com/category/article-url/"
},
"isPartOf": {
"@id": "https://yoursite.com/#website"
},
"wordCount": 2500,
"articleSection": "Category Name"
}
Key points:
headlinematches your H1, max 110 charactersdateModifiedmatters. Update it when you update content- The
@idreferences link this article to your Organization and WebSite entities
4. BreadcrumbList Schema (Every Page)
Shows your site hierarchy in search results. Users can click directly to parent categories.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Build",
"item": "https://yoursite.com/build/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Content Sites",
"item": "https://yoursite.com/build/websites/content-sites/"
},
{
"@type": "ListItem",
"position": 4,
"name": "Schema Guide",
"item": "https://yoursite.com/build/websites/content-sites/schema-json-ld-guide/"
}
]
}
Match this to your actual site silo structure. If your URL path is /build/websites/content-sites/article/, your breadcrumbs should reflect that hierarchy.
5. FAQPage Schema (FAQ Content Only)
FAQ schema can show expandable Q&A dropdowns directly in search results, more real estate, more clicks.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is code that describes your content to search engines. It uses a standardized vocabulary from schema.org to help Google understand what your page is about."
}
},
{
"@type": "Question",
"name": "Does schema markup improve rankings?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup doesn't directly improve rankings, but it can increase click-through rates by enabling rich snippets in search results. Higher CTR can indirectly help rankings."
}
}
]
}
Only use FAQPage schema if you actually have FAQ content visible on your page. Google has gotten strict about this. If users can’t see the questions and answers, don’t add the schema. You risk a manual action.
6. HowTo Schema (Tutorial Content)
For step-by-step guides and tutorials. Can display numbered steps directly in search.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Add Schema Markup to Your Website",
"description": "A step-by-step guide to implementing JSON-LD schema markup on your content site.",
"totalTime": "PT30M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "0"
},
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Identify schema types needed",
"text": "Determine which schema types are relevant for your content. For most content sites, you need WebSite, Organization, Article, and BreadcrumbList.",
"url": "https://yoursite.com/article/#step1"
},
{
"@type": "HowToStep",
"position": 2,
"name": "Generate the JSON-LD code",
"text": "Use AI or a schema generator to create properly formatted JSON-LD for each schema type.",
"url": "https://yoursite.com/article/#step2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "Add schema to your templates",
"text": "Insert the JSON-LD code into your page templates, either in the head or body section.",
"url": "https://yoursite.com/article/#step3"
},
{
"@type": "HowToStep",
"position": 4,
"name": "Test and validate",
"text": "Use Google's Rich Results Test to verify your schema is valid and eligible for rich results.",
"url": "https://yoursite.com/article/#step4"
}
]
}
totalTime uses ISO 8601 duration format. PT30M = 30 minutes. PT1H30M = 1 hour 30 minutes.
How to Implement Schema (Pick Your Path)
Three options depending on your setup.
Option 1: Template-Based (Hugo, Jekyll, Static Sites)
If you’re using a static site generator like Hugo (my recommendation for content sites, see the site architecture guide), you add schema directly to your templates. Set it up once, every page gets schema automatically.
Create a partial at layouts/partials/schema.html:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{{ if .IsHome }}
{
"@type": "WebSite",
"@id": "{{ .Site.BaseURL }}#website",
"name": "{{ .Site.Title }}",
"url": "{{ .Site.BaseURL }}",
"description": "{{ .Site.Params.description }}",
"publisher": {
"@id": "{{ .Site.BaseURL }}#organization"
}
},
{
"@type": "Organization",
"@id": "{{ .Site.BaseURL }}#organization",
"name": "{{ .Site.Title }}",
"url": "{{ .Site.BaseURL }}",
"logo": {
"@type": "ImageObject",
"url": "{{ .Site.BaseURL }}logo.png"
},
"sameAs": [
{{ range $i, $social := .Site.Params.social }}
{{ if $i }},{{ end }}"{{ $social }}"
{{ end }}
]
}
{{ else if .IsPage }}
{
"@type": "Article",
"@id": "{{ .Permalink }}#article",
"headline": "{{ .Title }}",
"description": "{{ .Description }}",
"image": "{{ with .Params.image }}{{ . }}{{ else }}{{ .Site.BaseURL }}default-image.jpg{{ end }}",
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}",
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}",
"author": {
"@type": "Person",
"@id": "{{ .Site.BaseURL }}author/{{ .Site.Params.author | urlize }}/#person",
"name": "{{ .Site.Params.author }}"
},
"publisher": {
"@id": "{{ .Site.BaseURL }}#organization"
},
"mainEntityOfPage": {
"@id": "{{ .Permalink }}"
},
"isPartOf": {
"@id": "{{ .Site.BaseURL }}#website"
}
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "{{ .Site.BaseURL }}"
}
{{ $defined := .Site.BaseURL }}
{{ range $i, $e := split .RelPermalink "/" }}
{{ if $e }}
,{
"@type": "ListItem",
"position": {{ add $i 2 }},
"name": "{{ $e | humanize | title }}",
"item": "{{ $defined }}{{ $e }}/"
}
{{ $defined = print $defined $e "/" }}
{{ end }}
{{ end }}
]
}
{{ end }}
]
}
</script>
Then include it in your layouts/_default/baseof.html:
<head>
<!-- other head elements -->
{{ partial "schema.html" . }}
</head>
Option 2: WordPress Plugins
If you’re on WordPress, use a plugin. Don’t write schema by hand.
| Plugin | Pros | Cons |
|---|---|---|
| Rank Math | Most comprehensive free schema, auto-generates based on content | Can bloat if you enable everything |
| Yoast SEO | Solid schema, huge user base | Some advanced schema types locked behind premium |
| Schema Pro | Dedicated schema plugin, granular control | Paid only |
Rank Math is the best option for most WordPress sites. The free version handles Article, Organization, Breadcrumb, FAQ, and HowTo schema automatically.
Option 3: JavaScript Injection (SPAs, Dynamic Content)
For React, Vue, Next.js, or other JavaScript-heavy sites, you can inject schema dynamically:
// Create schema object
const articleSchema = {
"@context": "https://schema.org",
"@type": "Article",
"headline": document.querySelector('h1')?.textContent || 'Article',
"datePublished": document.querySelector('time')?.getAttribute('datetime'),
"author": {
"@type": "Person",
"name": document.querySelector('.author-name')?.textContent
}
};
// Inject into head
const script = document.createElement('script');
script.type = 'application/ld+json';
script.textContent = JSON.stringify(articleSchema);
document.head.appendChild(script);
Google can render JavaScript, but it’s better to have schema in the initial HTML response. If you’re using Next.js, use next/head to include schema server-side. For Nuxt, use useHead().
Using AI to Generate Schema Markup
Writing JSON-LD by hand is tedious and error-prone. One misplaced comma and your schema breaks. Use AI to generate it.
The key is giving the AI enough context to generate schema that matches your content. Here are the prompts I use.
AI Prompt: Complete Article Schema
Generates everything you need for a single article:
Generate complete JSON-LD schema markup for this article. I need production-ready code.
SITE INFORMATION:
- Site name: [Your Site Name]
- Site URL: https://yoursite.com
- Organization name: [Your Organization]
- Logo URL: https://yoursite.com/logo.png
- Author name: [Author Name]
- Author Twitter: @authorhandle
- Author LinkedIn: linkedin.com/in/author
ARTICLE DETAILS:
- Full URL: [https://yoursite.com/category/article-slug/]
- Title: [Exact H1 title]
- Meta description: [Your meta description]
- Published date: [YYYY-MM-DD]
- Last modified: [YYYY-MM-DD]
- Featured image URL: [Full image URL]
- Image dimensions: [width x height]
- Word count: [approximate]
- Category/Section: [Category name]
ARTICLE CONTENT:
[Paste the full article text here]
GENERATE:
1. Article schema with all recommended properties
2. BreadcrumbList schema matching the URL structure
3. If the content contains Q&A pairs, add FAQPage schema
4. If the content is step-by-step tutorial, add HowTo schema
5. Connect all schemas with proper @id references
OUTPUT REQUIREMENTS:
- Valid JSON-LD wrapped in script tags
- Use @graph to combine multiple schema types
- Include @id properties for entity linking
- Format with proper indentation
- No trailing commas
AI Prompt: Schema Audit and Fix
Already have schema? Find and fix problems:
Audit this schema markup and fix any issues.
PAGE URL: [URL]
CURRENT SCHEMA:
[Paste your existing JSON-LD here]
VISIBLE PAGE CONTENT:
[Paste or describe what users actually see on the page]
CHECK FOR:
1. JSON syntax errors (missing commas, brackets, quotes)
2. Missing required properties for each schema type
3. Data mismatches (schema says something different than the page shows)
4. Incorrect date formats (should be ISO 8601)
5. Invalid URLs (must be full https:// URLs)
6. Missing @id references
7. Opportunities for additional schema types
PROVIDE:
- List of all issues found with explanations
- Corrected JSON-LD code ready to deploy
- Any additional schema types that would benefit this page
AI Prompt: Bulk Schema for Multiple Pages
When you need schema for your entire site:
Generate schema markup for multiple articles. Output one complete JSON-LD block per article.
SITE-WIDE CONSTANTS:
- Site name: [Name]
- Site URL: https://yoursite.com
- Organization @id: https://yoursite.com/#organization
- Website @id: https://yoursite.com/#website
- Default author: [Name]
- Default author URL: https://yoursite.com/author/name/
ARTICLES TO PROCESS:
Article 1:
- URL: /category/article-1/
- Title: [Title]
- Description: [Description]
- Published: 2026-01-15
- Category: [Category]
- Has FAQ section: Yes/No
- Is tutorial: Yes/No
Article 2:
- URL: /category/article-2/
- Title: [Title]
- Description: [Description]
- Published: 2026-01-20
- Category: [Category]
- Has FAQ section: Yes/No
- Is tutorial: Yes/No
[Add more articles...]
FOR EACH ARTICLE, GENERATE:
- Article schema
- BreadcrumbList schema
- FAQPage schema (if marked Yes)
- HowTo schema (if marked Yes)
OUTPUT FORMAT:
Label each block with the article URL for easy identification.
AI Prompt: Hugo Template Schema
Have AI write your Hugo template:
Create a Hugo partial template for JSON-LD schema markup.
SITE CONFIGURATION (hugo.toml params):
- title: [Site Title]
- description: [Site description]
- author: [Default author name]
- authorUrl: [Author page URL]
- logo: [Logo path]
- social: [Array of social URLs]
THE TEMPLATE MUST:
1. On homepage: Output WebSite + Organization schema using @graph
2. On regular pages: Output Article + BreadcrumbList schema using @graph
3. Pull values from front matter where available, fall back to site params
4. Generate breadcrumbs dynamically from URL path
5. Use proper @id references to link entities
6. Format dates in ISO 8601
7. Handle missing values gracefully (no empty strings or null values)
FRONT MATTER FIELDS TO SUPPORT:
- title
- description
- date
- lastmod
- image
- author (override)
Output the complete partial file ready to save as layouts/partials/schema.html
After AI generates schema, validate it. AI can make mistakes with JSON syntax. Run it through Google’s Rich Results Test before deploying.
Testing and Validating Your Schema
Most people add schema, never test it, and wonder why they’re not getting rich snippets. Or they have broken schema throwing errors for months without knowing.
Test before deploying. Monitor after.
The Tools
| Tool | What It Does | URL |
|---|---|---|
| Rich Results Test | Tests if your schema qualifies for rich results | search.google.com/test/rich-results |
| Schema Markup Validator | Validates against schema.org specs | validator.schema.org |
| JSON Lint | Pure JSON syntax validation | jsonlint.com |
| Search Console | Monitors schema errors site-wide | search.google.com/search-console |
| Schema Markup Generator | Generates schema with a visual interface | technicalseo.com/tools/schema-markup-generator |
Common Errors and Fixes
Based on research from Zeo, here are the errors you’ll hit most often:
| Error | What Went Wrong | The Fix |
|---|---|---|
| Missing required property | Schema type needs fields you didn’t include | Check schema.org for required properties |
| Invalid JSON syntax | Missing comma, extra comma, wrong brackets | Run through jsonlint.com first |
| Invalid URL format | Relative URL or missing protocol | Always use full https:// URLs |
| Invalid date format | Wrong date structure | Use ISO 8601: 2026-01-25T08:00:00+00:00 |
| Data mismatch | Schema says something page doesn’t show | Schema must match visible content |
| Wrong quotation marks | Curly quotes from Word/Docs | Use straight quotes only: " not " |
| Incorrect schema type | Using wrong type for content | Match schema type to actual content |
The data mismatch is critical. Google explicitly states: schema must describe content visible on the page. If your FAQ schema has questions users can’t see, that’s misleading markup. Google can and will issue manual actions.
The Testing Workflow
Step 1: Validate JSON Syntax Paste your JSON-LD into jsonlint.com. Fix any syntax errors. This catches missing commas, brackets, quote issues.
Step 2: Test in Rich Results Test Go to Google’s Rich Results Test. Enter your URL (or paste code directly). Check for:
- Errors (must fix)
- Warnings (should fix)
- Rich result eligibility
Step 3: Validate Against Schema.org Use validator.schema.org for a deeper check. This catches issues the Rich Results Test might miss.
Step 4: Deploy and Monitor After deploying, go to Search Console > Enhancements. Check each schema type report (Articles, FAQPage, HowTo, etc.) for errors across your site.
Step 5: Request Indexing In Search Console, request indexing for updated pages. Rich results can take days to weeks to appear.
Schema Strategy by Page Type
Different pages need different schema:
| Page Type | Schema Types to Include |
|---|---|
| Homepage | WebSite + Organization (using @graph) |
| Article/Blog Post | Article + BreadcrumbList + FAQPage (if FAQs present) |
| How-To Guide | Article + HowTo + BreadcrumbList |
| Product Review | Article + Review + Product + BreadcrumbList |
| Category/Hub Page | CollectionPage + BreadcrumbList |
| Author Page | Person + ProfilePage |
| About Page | Organization + AboutPage |
| Contact Page | ContactPage + Organization |
Always include BreadcrumbList on every page except homepage.
2026 Schema Updates
Google deprecated seven schema types in January 2026 (source): Book Actions, Course Info, Claim Review, Estimated Salary, Learning Video, Special Announcement, and Vehicle Listing.
The core types for content sites are still supported: Article, FAQPage, HowTo, Organization, WebSite, BreadcrumbList, Product, Review, and LocalBusiness.
If you’re building a content site, you’re not affected. Focus on the fundamentals.
Mistakes That Kill Your Schema
Based on research from Zeo and Dynamic Schema:
1. Marking up content users can’t see - FAQ schema with 10 questions but page only shows 3? Google can penalize you.
2. Copying schema from Word or Google Docs - Curly quotes break JSON. Use a code editor or straight quotes only.
3. Using the wrong schema type - Don’t use Product schema for a blog post. Match the type to the content.
4. Missing required properties - Every schema type has required properties. Missing them means no rich results.
5. Not keeping schema updated - Schema says “dateModified: 2024-06-15” but you updated yesterday? That’s a mismatch.
6. Over-implementing schema - You don’t need 15 schema types on one page. Use what’s relevant.
Implementation Checklist
Site-Wide (implement once):
- WebSite schema on homepage
- Organization schema on homepage
- Logo properly referenced with dimensions
- sameAs properties linking to social profiles
Every Page:
- BreadcrumbList schema (except homepage)
- Appropriate page-type schema (Article, HowTo, etc.)
- All @id references are consistent
Content-Specific:
- FAQPage for visible FAQ sections
- HowTo for step-by-step tutorial content
- Review for review/comparison content
Before Deploying:
- JSON syntax validates (jsonlint.com)
- Rich Results Test shows no errors
- Schema.org validator passes
- Schema matches visible page content
After Deploying:
- Request indexing in Search Console
- Monitor Search Console Enhancements reports
- Check rich results appearing (give it 2-4 weeks)
What to Do Today
Schema markup is free visibility. The 20-40% CTR improvement on pages with rich results makes this one of the highest-ROI technical SEO tasks you can do.
Here’s the action plan:
- Add WebSite and Organization schema to your homepage - Use the templates above or the AI prompt to generate them
- Add Article and BreadcrumbList schema to your templates - If you’re on Hugo, use the partial I provided. If you’re on WordPress, install Rank Math
- Test everything - Run your pages through Rich Results Test before deploying
- Monitor in Search Console - Check the Enhancements reports weekly for the first month
That’s it. No complexity. Just the fundamentals done right.
Once your schema is in place, you’re ready to optimize for the next level of search visibility: AI Overviews. That’s covered in the AI Overview Optimization guide.
Keep Building
Related guides:
- AI Internal Linking - Connect your content intelligently
- AI Overview Optimization - Get featured in AI answers
- AI Site Architecture - Structure your site for SEO
- AI Silo Structure - Organize content into topic clusters
- AI Technical SEO Audit - Find and fix technical issues