Technical SEO

Schema Markup: A Plain-English Guide to Structured Data

Schema markup sounds technical but it is not that hard. Here is how to add it, which types matter, and what results you can expect.

11 min read
SEOToolls Team

We added FAQ schema to a client's top 10 blog posts. Within three weeks, two of those posts started showing FAQ rich results in Google. Click-through rate on those pages jumped from 3.2% to 7.8%. Same content, same rankings — the only change was structured data telling Google "hey, there are FAQs here."

Schema markup is code you add to your pages that helps search engines understand your content better. It doesn't directly improve rankings, but it can earn you rich results — those enhanced listings with stars, FAQs, prices, or other visual elements that stand out on the search results page.

How Schema Markup Actually Works

Think of schema as labeling your content for machines. When you write "John Smith, CEO of Acme Corp" on your page, a human understands that's a person with a job title at a company. Google can probably figure it out too, but schema makes it explicit: this is a Person, their name is John Smith, their jobTitle is CEO, and their worksFor is Organization: Acme Corp.

The markup uses a vocabulary from schema.org, and Google supports a subset of those types for rich results. You add the markup as JSON-LD in your page's head section — it's invisible to visitors but readable by search engines.

Schema Types That Actually Get Rich Results

Not every schema type triggers visible rich results. Here are the ones that do, based on what we've seen working:

Article schema: Tells Google this is an article, who wrote it, and when. Supports features like the "Top stories" carousel for news content.

FAQ schema: Displays question-answer pairs directly in search results. Powerful for informational content. Each FAQ item takes up more SERP real estate, pushing competitors further down the page. However, Google has been showing these less frequently since late 2023, so don't count on them appearing for every page.

HowTo schema: For step-by-step guides. Can display individual steps with images in search results. Works well for DIY content, recipes, and technical tutorials.

Product schema: Displays price, availability, and review ratings. Essential for e-commerce. A product listing with stars, price, and "In stock" status gets dramatically more clicks than a plain blue link.

Review/AggregateRating schema: Those star ratings you see in search results. Can apply to products, services, software, books, and more. Increases CTR by about 15-25% in our experience.

How to Add Schema Markup

The easiest method is JSON-LD, which Google recommends. It goes in a script tag in your page's head (or body — both work).

Here's a basic Article schema example:

Step 1: Open Google's Structured Data Markup Helper or use the Schema.org documentation as reference.

Step 2: Create the JSON-LD object with the required and recommended properties. For Article, that's @type, headline, datePublished, dateModified, author, and image at minimum.

Step 3: Paste the JSON-LD into a script tag with type="application/ld+json" on your page.

Step 4: Test with Google's Rich Results Test (search.google.com/test/rich-results). It shows you if your markup is valid and eligible for rich results, and highlights any errors or warnings.

If you're on WordPress, plugins like Yoast SEO or Rank Math add basic schema automatically. For custom schema (FAQ, HowTo), you'll either need a dedicated schema plugin or manual implementation.

Common Mistakes to Avoid

Don't add schema for content that doesn't exist on the page. If you mark up FAQs that aren't visible on the page, Google considers that a policy violation and may issue a manual action. The schema must match what users see.

Don't spam schema types. Adding every possible schema type to every page dilutes the signal. Use Article schema on articles, Product schema on product pages, FAQ schema on pages with actual FAQs. Each page gets the schema types relevant to its specific content.

Don't forget to test after changes. A single missing bracket or comma breaks the entire JSON-LD block. Always validate with the Rich Results Test after adding or modifying schema.

Don't use schema to manipulate rich results. Fake reviews, fabricated FAQ questions, or marked-up content hidden from users will get you a manual penalty. Google's guidelines are clear on this, and they enforce them.

What Results to Expect

Schema markup alone won't transform your SEO. Think of it as a multiplier on existing rankings. If you're ranking on page 3, a rich result won't help because nobody scrolls that far. If you're ranking positions 3-8, a rich result can meaningfully increase your click-through rate and push your effective visibility up.

Implementation typically takes 1-2 hours per schema type across a site (longer for e-commerce with hundreds of products). The payoff comes gradually — Google needs to recrawl your pages and decide to display the rich results. We usually see results within 2-4 weeks of implementation.

Start with the schema type most relevant to your primary content. For a blog, that's Article and FAQ. For e-commerce, it's Product and Review. For a local business, it's LocalBusiness. Get one type right, measure the impact, then add more if the results justify the effort.

Structured data is one of those SEO tactics that's relatively low effort and can produce outsized results when it works. It's also one of the few areas where you can directly influence how your search results look — not just where they rank, but how they appear. That visual differentiation matters when you're competing for clicks against nine other results on the same page.

Related SEO guides