SEO

What Is Schema Markup? How Structured Data Helps SEO and How to Set It Up

Talha AslanTalha Aslan 19 min read 3 views

Schema markup is the code behind the star ratings, prices and event dates you see in search results. I have worked in search marketing since 2012, and few SEO topics attract as much confusion. Some clients treat it as a secret ranking switch. Others, meanwhile, dismiss it as busywork. In this guide I explain what structured data really does, which types still earn visible features, which ones Google has retired, and how you can set everything up step by step.

What is schema markup and what does it do?

Schema markup is structured data code that labels the information on a page with the schema.org vocabulary, so search engines can read it as facts: this is a product, this is its price, this is its stock status. Google uses it to understand content and to make pages eligible for rich results.

Here is a simple way to picture it. A human visitor sees "$49" and instantly knows it is a price. A crawler, however, sees a string of characters. Structured data, in other words, removes that ambiguity. As a result, Google does not have to guess; it can confirm what it sees against your own declaration.

Google, Microsoft and Yahoo launched schema.org as a joint project, and Yandex joined soon after. Also, today the vocabulary holds more than 800 types and over 1,500 properties. That said, Google turns only a small share of those types into visual search features. So keep one distinction in mind from the start: "it exists on schema.org" and "it shows up on Google" are two different things.

What does structured data actually change in Google?

Structured data has two separate effects. The first is understanding. Google can tell with less guesswork whether your page is a recipe, a job listing or a local business page. The second is presentation. For eligible types, your result can gain extra elements such as ratings, price, availability, dates or images.

Google's own introduction to structured data lists case studies that put numbers on the presentation effect. For example, Rotten Tomatoes measured a 25% higher click-through rate on pages enhanced with structured data. Nestlé reported that pages appearing as rich results had an 82% higher click-through rate than pages without them. Finally, Food Network converted 80% of its pages and saw a 35% increase in visits.

Do not copy those numbers into your own forecast. After all, each one comes from a large brand measuring its own site. Still, the direction is clear. When two results sit in the same position, the more informative one catches the eye first. In short, structured data improves your shop window, not your position in the queue.

Does schema markup directly improve rankings?

No, at least not directly. Google does not present structured data as a general ranking signal. Its official structured data guidelines also state that correct markup does not guarantee a rich result. Instead, the algorithm decides which presentation gives the user the best experience.

So does that make schema markup worthless? Not at all. The indirect effects are real. A more eye-catching result tends to earn more clicks. When Google classifies your content accurately, your page also matches the right intent instead of drifting into unrelated queries. In addition, consistent product and business data helps Google's shopping and maps surfaces.

I usually put it to clients like this. Schema will not lift a weak page to the top. On the other hand, it helps a strong page collect the clicks it deserves. Therefore treat it as a layer on top of good content and a solid technical base, never as a replacement for either.

JSON-LD, Microdata or RDFa: which format should you choose?

Google reads all three formats, but it clearly recommends JSON-LD. The reason is practical, because maintenance matters. JSON-LD lives in its own script block, separate from the visible HTML. Consequently a redesign rarely breaks it, and it is the easiest option to maintain. The table below sums up the differences.

CriterionJSON-LDMicrodataRDFa
Where the code sitsA separate script blockAttributes inside HTML tagsAttributes inside HTML tags
Google's stanceRecommended formatSupportedSupported
Survives template changesYes, in most casesOften breaks with the templateOften breaks with the template
Dynamic generationEasy, server side or via a tag managerNeeds template editsNeeds template edits
ReadabilityAll in one blockScattered across the pageScattered across the page
Best fitAlmost every new projectLegacy templates that already use itSemantic web projects, some CMSs

For new builds I always choose JSON-LD. When I inherit an older site that runs on Microdata, I do not rip it out on day one. First I check the error reports. If the markup works, I move it to JSON-LD during the next redesign. Breaking something that works purely for format preference is an unnecessary risk.

How do you read a JSON-LD block?

JSON-LD can look intimidating at first, but the logic resembles filling in a form. The block sits inside a script tag in the head or body of the page. Break a typical local business block into parts and you will find these lines:

  • @context: It declares the vocabulary. In almost every case, that is schema.org.
  • @type: It names the kind of entity. Examples include LocalBusiness, Product, Article and Event.
  • name, address, telephone: These are properties of the type. Google's documentation for each type lists which ones are required.
  • Nested objects: Some values carry their own type. For instance, the address property holds a PostalAddress object.
  • @id: It gives the entity a stable identifier. That way you can connect the same organization across many pages.

Here is the key rule. Every value in the block must match what the visitor sees on the page. If the page says you open from 9 am to 6 pm, the JSON-LD must not list other hours. Otherwise, mismatches erode trust and can turn into a guideline violation.

