Why Is My Schema Markup Not Working?
Ordered by likelihood rather than by subject, because the commonest answer is that nothing is broken. Most people asking this have perfectly good markup and no visible result, which is not a fault and is worth establishing before anybody changes anything.
Usually Nothing Is Broken
Valid markup makes a page eligible for an enhanced appearance. It does not guarantee one. Whether any result receives the treatment is decided separately when somebody searches. Most people asking this question have working markup and no result.
What eligibility means. Qualifying, no more.
Your page has what is needed and is in the set that could be shown that way. That is a statement about your page rather than a prediction about any particular search.
What decides the rest. Things you do not control.
The query, the device, the competing results and a judgement about what is useful for that search. The same page can be enhanced for one search and plain for another on the same afternoon.
Why this is worth establishing first. It prevents unnecessary work.
A business convinced something is broken starts changing markup that was correct. That introduces faults where there were none, which is a worse position than the one it started from.
How to confirm it. Check eligibility rather than appearance.
If a test says the page qualifies, nothing on your side is preventing the enhancement. How to test schema markup covers what a pass does and does not tell you.
When to read on. If it does not qualify.
Where a test reports errors, else where an appearance existed and stopped, something genuinely changed. The rest of this page runs from most likely to least.
Check What The Live Page Actually Outputs
What sits in a template and what reaches a published page can differ. Checking the live page rather than the code is the first genuine step, particularly where a platform or an extension is involved.
Why they differ. Something builds the page.
Between the template and the visitor, a platform assembles the page and may add, alter or omit descriptions. What you wrote is an input rather than the output.
What that hides. Both directions.
Markup you added may not be reaching the page. Markup you did not add may be arriving from somewhere else. Neither is visible from looking at what you wrote.
The specific case worth knowing. Content added after loading.
Where descriptions are inserted by something running in the browser rather than served with the page, whether they are read depends on how the page is processed. That is a genuine cause of markup that exists and does nothing.
What to check. A published page of each kind.
A guide, a service page and a product page if you have one. Templates rather than individual pages are what go wrong, so one example of each is sufficient.
Where the platform detail sits. Its own page.
What each platform produces without being asked is covered in schema markup by platform.
What Actually Goes Wrong
Five faults account for most genuine problems. Each is a symptom rather than a category. They are listed in the order we tend to find them.
Describing something not on the page. The commonest.
Markup asserting a property the page does not display. Frequently accurate and still describing a page that does not exist, which is where the serious version in block seven begins.
A required property missing. The most mechanical.
An appearance needs certain information before it can be produced. A description missing something essential is well formed and insufficient, which a test reports as an error rather than a warning.
The wrong type chosen. The most avoidable.
A page described as something it is not, usually because a more impressive type was selected. Nothing follows from an inaccurate type except that the description is wrong.
Values not matching the visible content. The quietest.
A headline in the markup differing from the headline on the page, a price differing from the price shown. Nothing reports these, because each half is valid on its own.
Two sources conflicting. The commonest genuine fault.
Where more than one thing describes the same subject with different values. Block four covers it, since it needs a different approach from the other four.
Conflicting Sources Is The Commonest Real Fault
A theme, an extension and a manual addition can each output the same type with different values. Finding all the sources is the fix. It is also the step people skip.
Why it is hard to spot. Everything validates.
Each description is well formed on its own, so nothing reports a problem. The fault is the disagreement between them, which no single check reveals and no error message names.
What it produces. Unpredictable behaviour.
Which description gets used is not something you control. A page can behave inconsistently for reasons nobody examining the visible content would ever find.
Why finding comes before fixing. Removing the wrong one.
Deleting the source you find first frequently removes the correct description and leaves the wrong one, which converts a confusing problem into a definite fault.
Where the sources hide. Four places.
The platform itself, the theme, any extension, then whatever somebody added by hand at some point. On a store with several add-ons the list can be longer than that.
What the fixed state looks like. One source per type.
Each type described once, by something you know about, with values somebody has read. Achievable on every platform and rarely the starting position.
Errors And Warnings Across A Site
The reporting in a search console covers every page it has seen rather than the one you are looking at. That is where site-wide problems surface, plus where the error against warning distinction matters most.
What the aggregate adds. Pattern rather than instance.
One page failing is a page problem. Two hundred failing identically is a template problem. Only the wider view distinguishes them. The fix differs entirely.
What an error means. Something required is absent.
The description cannot support the appearance it aims at. Worth fixing, because until it is, the eligibility the markup exists for does not apply.
What a warning means. Something optional is absent.
A property that would add detail if you had it. The description works without it, so a warning is a suggestion rather than a fault.
Why chasing warnings rarely pays. They arrive as a list.
Anything presented as a list reads as work to be completed. That is how a clean report becomes a project. It is also how a supplier generates billable hours with no outcome attached.
Where the mechanism sits. The other cluster.
How the reports work and how to operate them belongs in our Google Search Console material rather than here.
It Can Take Time
Markup is picked up when a page is read again rather than when you publish it. Impatience at this point produces unnecessary changes, which is how a correct implementation becomes a broken one.
Why nothing happens immediately. Nothing has looked.
Adding a description changes the page. Whether anything has read the page since is a separate matter. Until it has, your change exists and has not been noticed.
What determines when. How often the page gets read.
Frequently visited and frequently updated pages get looked at sooner. A page nobody links to on a small site may wait considerably longer. Neither is a fault.
What people do wrong here. Change it again.
Nothing appears, so the markup gets altered, then altered again. Each change resets the clock and introduces the possibility of a genuine error where there was none.
What to do instead. Decide a date and wait.
Confirm the page qualifies, then leave it alone until a date you set in advance. That removes the temptation to keep adjusting something that was already right.
When waiting is not the answer. Two cases.
Where an appearance existed and stopped, plus where a test reports an error. Neither improves with patience.
Markup That Asserts What Is Not True
Markup describing things that are untrue, else not present on the page, is covered by published policy. A site can lose its enhancements and in more serious cases receive a manual action. This is worth considering if correct markup stopped working.
What the category covers. Assertions without substance.
Ratings nobody gave, questions not on the page, prices not charged, roles nobody is hiring for. Each is a description of something that does not exist as described.
Why it is treated as a breach. Nothing can verify it.
The whole arrangement depends on sites being truthful about themselves, since nothing checks a claim against the world. That is why a false claim is handled as a breach rather than as an error.
The diagnostic value. It explains the inexplicable.
Where markup was technically correct, worked, then stopped for no reason anybody can find, this belongs on the list of possibilities. It is the one explanation nobody wants and it fits the symptom.
What follows. Two levels.
The enhancement is withdrawn for that site, with no notification necessarily explaining why. Where the problem is judged serious, a manual action can be applied by a person reviewing the site.
Why removing it may not be enough. Reconsideration.
A manual action is not undone by taking the markup out. Somebody has to correct the site and submit it for review. Our risky practices material covers how those work.
Enhancements Get Withdrawn
Several result types have been restricted or removed entirely. Markup for those still validates perfectly while producing nothing at all, which is a possibility people rarely reach.
Why it is missed. The markup is fine.
Every check passes. The description is well formed, complete and accurate. Nothing indicates a problem because there is no problem with the markup, only with the assumption that it produces something.
What has gone. More than most people realise.
Expandable question results were restricted and then withdrawn completely. Step-by-step results were deprecated on every device. A feature placing a search box inside a result was removed.
Why guidance keeps recommending them. Published advice lags.
A great deal of material still describes these as available, some of it describing an earlier restriction as though it were the current position. Anybody following it is implementing something that cannot work.
How to check. Establish whether the feature exists.
Before diagnosing an implementation, confirm the appearance is still produced at all. Google SERP features explained sets out which have been withdrawn and when.
Whether to remove the markup. No need.
Unused structured data causes no problems, so there is nothing to undo. It simply is not going to produce the thing you were expecting.
When To Stop Trying
Some pages will never show an enhancement. The markup is still worth having for other reasons. Continuing to chase the appearance is where money gets wasted on this subject.
Why some pages never will. The decision is not yours.
Eligibility is the most you can achieve. Where the competition, the query or a judgement about usefulness goes against you consistently, no amount of correct implementation changes it.
What the wasted version looks like. Iteration without a hypothesis.
Repeated adjustments to markup that already qualifies, each made because the last one did not work. That is not diagnosis. It tends to end with something genuinely broken.
Why the markup still earns its place. Accuracy.
It states what your page is, correctly, to everything that reads it. That benefit does not depend on any appearance and cannot be withdrawn by anybody.
What to do with the effort instead. The page.
Improving the answer, the reviews or the content usually returns more than another attempt at the description. The enhancement follows substance rather than replacing it.
The test for stopping. Does it qualify.
If a test says the page is eligible and the values are true, you have finished. The full series is on the schema and structured data guide.
If it qualifies
and it is true,
you have finished.
Repeated adjustments to markup that already qualifies is not diagnosis. It tends to end with something genuinely broken. We establish whether anything is actually wrong before changing a line, then find every source before removing any.
How we diagnose it:
Some pages will never show an enhancement. We will tell you when to stop.
Every guide.
One practice.
What structured data is, which types apply to your business, how to test it, where the results features come from and what to do when nothing appears.