What do JSON-LD errors actually cost you?
Less than most SEO advice implies, and in one specific way more. Google's own structured data policies state that a structured data manual action means a page loses eligibility for appearance as a rich result, and that it does not affect how the page ranks in Google web search. The cost is appearance, not position.
That single sentence should change how you triage schema work. A broken FAQ block is not a ranking emergency. It is a lost feature on the results page, which may or may not have been showing anyway.
So here is what schema problems really cost, which ones deserve an afternoon, and which ones you can leave in the backlog without guilt.
Does a schema error hurt your rankings?
Not according to the documentation. Google's structured data policies are explicit that a structured data manual action costs the page its eligibility to appear as a rich result and does not affect how it ranks in web search. Two separate systems, two separate consequences.
This matters because the fear is used to sell a lot of work. I have read audits that put schema validation at the top of a priority list above indexing problems, thin content, and a navigation nobody could use. That ordering is not supported by what Google actually says about the consequence.
The honest framing is that schema is a presentation layer. It can change how your listing looks and what an answer engine finds easy to lift. It is not a ranking factor you are failing at when your markup has a missing field.
What is a structured data manual action?
It is a human decision at Google that your markup broke the rules, and it is the version of this problem worth taking seriously. The policies state plainly that a structured data issue on your page can result in a manual action, and describe the effect as losing eligibility to appear as a rich result.
The rules that trigger it are not about syntax. Two of them are worth memorising. Google says do not mark up content that is not visible to readers of the page, giving the example that if the JSON-LD markup describes a performer, the HTML body must describe that same performer. And your structured data must be a true representation of the page content.
In other words, the expensive schema mistakes are the dishonest ones, not the sloppy ones. Marking up a rating nobody left, an FAQ that does not appear on the page, or an author who did not write the piece is a different category from forgetting an optional property.
Why do correctly marked up pages still not get a rich result?
Because nothing was ever promised. Google states that it does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test. Valid markup makes you eligible. It does not make you chosen.
I say this to clients constantly, because the disappointment is predictable. The markup validates, the preview looks right, and three weeks later the listing looks exactly as it did before. Nothing went wrong. The feature simply was not shown for that query.
The same documentation is careful in its language elsewhere, saying structured data can enable search results that are more engaging and that including it might encourage more interaction. Notice the modal verbs. When the source hedges, anyone quoting a specific uplift percentage to you is adding a number the source did not give them.
Which schema mistakes are actually expensive?
Three kinds. Markup that describes something not on the page, markup that misrepresents what the page is, and markup on the wrong template so the error repeats across every item in a collection. The first two invite a manual action. The third multiplies whatever is wrong by your archive size.
The template case is the one that hurts people running content sites. A single mistake in a blog post template is not one mistake, it is one mistake on every post, and it will sit there quietly until someone checks. On a site with hundreds of articles, that is the difference between a five minute fix and a very long day.
The cheap mistakes are missing recommended properties, a date format that could be tidier, and a description that duplicates the title. Those are worth fixing when you are next in the file, and they are not worth a project. I covered how the pieces fit together in combining schema types in a JSON-LD graph.
Why does schema break on a site that was fine last month?
Because something changed downstream of the markup. Google's own introduction to structured data says the rich result status reports let you monitor the validity of your pages, which might break after deployment due to templating or serving issues. That phrase describes the most common failure I see.
The usual culprits are familiar. A CMS field got renamed, so a value is now empty. A template was duplicated and only one copy was updated. A new script wraps or escapes the JSON block. A migration changed the URL structure and the identifiers inside the markup still point at old addresses.
None of these produce a visible problem on the page, which is precisely why they survive. The page looks perfect. The markup underneath it is describing a page that no longer exists.
How should you check schema across a large site?
Check templates by hand and everything else in bulk. Google describes the Rich Results Test as an easy and useful tool for validating your structured data, and in some cases previewing a feature in Google Search, which makes it the right tool for one representative page per template.
For coverage across an archive, use the reports rather than the single page tool, because a per page check does not scale past about ten pages before you stop doing it. The point of the report is to tell you whether the number of affected pages is going up or down, which is the only trend that matters.
My own approach is boring. One representative URL per template validated when the template changes, plus a monthly look at the reports for the whole site. I wrote the step by step version of that check in finding schema errors on a Webflow blog with Search Console.
Which format should you be using anyway?
JSON-LD, and Google says so directly. The documentation lists it as recommended and explains why: it is the easiest solution for website owners to implement and maintain at scale, or in Google's own parenthetical, less prone to user errors. That is a more practical recommendation than it first sounds.
That reasoning is the interesting part. The recommendation is not about the format being better understood by the crawler. It is about humans making fewer mistakes, because the markup sits in one block rather than being threaded through the HTML of the page.
Which brings the argument back where it started. Most schema problems are maintenance problems. A format that is easy to maintain is a format that stays correct, and staying correct is most of the value here. The same logic applies to the identity markup on an About page, which I went through in adding Person schema to an About page.
What should you not bother fixing?
Anything that only appears as a recommendation on a page type that has no rich result you actually want. If there is no feature to win, a perfectly valid block of markup is a perfectly valid block of markup that changes nothing. Your time is genuinely better spent elsewhere.
I would also leave alone the long tail of optional properties on old posts. The effort to backfill an author image or a word count across three hundred archived articles is real, and the return is a property that was never required for eligibility in the first place.
Spend the saved time on the two things that do pay. Making sure the markup describes what is genuinely on the page, and making sure the template is right so that correctness scales without you.
What should you do next?
Open the Rich Results Test, validate one representative URL for each of your page templates, and write down what you find with today's date. Most sites have three or four templates that matter, so this is a thirty minute job, not a project.
Then check whether anything you are marking up is not genuinely present on the page. That is the check that protects you from the only consequence Google actually describes, and it is the one nobody runs because it cannot be automated by a validator.
After more than 350 published articles on my own site, I have learned that schema is a maintenance discipline rather than a growth tactic. It keeps your listings looking like what you are, and that is worth doing properly and not worth panicking about. If you want someone to check your templates and tell you honestly which findings matter, reach out and let's chat.
Get found, cited and the back office automated
Let's make your site the source AI engines quote and wire up the systems behind it.
Read more blogs
Let's get your website found and cited by AI
Tell me what you're working on, whether AI search is skipping your product, your back office is buried in manual work, or you need a build that does both.