When a page needs several entities, you can use a @graph array. A blog post, for example, can hold an Article, a Person for the author and an Organization for the publisher in one array. Then give each one an @id and reference them from each other. Google then reads them as one connected set of facts instead of loose fragments.

If you prefer not to write the code by hand, our free schema generator lets you pick a type, fill in the fields and copy a ready JSON-LD block. After that, all you need to do is test it.

Which schema types matter most for businesses?

You do not need every type on every site. Instead, pick the type that matches what the page really is. In my experience, most businesses need something from this list:

  • Organization: Logo, legal name, contact points and social profiles. It belongs on every corporate home page.
  • LocalBusiness: Address, opening hours and phone number. It is the core type for any business with a physical location.
  • Product with Offer: Price, availability, shipping and returns. It is the most valuable type for online stores.
  • Article: Headline, author, publish date and update date for blog and news content.
  • BreadcrumbList: The page's position in your site hierarchy.
  • Event: Concerts, seminars, trainings and other dated events.
  • JobPosting: Job listings. This type is your way into Google's job search experience.
  • VideoObject: Duration, thumbnail and upload date of an embedded video.

There are also narrower types such as ProfilePage and DiscussionForumPosting. For example, if you run a community forum, the latter makes sense. Adding forum markup to a service website, however, is simply a false statement.

Which rich result types does Google still support?

Google lists supported features in the search gallery on Search Central. When I prepared this guide, the gallery included article, breadcrumb, carousel, course list, dataset, discussion forum, education Q&A, employer aggregate rating, event, image metadata, job posting, local business, math solver, movie, organization, product, profile page, Q&A, recipe, review snippet, software app, speakable, subscription and paywalled content, vacation rental and video.

I recommend reading that list with two caveats. First, some features only appear in certain countries or languages. A feature that shows in English results may not show the same way elsewhere. Second, the gallery keeps changing. For that reason, a checklist an agency wrote two years ago may now be incomplete or simply wrong.

My habit is simple. Before any new project, I reread the gallery and Google's documentation updates page. That ten minute check keeps you from spending hours on a feature that no longer appears.

Which structured data types has Google retired?

Over the last few years, Google has retired a long list of rich results in the name of a simpler results page. The table below summarizes the main changes based on Google's official changelog.

Type or featureWhat happenedDate (Google changelog)
HowToRich result no longer shown, docs removedSeptember 2023
Sitelinks search boxFeature gone from results, docs removedNovember 2024
BreadcrumbListShown on desktop only, not on mobileJanuary 2025
Course info, estimated salary, learning video, special announcement, vehicle listingPhased out, docs removedJune and September 2025
ClaimReviewSearch display phased outAnnounced June 2025
Practice problemDocs removedNovember 2025
DatasetNow only for Dataset SearchNovember 2025
FAQRich result no longer shown, docs removedMay and June 2026

Read this table as a warning. A rich result is not a permanent right. In practice, Google can drop any display that sees little use or no longer adds value for users. So never build your strategy around one visual feature.

Should you remove FAQ markup from your site?

On May 8, 2026, Google added a deprecation notice to its FAQ rich result documentation, stating the feature would stop appearing in Search from May 7, 2026. Then, in June 2026, it removed the documentation entirely. The decline started earlier, though. Back in August 2023, Google had already limited FAQ results to well known, authoritative government and health websites.

You do not have to delete existing FAQPage code. Valid markup that matches the visible content also causes no errors. Moreover, FAQPage still exists in the schema.org vocabulary, and other systems may read it. However, writing new FAQ sections only to win a rich result no longer makes sense.

My advice: keep your FAQ section if it truly helps readers. If the questions come from real customer conversations, that content still earns long tail visibility and supports answer engine optimization. In other words, write the FAQ for people, not for Google.

How do you set up schema markup step by step?

I have followed the same order for schema markup setup for years. It prevents most redundant code and most of the inconsistencies that show up later:

  1. List your page templates. Home page, service pages, product pages, blog posts and the contact page.
  2. Assign a type to each template. Product for product pages, Article for posts, LocalBusiness for the contact page, and so on.
  3. Read Google's docs for required and recommended properties. Without the required fields, a page is not eligible.
  4. Generate values from the source. Pull price and stock from the database instead of typing them, so the page and the code always match.
  5. Validate on staging. Run the code through the Rich Results Test and the Schema Markup Validator.
  6. Publish and inspect the URL. Use the live test in Search Console's URL Inspection tool to confirm Google sees the markup.
  7. Monitor the reports. Check errors and warnings in Search Console's enhancement reports every week.

I want to stress step four. Hand written JSON-LD goes stale with the first price change. Dynamic generation takes a little more effort up front, yet it saves you years of maintenance.

How do you add schema in WordPress and hosted platforms?

