The tools, and which one to use when
Schema markup is the structured data in your page’s code that says “this is a business, this is its phone number, these are its hours”. Writing it is half the job. The other half is checking that it is valid, that Google can read it, and that it matches what visitors see. If you are still deciding what to add, start with schema markup for local service businesses, then come back here. This guide is part of our AI search optimization library.
Google’s own testing guidance gives a sequence. Validate during development with the Rich Results Test, confirm Google has found the markup with the URL Inspection tool, then monitor the rich result status reports in Search Console after deployment, because pages can break after release through templating or serving problems.
| Tool | What it checks | Use it when | Limits |
|---|---|---|---|
| Rich Results Test | Whether the markup can produce Google rich results, for a public URL or pasted code | Before and after publishing, for any Google feature | Covers only the roughly 25 to 30 features Google supports |
| Schema Markup Validator (validator.schema.org) | All schema.org-based structured data, without Google feature-specific warnings | You use types Google has no rich result for, or want a syntax check | Says nothing about Google eligibility |
| URL Inspection tool (Search Console) | Whether Google has found the structured data on a page | After publishing | Needs a verified Search Console property |
| Rich result status reports (Search Console) | Valid and invalid items across your site over time | Monitoring | Reports only the features Google supports |
| Unparsable structured data report | Markup Google could not parse at all | Markup does not appear anywhere | Appears only when Google finds such data |
| Generators (for example Technical SEO’s JSON-LD generator) | Nothing. They write markup | Starting a first draft | You must test and maintain the output |
How to test schema markup, step by step
- Open the Rich Results Test. Google’s tool accepts either a publicly accessible URL or pasted code, and runs with a smartphone or desktop crawler. Use the URL for a live page and the code box for a draft that is not published yet.
- Read the results by severity. Search Console’s help page separates critical issues, which make an item invalid and block a rich result, from non-critical issues, which appear under “Improve item appearance” and do not block one. Fix critical issues first.
- Run the same page through the Schema Markup Validator. Google describes it as the tool for generic checks, which validates all schema.org-based structured data embedded in web pages without Google feature-specific warnings. If the Rich Results Test shows nothing for a type it does not support, this is the check that still tells you the syntax is right.
- Compare the markup with the visible page. Neither tool can tell you whether the phone number in the markup is the one on the page. Open the page and read both. Google’s guidelines say not to mark up content that is not visible to readers.
- Publish, then use URL Inspection. Google recommends it to confirm that Google has found the structured data on a page. Allow time for recrawling.
- Watch the Search Console reports. After deployment, check the rich result status reports and, if they appear, the unparsable structured data report.
- Retest after every template change. Plugin updates, theme edits and page-builder changes are the usual cause of markup that was valid last month and is broken now.
Rich Results Test vs Schema Markup Validator
The two tools exist because they answer different questions. In a Google SEO Office Hours session in December 2022, a Googler explained that the schema.org Markup Validator checks whether the markup’s syntax is valid overall, and the Rich Results Test checks whether the markup could make the page eligible for a rich result in Google Search. She also noted the Rich Results Test only checks the roughly 25 to 30 features Google supports.
So these results are all normal:
- Passes the Validator, nothing in the Rich Results Test. Your type is valid schema.org but Google has no rich result for it.
- Passes the Rich Results Test, no rich result in Search. Google says correct markup enables a rich result but does not ensure it. Google’s algorithms choose the best format for each search.
- Warnings in one tool, none in the other. The Validator does not apply Google’s feature rules, and the Rich Results Test does.
Note that Google’s documentation changelog shows FAQ rich results stopped appearing in Search on May 7, 2026, and the FAQ documentation was removed in June 2026, so do not expect any Google tool to show a FAQ preview. We explain what that means in FAQ, review and breadcrumb schema.
Common schema errors and how to fix them
1. The JSON is broken (unparsable markup)
Google’s Unparsable structured data report lists markup Google could not parse because of a serious syntax error, so it could not tell which type was intended. Google lists these causes: malformed JSON such as a missing colon, comma or brace, invalid string escape sequences, wrong value types (a string where a number or array is expected), duplicate unique properties such as two @context values, and an itemref pointing to an ID that does not exist. Template errors often explain why one error hits many pages.
A typical mistake is a trailing comma. This example is broken on purpose, so do not copy it:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Plumbing",
"telephone": "+1-555-010-0100",
}
The comma after the last property makes the object invalid JSON. Remove it. Google’s fix steps: test with the Rich Results Test, and if the error is hard to find, start from an empty object and add content back piece by piece until the error returns. Then click “Validate Fix” in Search Console. Fixing a parsing error can also expose new warnings that were hidden before, so retest.
2. A required property is missing
Each Google feature has required properties. For LocalBusiness, Google’s documentation requires name and address. For Review it requires author, the reviewed item, and a reviewRating with a ratingValue. For AggregateRating it requires ratingValue and at least one of ratingCount or reviewCount. Google also says that including all required properties matters: otherwise the item is not eligible for enhanced display.
Prefer fewer recommended properties that are complete and accurate over many that are half filled in.
3. The markup does not match the page
This is the error no tool catches. If your markup says you open at 8am and the page says 9am, or it lists reviews or questions that are not on the page, it breaks Google’s guidelines. Structured data problems can lead to a manual action, which removes rich result eligibility. Fix the source of truth first, then the markup.
4. The page is blocked
Google’s guidelines say not to block pages that carry structured data with robots.txt, noindex or other access controls. A page Google cannot crawl or index cannot use its markup.
5. The wrong type, or an ineligible use
Review markup on your own LocalBusiness pages for reviews you control is not eligible for star ratings, according to Google’s review snippet documentation. The test can show valid markup for a use Google does not reward. Read the feature’s guidelines, not only the tool’s checkmark.
6. Dates without a time zone or in the wrong format
Google’s Article documentation asks for datePublished and dateModified in ISO 8601 format with a time zone, otherwise Google assumes the one Googlebot uses. It also asks for a separate author entry for each author, with a url or sameAs link.
7. Old vocabulary
Markup using data-vocabulary.org is no longer eligible for rich results. Replace it with schema.org JSON-LD.
Schema markup generators: what they do and do not do
A generator is a form. You fill in the business name, address, hours and similar fields, and it writes JSON-LD. Technical SEO’s Schema Markup Generator, for example, outputs JSON-LD. That is useful for a first draft, particularly for LocalBusiness, Organization, Service, FAQ and breadcrumb markup. But a generator cannot know your page, and it cannot tell you the markup is eligible for anything.
Use one like this:
- Generate the markup with accurate, current values.
- Paste it into the page, in a script tag, near the end of the body or in the head.
- Run the Rich Results Test and the Schema Markup Validator on the live URL.
- Compare the markup with the visible text.
- Put a reminder on your calendar to recheck when hours, prices or services change.
Google recommends JSON-LD because it sits in a script tag separate from the visible text and is easier to maintain at scale. Microdata and RDFa are also supported. Schema.org’s own getting started guide shows all three formats.
If you use WordPress, your theme or SEO plugin may output some schema for you. Test the live page and see what is actually there before adding more. Two sources writing the same type of markup can leave you with duplicate or conflicting data, so keep one. See WordPress websites if you want a site where you control this.
A pre-publish checklist
- The Rich Results Test shows no critical issues for each feature you use.
- The Schema Markup Validator shows no syntax errors.
- Every value in the markup is visible on the page and correct today.
- The page is crawlable and not marked
noindex. - One source produces each type of markup, not two.
- You know how you will recheck after the next site change.
What testing cannot tell you
Testing proves the markup is valid. It does not prove that Google or an AI assistant will show or cite it. Google says there is no special schema.org structured data you need for its AI features, and that structured data should match the visible text. Nobody controls what Google AI Overviews, ChatGPT or Perplexity recommend, and we do not promise placement. We promise clean structure and a measured before and after.
How we handle it at Magnet Mint
On sites we build, we write the schema, test the live pages with both Google tools, and check the Search Console reports after launch. If you already have a site, our GEO/AEO audit includes a schema check and a written list of fixes. It is from $750. You can also ask for a free demo. Prices are as of October 2026.
Published . Updated .