Setting Up Schema Markup with Google's Rich Results Test
Master schema markup setup with Google's Rich Results Test. Step-by-step guide for founders to validate structured data and earn rich results fast.
Setting Up Schema Markup with Google's Rich Results Test
You've shipped. Your product works. But Google doesn't know what you do, and your competitors' snippets own the search results while yours look invisible.
This is where schema markup enters the game. It's the difference between a plain blue link and a rich snippet that shows ratings, prices, availability, or FAQs directly in search results. And the tool every founder should bookmark to validate it before pushing live is Google's Rich Results Test.
Schema markup isn't optional anymore. It's the bridge between what your site says and what search engines understand. It's also the foundation for AI Engine Optimization—the reason ChatGPT 5.5 cites some sources over others. When you implement schema correctly and validate it with the Rich Results Test, you're not just winning Google. You're training AI models to find and cite your content.
This guide walks you through everything: what schema markup is, why it matters for founders, how to implement it, and how to validate it properly before your code goes live.
What Is Schema Markup and Why It Matters for Founders
Schema markup is structured data—machine-readable code that tells search engines exactly what your content means. Instead of Google guessing that "$99" is a price, you explicitly label it. Instead of hoping Google understands you sell SaaS, you tell it.
The format most commonly used today is JSON-LD (JavaScript Object Notation for Linked Data), which lives in the <head> section of your HTML. It's human-readable, easy to maintain, and Google's preferred format.
Why does this matter for founders?
Rich results earn clicks. A product listing with a star rating gets clicked more than plain text. An FAQ schema means your answers appear as expandable boxes in search results. A job posting schema gets indexed in Google Jobs. These aren't vanity features—they're CTR multipliers.
Schema is foundational for AEO. When you're trying to get cited by ChatGPT or Perplexity, structured data signals credibility. It tells AI models that your content is organized, authoritative, and worth citing. If you're serious about getting cited by ChatGPT 5.5 as a brand-new founder, schema markup is non-negotiable.
It's fast to implement. Unlike link building or content strategy, which take months, you can add schema to your site in hours and see validation results immediately.
The Rich Results Test is your quality gate. Before you push code to production, you need to know whether your schema is valid. Google's Rich Results Test does exactly that—in seconds.
Prerequisites: What You Need Before You Start
Before diving into implementation, make sure you have these in place:
A live website or staging environment. You need a URL to test. If you're still in development, use a staging domain or localhost with a tunnel service like ngrok.
Access to your site's HTML or header. You need to be able to add code to your <head> section. If you're on WordPress, you can use plugins. If you're on Shopify, you have theme editing access. If you're building custom, you control this directly. If you're unsure where to add code, check your platform's documentation first.
Understanding of your content type. Schema markup varies by what you're marking up. Are you selling products? Writing articles? Offering services? Running a SaaS? Each has a different schema type. Schema.org is the official vocabulary—bookmark it.
A text editor or code editor. You'll be writing JSON-LD. Any text editor works, but VS Code is free and excellent for this.
Google Search Console access. Not strictly required for testing, but you'll want it eventually to monitor rich results performance. Set it up if you haven't already.
Understanding Schema Markup Types and Vocabulary
Not all schema markup is created equal. Google recognizes specific types for rich results. The wrong type won't validate.
Common rich result types for founders:
- Product schema – For e-commerce sites. Includes price, rating, availability, images.
- Article schema – For blog posts, news, and long-form content. Includes headline, image, author, date published.
- FAQ schema – For frequently asked questions. Shows expandable Q&A in search results.
- Organization schema – For your company. Includes name, logo, contact, social profiles.
- LocalBusiness schema – For physical locations. Includes address, phone, hours.
- SoftwareApplication schema – For apps or SaaS products. Includes rating, price, download links.
- JobPosting schema – For job listings. Gets indexed in Google Jobs.
- Event schema – For conferences, webinars, or events. Shows date, location, registration.
- BreadcrumbList schema – For site navigation. Shows breadcrumb trails in search results.
The official Schema.org vocabulary documents all available types. When you're planning your markup, start there.
For most founders shipping a product or service, you'll start with Organization schema (to establish who you are) and SoftwareApplication schema (if you're a SaaS) or Product schema (if you're e-commerce). Then layer in Article schema for your blog content.
Step 1: Choose Your Schema Type and Plan Your Markup
Before writing a single line of code, decide what you're marking up.
Let's say you're a SaaS founder selling a project management tool. Your priority schema types are:
- Organization schema – For your homepage and company profile.
- SoftwareApplication schema – For your product pages.
- Article schema – For your blog posts.
- FAQ schema – For your help documentation or pricing page.
Once you've identified your types, map out where they'll live on your site:
- Organization schema goes on your homepage (and can be repeated on every page).
- SoftwareApplication schema goes on your pricing or product page.
- Article schema goes on every blog post.
- FAQ schema goes on your FAQ or pricing page.
Write this down. You'll use it as your implementation checklist.
Next, gather the information you'll need for each schema type. For Organization schema, you'll need:
- Your company name
- Your logo URL
- Your website URL
- Your contact email or phone
- Your social media profiles
For SoftwareApplication schema, you'll need:
- Your app name
- Description
- Price (if applicable)
- Currency
- Rating (if you have reviews)
- Number of ratings
- Download/access URL
Having this information ready before you start coding saves time and reduces errors.
Step 2: Write Your Schema Markup in JSON-LD Format
JSON-LD is the easiest format to write and maintain. It's a block of code that sits in your <head> section without interfering with your HTML structure.
Here's a basic Organization schema example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Seoable",
"url": "https://seoable.dev",
"logo": "https://seoable.dev/logo.png",
"description": "All-in-one SEO and AI Engine Optimization platform",
"email": "hi@seoable.dev",
"sameAs": [
"https://twitter.com/seoabledev",
"https://linkedin.com/company/seoable"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "Customer Support",
"email": "hi@seoable.dev"
}
}
</script>
Notice the structure:
@contextalways points tohttps://schema.org@typespecifies what kind of thing this is- Properties are key-value pairs that describe the thing
- Nested objects (like
contactPoint) have their own@type
Here's a SoftwareApplication schema example:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Seoable",
"description": "SEO and AEO platform delivering domain audit, brand positioning, keyword roadmap, and 100 AI-generated blog posts in under 60 seconds",
"url": "https://seoable.dev",
"image": "https://seoable.dev/product-image.png",
"applicationCategory": "BusinessApplication",
"offers": {
"@type": "Offer",
"price": "99",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"ratingCount": "247"
}
}
</script>
And here's an Article schema for a blog post:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Setting Up Schema Markup with Google's Rich Results Test",
"description": "Master schema markup setup with Google's Rich Results Test. Step-by-step guide for founders.",
"image": "https://seoable.dev/article-image.png",
"datePublished": "2026-01-15",
"dateModified": "2026-01-15",
"author": {
"@type": "Person",
"name": "Seoable Team"
},
"publisher": {
"@type": "Organization",
"name": "Seoable",
"logo": {
"@type": "ImageObject",
"url": "https://seoable.dev/logo.png"
}
}
}
</script>
When writing schema, follow these rules:
- Always include
@contextand@type - Use the exact property names from Schema.org
- Include all recommended properties for your type
- Use valid date formats (YYYY-MM-DD for dates)
- Use correct currency codes (USD, EUR, GBP, etc.)
- Don't make up properties—stick to what Schema.org defines
If you're unsure whether a property is correct, check the official Schema.org documentation for your type.
Step 3: Add Your Schema Markup to Your Site
Now that you have your JSON-LD code, you need to add it to your site.
For static HTML sites: Open your HTML file and paste the <script type="application/ld+json"> block into the <head> section, before the closing </head> tag.
For WordPress: Use a plugin like Yoast SEO or Rank Math which have built-in schema markup builders. Or manually add the code to your theme's functions.php file using the wp_head hook.
For Shopify: Use your theme's code editor. Go to Online Store → Themes → Edit Code, then add the schema to your theme.liquid file in the <head> section. Or use a Shopify app like Hextom SEO for easier management. If you want to get your Shopify store optimized for both Google and AI, check out Shopify Schema Markup That Wins Both Google and ChatGPT for exact implementation steps.
For Next.js/React: Use the next/head component or a library like next-seo. Import Head and add your schema inside:
import Head from 'next/head';
export default function HomePage() {
return (
<>
<Head>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
"@context": "https://schema.org",
"@type": "Organization",
// ... rest of schema
})
}}
/>
</Head>
{/* page content */}
</>
);
}
For Vue/Nuxt: Use vue-meta or Nuxt's built-in head management. In Nuxt, you can define schema in your page component or layout. For detailed guidance on rich results in Nuxt with proper schema setup, refer to the Nuxt SEO documentation.
For Framer: If you're building a marketing site on Framer, you'll need to inject schema through custom code. Framer allows custom HTML in the head—use that section. For a comprehensive walkthrough on Framer SEO including schema markup implementation, check out the step-by-step guide.
After adding the code, save and deploy your changes. Wait a few minutes for the code to be live, then move to testing.
Step 4: Test Your Schema with Google's Rich Results Test
This is the critical step. Don't skip it.
Go to Google's Rich Results Test. You'll see two input options:
- Test by URL – Paste your live page URL and test it directly.
- Test by code snippet – Paste your HTML or JSON-LD code for testing before deployment.
If you're testing a live page:
- Copy your page URL (e.g.,
https://seoable.dev) - Paste it into the URL field
- Click "Test URL"
- Wait for the test to complete (usually 10-30 seconds)
Google will crawl your page, extract the schema markup, and report whether it's valid and eligible for rich results.
If you're testing code before deployment:
- Copy your full page HTML or just the JSON-LD
<script>block - Click "Test by code snippet"
- Paste your code
- Click "Test code"
This is faster and safer—you catch errors before pushing live.
Understanding the results:
If your schema is valid, you'll see a green checkmark and a message like "Valid markup found." You'll also see a preview of what the rich result looks like in search results.
If there are errors, you'll see red warnings. Common errors include:
- Missing required properties – You forgot a field that Google requires. The test will tell you which one.
- Invalid data type – You used text where a number was expected, or vice versa.
- Malformed JSON – Your JSON syntax is broken (missing comma, extra bracket, etc.).
- Invalid URL – A URL field points to a broken or invalid URL.
- Invalid date format – Your date doesn't match the required format.
When you see an error, fix it and test again. Keep testing until you see that green checkmark.
Pro tip: Use Schema Markup Validator as a secondary check. It's the official schema.org validator and catches issues the Rich Results Test might miss. Copy your JSON-LD code, paste it there, and validate. If both tools pass, you're good.
Step 5: Monitor and Maintain Your Schema Markup
Schema markup isn't a one-time setup. It needs maintenance.
After your schema validates:
Monitor in Google Search Console. Go to Search Console → Enhancements → Rich Results. You'll see reports on how many pages have valid markup and how many are showing in search results. If you see errors appear over time, investigate immediately.
Check quarterly. Every three months, pick a few key pages and re-test them with the Rich Results Test. Website updates sometimes break schema.
Update schema when content changes. If you change your product price, update the price in your schema. If you publish a new article, add Article schema to it. If you add new reviews, update your rating.
Keep property values accurate. If your logo URL changes, update it everywhere. If you move offices, update your address. Stale schema is worse than no schema.
Advanced: Using Schema Markup Generators
If writing JSON-LD manually feels tedious, generators can help. They won't replace human review, but they save time.
Google's own tools:
- Structured Data Markup Helper – Tag elements on your page and Google generates schema for you.
Third-party generators:
There are 11+ schema markup generators available, each with different strengths. Some popular ones:
- Schema.org – The official source. Not a generator, but the definitive reference.
- Merkle's Structured Data Generator – Good for basic schemas.
- Yoast's Schema Generator – Integrates with WordPress for easy management.
- Rank Math Schema Generator – Another WordPress plugin with a visual builder.
Using a generator is fine as a starting point, but always:
- Review the generated code before deploying
- Test it with the Rich Results Test
- Manually edit it to match your exact data
- Validate again after editing
Generators often produce bloated or incomplete schema. Your manual review ensures accuracy.
Common Schema Markup Mistakes Founders Make
Avoid these pitfalls:
Mistake 1: Wrong schema type. Don't use Product schema for a service. Don't use Article schema for a landing page. Match your schema type to your content type.
Mistake 2: Missing required properties. Each schema type has required properties. If you skip them, the schema won't validate. Check Schema.org for your type's requirements.
Mistake 3: Outdated or fake data. If you list a price in schema but charge differently at checkout, you'll confuse users and Google. Keep schema data accurate and current.
Mistake 4: Not testing before deployment. Pushing schema live without testing the Rich Results Test first means errors sit on your site for weeks before you notice. Test first, always.
Mistake 5: Using Microdata or RDFa instead of JSON-LD. These older formats still work, but JSON-LD is Google's preference and easier to maintain. Stick with JSON-LD.
Mistake 6: Duplicating schema across pages. If you add Organization schema to every page, you're creating noise. Put it once on your homepage and optionally on key pages. Use Article schema only on articles, Product schema only on products.
Mistake 7: Ignoring mobile. Schema markup should be identical on mobile and desktop. If your mobile site strips code, that's a problem. Test both versions.
Schema Markup and AI Engine Optimization
Here's why this matters beyond Google:
When you're building for AI citations—getting your content cited by ChatGPT, Perplexity, or Claude—structured data signals authority and organization. AI models use schema markup as a credibility indicator. Well-structured, properly validated schema tells them your content is trustworthy.
If you're serious about AI Engine Optimization, schema markup is foundational. It's part of the 5 pillars of modern SEO every founder should master—specifically the "crawl" pillar, which includes making your content machine-readable.
When you combine schema markup with strong topical authority and citation-worthy content, you create the conditions for AI models to find and cite you. This is especially important if you're launching a new product or building a new brand. Getting cited by ChatGPT 5.5 as a brand-new founder requires proving that your content is structured, authoritative, and worth citing—and schema markup is how you prove the first part.
Real-World Implementation Example: SaaS Product
Let's walk through a complete example. You're a SaaS founder with a project management tool. Here's what your schema strategy looks like:
Homepage (Organization schema):
Add Organization schema to establish who you are and build trust. Include your logo, contact info, and social profiles. This appears on every page.
Pricing page (SoftwareApplication + FAQ schema):
Add SoftwareApplication schema to describe your product, price, and rating. Add FAQ schema for common pricing questions. This helps Google show rich snippets for both the product and FAQs.
Blog posts (Article schema):
Add Article schema to every blog post with headline, author, date, and image. This makes your blog content eligible for rich snippets and helps AI models understand your expertise.
Help documentation (FAQ schema):
Add FAQ schema to your help pages. This shows your answers in expandable boxes in search results, increasing click-through rate.
Test each one:
- Test homepage Organization schema with Rich Results Test
- Test pricing page SoftwareApplication schema
- Test pricing page FAQ schema
- Test a blog post Article schema
- Test a help page FAQ schema
Once all tests pass, deploy. Then monitor in Search Console for 2-4 weeks to see rich results appear in search.
Key Takeaways: What You Need to Remember
Schema markup is machine-readable code that tells search engines what your content means. Without it, Google and AI models guess. With it, they know.
JSON-LD is the format to use. It's easy to write, easy to maintain, and Google's preference. Stick with it.
Google's Rich Results Test is your quality gate. Always test your schema before pushing live. It takes 30 seconds and catches errors that could sit on your site for months.
Different content needs different schema types. Organizations need Organization schema. Products need Product schema. Articles need Article schema. Match the type to the content.
Schema markup is foundational for AI citations. If you're trying to get cited by ChatGPT or Perplexity, clean, valid schema markup signals credibility and organization. It's part of the 100-day AEO curriculum that takes you from zero to cited.
Keep schema accurate and current. Stale or fake schema confuses users and damages trust. Update it when your data changes.
Monitor in Search Console. After deployment, track how many pages have valid markup and how many are showing rich results. Errors will appear over time—catch them early.
Schema markup isn't a hack or a shortcut. It's a foundational SEO practice that separates founders who ship with visibility from those who ship invisibly. The Rich Results Test is your validation tool—bookmark it, use it before every deployment, and make it part of your workflow.
Your competitors aren't using schema markup properly. Most don't validate with the Rich Results Test. You're ahead if you do. Ship it.
Get the next
dispatch on Monday.
One email per week with the most important SEO and AEO moves for founders. Unsubscribe in one click.