If you run WordPress, popular SEO plugins already output basic Organization, WebSite, Article and BreadcrumbList markup. So your first job is to open the page source and see what exists. Adding the same type again through a second plugin creates duplicate and often conflicting data.

On ecommerce platforms such as Shopify and WooCommerce, the theme often outputs product markup. Theme code, however, is frequently incomplete. Shipping cost, return policy or brand can stay empty, for instance. In those cases you either edit the theme or fill the gaps with an app.

For custom builds, I suggest generating schema in the template layer on the server. Injecting it with JavaScript through Google Tag Manager is also technically possible. Still, for fast changing data like prices, server side output is more reliable. If you are planning a new site, the cheapest route is to include schema in the architecture from day one during web design.

How do you validate your code with the Rich Results Test?

Google's Rich Results Test scans a URL or a code snippet you paste in. Then it lists the rich result types you qualify for and flags errors or warnings field by field. Specifically, the tool only covers types that Google supports.

The Schema Markup Validator, run by schema.org, does a different job. It checks all schema.org syntax, including types Google ignores. That is why I use both. The Rich Results Test answers "Am I eligible on Google?" The validator answers "Is my code correct against the vocabulary?"

When you read the results, separate errors from warnings. An error means a required field is missing, and it blocks the rich result. A warning means a recommended field is missing. Your page stays eligible; it just looks less informative. Fix errors first, then the warnings with the highest commercial value.

How do you track structured data errors in Search Console?

A test tool checks one page. Search Console watches the whole site. When Google finds a supported type on your site, it adds a matching report under the enhancements or rich result status section. For example, you will see separate reports for product snippets, merchant listings, breadcrumbs or videos.

Each report splits pages into valid, valid with warnings and invalid. After you fix an issue, click "Validate fix". Google then recrawls the affected pages. This can take anywhere from a few days to a few weeks, so patience helps.

In addition, the "Search appearance" filter in the Performance report shows impressions and clicks for pages with rich results. That way you discuss the impact of your schema work with data instead of assumptions. To preview how your title and description will look, try our SERP preview tool as well.

Which mistakes can trigger a manual action?

Google can apply a manual action to sites that break its structured data guidelines. One detail matters here: such an action usually affects rich result eligibility, not your normal rankings. Even so, it means your effort goes to waste. These are the violations I see most often in the field:

  • Marking up hidden content. Showing reviews or prices only in the code and not on the page.
  • Self serving reviews. Adding stars to a LocalBusiness or Organization page with reviews the business itself controls. Google treats those pages as ineligible for star ratings.
  • Irrelevant types. Labeling a service page as a Product or an Event.
  • Fake ratings. Scores and reviews that do not come from real users.
  • Stale data. Past events, closed job listings, or sold out items still marked as in stock.

I recommend checking the Manual Actions report in Search Console once a month. If you find an action, fix the cause and then submit a reconsideration request.

Does schema markup help in AI search?

I hear this question in almost every meeting now. Google's documentation on AI features is direct about it. You do not need any special schema.org markup to appear in AI Overviews or AI Mode. The same page lists structured data that matches the visible text as part of general good practice.

In other words, schema markup is not a magic shortcut into AI answers. Even so, describing your entities consistently, meaning your organization, products and authors, helps machines understand you correctly. The sameAs property in Organization markup is especially useful here, because it ties your official profiles to one identity.

My approach is to avoid treating schema as a separate AI project. Well structured content, clear answers and credible sources do the heavy lifting. I cover this in more depth in my guides on writing content for AI Overviews and technical SEO after AI.

Why does product schema need extra care in ecommerce?

Product markup is the most commercial type of all, because it can show price, availability, ratings and shipping in results. Google evaluates it for two experiences: product snippets and merchant listings. On pages where people can buy, the Offer needs complete price, currency and availability values.

Google has also published dedicated documentation for merchant return policies and loyalty programs. Consequently, price alone is no longer enough. You can also describe shipping times, return conditions and member pricing. Shoppers look for exactly this information at the moment of decision.

The most common mistake I find is markup that still says "InStock" after an item sells out. The shopper sees availability in the result, clicks, and then lands on a "sold out" message. That creates frustration and a data mismatch at the same time. So always feed product schema from your product database. For large catalogs, planning schema alongside your category structure also makes the job easier.

Which schema combination makes sense for local businesses?

For local businesses such as clinics, restaurants, law firms or car repair shops, the core setup is simple. Put Organization on the home page and LocalBusiness, or a more specific subtype, on the contact or branch page. Dentist, Restaurant and AutoRepair are good examples of subtypes.

Inside LocalBusiness, the most useful properties are address, phone, opening hours, geo coordinates and price range. If you have several branches, give each branch its own page and its own LocalBusiness block. Piling ten addresses onto one page makes it harder for Google to know which location you mean.

Remember that your Google Business Profile carries most of the weight in local search. Schema is a supporting signal that confirms your website agrees with that profile. I walk through the other steps in my Google Maps SEO guide.

