What schema reaches your HTML?

See the JSON-LD in a page, the common Google features it targets, and the required fields that need work.

Loads the public example.com URL. Run the check when you are ready.

Enter a public page URL. Its path and query stay intact.

  • Source HTML only
  • No login
  • Rules linked
Check an unpublished draft instead

Runs in this browser with the same rules. The draft is not uploaded, cached, or sent to analytics.

The indie shelf

More small tools, ready now.

This tool stays focused on one job. Other tools by turushan are ready for the next small task.

Free for indies. No catch.

Straight answers about IndieSchema: what the result means, what to do with it, and why there is no catch.

No asterisks hiding down here

What is JSON-LD?

JSON-LD is structured data written as a JSON object inside a <script type="application/ld+json"> tag, usually with the Schema.org vocabulary. It tells search engines what a page is about in fields a machine can read: a product and its price, an article and its author, a site and its name. Google recommends it over Microdata and RDFa because it sits in one block that does not touch the visible HTML.

What does needs work mean in the result?

IndieSchema reads every JSON-LD block in the page, lists each entity and its types, and checks six Google feature families against their required fields: site name, software app, product snippet, breadcrumb, article, and organization. Ready means every required field this check can see is present. Needs work names the fields that are missing, with the Google rule linked beside them.

Article and Organization show as recognized rather than ready, because Google publishes recommended fields for them but no required ones, so there is nothing to fail. Any other type, such as FAQPage or Event, stays in the inventory with its fields listed and gets no Google verdict from this check.

Does valid schema markup guarantee a rich result?

No. Google decides whether to show a search feature, and it says so in its own structured data guidelines. Valid markup with every required field makes a page eligible, nothing more. Google also checks that the markup matches the visible content and follows its content policies, which no code can verify.

A pass here is the required-field preflight, run on the HTML before you open Google's own tools. Google's Rich Results Test renders the page and shows what Google makes of it, and Search Console reports which enhancements it found on your live pages. Use this check first, and those two to confirm.

How do I fix missing required fields in structured data?

The result names each missing field under the feature it belongs to. A product snippet needs name plus a complete offers, aggregateRating, or review branch. A software app needs name, offers.price, and a rating or review. A breadcrumb needs at least two ListItem entries with a position and a name. Site name needs a WebSite node with name and a root url, placed on the site root, not on an inner page.

Add the fields, deploy, and run the check again. Recommended fields, such as image and description on a product or applicationCategory on an app, are listed separately and do not block a pass. They are worth adding anyway, because Google uses them to fill out the result when it shows one.

Why does the checker not see my JSON-LD?

IndieSchema reads the HTML the server sends and does not run JavaScript. A block that a framework, a tag manager, or a plugin injects after page load is invisible to it, and it can be invisible to crawlers that read the raw response too. Move the block into the server-rendered head. Microdata and RDFa are detected but not evaluated.

To test markup before it ships, paste the block or the whole script tag into the draft panel under the URL form. The same rules run in your browser, and the draft never leaves it. Without a page URL the draft cannot prove root placement for the site name, so that condition is reported as not checked, never as passed.

What if my page has no structured data at all?

The result gives you a block to start from, drawn only from what the page already says: its title, meta description, canonical link, og:image, language, and publish date. The site root gets a WebSite node, an article gets Article with its date and author, and any other page gets WebPage with a breadcrumb trail built from the path. Values the page does not carry are marked for you to fill in. No rating, offer, or review is invented.

Is it really free?

Yes. No account, no card, no premium plan, no upgrade nag, no hidden paywall. IndieSchema is free, all of it.

What happens to what I check?

There is no public lookup history. A network check sends the public input needed for that check to its named source. Local file tools process file contents in your browser. Cookieless analytics counts visits and fixed actions, never entered values or file contents. Anything the tool saves for you stays in your browser.