How do you measure the success of schema markup work?

To measure schema markup work, start with the right question. The question is not "Did my ranking go up?" It is "Did the click-through rate of pages with rich results change?" These are the metrics I track:

  • Valid items. The trend of valid pages in Search Console's enhancement reports.
  • Rich result impressions. Impressions and clicks isolated with the search appearance filter.
  • Click-through rate. The same page before and after the change, compared across periods with a similar average position.
  • Error count. A jump after a release usually means a template broke.

I suggest logging these numbers monthly in a simple sheet. Put template types in the rows, and valid items, errors, impressions and click-through rate in the columns. Then you will notice a theme update that broke product markup before traffic drops.

Account for seasonality too. Comparing November with February on an online store will mislead you. From my field experience, a meaningful read needs at least four to eight weeks of data; treat that as a starting range, not a guarantee.

What are the most common myths about structured data?

Over the years I have heard the same myths in client meetings again and again. Knowing them protects both your budget and your time.

First, many people believe more types always help. In reality, irrelevant types add nothing and can even violate the guidelines. Another myth treats rich results as permanent. The FAQ and HowTo stories prove otherwise. A third one expects schema to make up for thin content. A weak product description stays weak, even with a flawless Product block.

I also see a common promise in agency proposals: "We will add schema and your stars will appear." If your service page shows reviews you collected yourself, the rule on self serving reviews means those stars will most likely never appear. When someone makes that promise, ask which type they will use and which Google document backs it up.

The last myth is more technical. A green check in the test tool does not mean a rich result will follow. The test only shows eligibility. Google makes the final call based on the query and the user's context. Setting that expectation early saves your team from disappointment.

When should you hand schema markup work to a specialist?

For a small corporate site, you can add Organization and LocalBusiness markup yourself. Use a generator, test it and publish it. Some situations, however, call for expert support.

For example, a catalog with thousands of products, a multilingual setup, frequently changing prices or data from several systems all add complexity. Likewise, if Search Console keeps reporting new errors, the problem usually sits in the template or the data pipeline. I handle this kind of work as part of the technical audit within SEO consulting. For online stores, we align product data and schema together through ecommerce consulting.

If you want a second pair of eyes on your current setup, you can reach me through the contact page. In the first call we will talk openly about what is missing and what is unnecessary.

Final thoughts: how should you approach schema markup?

Schema markup is a translation layer that lets you speak the same language as search engines. It does not deliver rankings directly. Set up correctly, though, it strengthens how clearly Google understands you and how your result looks. Supported types change over time. Therefore review your setup regularly instead of installing it once and forgetting it.

Three steps will get you started. First, test the code that already exists on your site. Next, assign the right type to each template and generate the values from your data. Finally, watch errors and click-through rate in Search Console. Once that loop runs, structured data becomes a quiet, dependable part of your SEO.

Frequently Asked Questions

Do I need a paid tool to add schema markup?
No, you do not need any paid tool or license. The schema.org vocabulary is open, and both the Rich Results Test and the Schema Markup Validator are free. For a small business site, you can build the code with a generator and add it yourself. For large catalogs, the real cost is the development work that generates the data dynamically.
How long until rich results appear after I add schema markup?
There is no fixed timeline, because Google never guarantees rich results. First, Google has to recrawl the page, which can take a few days or a few weeks. After that, it decides per query whether to show the enhanced display. You can confirm right away that Google sees the code by running a live test in URL Inspection.
Where on the page should the JSON-LD code go?
You can place the JSON-LD block inside a script tag in either the head or the body of the page. Google reads both locations. What matters is that the code sits on the page it describes and matches the visible content. Most platforms put it in the head. Check the page source to make sure the same type does not appear twice.
Is FAQ schema still worth using?
Google stopped showing FAQ rich results in Search in May 2026 and removed the documentation in June 2026. Existing valid markup does no harm, so you do not have to delete it. However, writing new FAQ sections only to win a rich result no longer pays off. If your FAQ answers real customer questions, keep it on the page for readers.
Can broken schema markup hurt my site?
A syntax error usually just blocks the related rich result and does not lower your rankings. Guideline violations are different. Marking up hidden content or adding fake reviews can lead to a manual action, which typically removes rich result eligibility. Check the Manual Actions report in Search Console regularly so you spot that risk early.
#schema markup#structured data#JSON-LD#rich results#technical SEO#Search Console
Share:
Talha Aslan
Talha Aslan

Google Partner digital marketing expert. Hands-on with SEO, Google Ads, web design and e-commerce projects since 2012; every post here comes from that experience.

Next project

Let's talk about your project.

No middlemen, no layers: you talk directly to the expert doing the work. The first consultation is free, I listen to your goal and come back with a clear roadmap.

WhatsApp Call Now