Skip to content
siterank.info

Product

See every piece of schema your site emits

SiteRank AI parses the JSON-LD on every indexable page, reports the types, the plugin that generated them, the conflicts and the parse failures — and emits none of its own.

Start free How it is measured

Most WordPress sites already emit structured data, usually from a plugin the owner installed years ago and has not looked at since. The useful question is therefore not "should I add schema" but "what is my site actually saying about itself, and does it agree with itself". SiteRank AI answers that by reading the JSON-LD on every indexable page and reporting what it found.

What gets inspected

During a content scan, every indexable document's JSON-LD blocks are extracted, parsed and stored alongside the page. Nothing is fetched separately and nothing is sampled — the inspection covers the same corpus the rest of the audit covers, in the same batched background job.

The report gives you:

Types discovered, with counts. The full distribution of @type values across the site, ordered by frequency. This is usually the first surprise: sites find BlogPosting where they expected Article, or discover that a third of their pages emit nothing at all.

Coverage. Pages with at least one schema block, pages with none, out of total indexable pages. A count, with the page list behind it, not a percentage floating on its own.

Parse errors. Blocks that are present in the HTML but are not valid JSON. This is the defect that matters most and is the least visible, because a malformed block is not partially understood — it is ignored entirely by every consumer. The page looks marked up in the source and is not marked up at all in practice. Affected URLs are listed.

Duplicate primary types. Two blocks on one page both declaring Organization, WebSite, Article, BlogPosting or WebPage is the classic symptom of two plugins both emitting a graph. The report names the page, the type, and how many times it appeared.

Organisation name disagreements. Every organisation name found anywhere in the site's schema, with how often each appears. A site that calls itself three different things across its own markup has an entity clarity problem, and this is the cheapest way to find it.

Genuine gaps. Notable types absent from a site where the corpus suggests they belong — for example, no Organization or WebSite block anywhere. A gap is reported as a gap, with the evidence, not as a failure.

Who owns the schema

Before reporting anything, the inspector asks which plugin owns schema output on this install. It detects Yoast SEO, Rank Math, All in One SEO, SEOPress, The SEO Framework and Slim SEO, and it tracks ownership separately for each kind of output — canonical, metadata, robots meta, robots.txt, sitemap and schema — because a site can easily have one plugin owning canonicals and another owning the graph.

Where another plugin owns schema, SiteRank AI's posture is stated explicitly in the report: analyse only. It does not emit a competing graph, it does not hook the other plugin's filters, and it does not recommend disabling a plugin so that it can take over. When it finds a fix, it tells you where the fix belongs — which Yoast setting, which Rank Math screen — rather than duplicating the field itself.

That is not modesty about our own implementation. Two plugins emitting overlapping graphs is one of the most common ways a WordPress site ends up with contradictory structured data, and a tool that inspects schema while adding to the pile is not much of a tool.

Why the duplicate check is the important one

Search engines are generally tolerant of extra markup. They are much less predictable about contradictory markup. A page carrying two Article blocks with different authors, two Organization blocks with different names, or a WebPage graph from one plugin and a competing one from another has no single answer to "who wrote this and who published it", and the resolution is up to the consumer.

For AI answer engines the stakes are similar and the mechanism is less documented. Structured data is the most reliably machine-readable statement a page makes about itself, which makes internal disagreement in that statement expensive in a way that a slightly imperfect meta description is not.

The practical consequence is that removing a duplicate is usually a bigger improvement than adding a new type — and it is a change you can make with confidence, because you can see both blocks and decide which one is right.

Evidence, honestly stated

Structured data itself is an ESTABLISHED STANDARD: Schema.org publishes the vocabulary and JSON-LD is a W3C Recommendation. Google's structured data documentation is OFFICIAL PROVIDER GUIDANCE on which types are eligible for which rich results, and on the content policies that eligibility depends on.

What sits at no supported tier is the claim that schema causes an AI answer engine to cite you. Schema is not citation. No provider documents structured data as a retrieval or attribution input for generative answers, and Google's own position on its AI features is that no special optimisation is required beyond normal SEO. Valid, accurate markup is worth having because it makes your page's factual claims machine-readable and because rich results are documented and real — not because it buys you a mention in an answer.

Two prohibitions follow, and they are enforced in what this product will and will not do. It never proposes markup that describes something not present on the page, and it never proposes filling an unknown field. If an author, a date, a rating or an organisation detail is not known, it stays empty and you are asked. Invented authors, invented reviews and invented credentials are fabricated trust signals, they violate Google's own structured data policies, and no amount of eligibility is worth emitting one.

What you do with the report

The output is a list of specific pages with specific observed values, so the work is concrete: fix the pages whose JSON-LD does not parse, resolve the pages emitting two of the same primary type, settle on one organisation name and make every block agree with it, and only then consider whether a missing type is worth adding.

Every finding names the URL and the value observed on it. A structured-data report you cannot click through to a page is a report you cannot act on.

Official sources & further reading

Frequently asked questions

Does SiteRank AI emit structured data of its own?

No. It reads the JSON-LD your site already produces and reports on it, and it adds no graph, no block and no property of its own. Where another plugin owns schema output, the posture is analyse only, and a finding names the setting in that plugin where the fix belongs. A tool that inspects markup while adding to the pile would be creating the problem it exists to detect.

Two plugins are both emitting an Organization block. Which one do I remove?

Whichever one is wrong — and the report shows you both, so that is a decision you can make against the actual values rather than a guess about which plugin is the SEO one. Often the fix is switching schema output off in one plugin's own settings rather than removing the plugin, because a plugin usually owns several kinds of output and you may want the others to stay where they are. Settle the organisation name first, using the name-disagreement report to see which variants exist, then make every remaining block agree with it.

If I fix all of this, will AI answer engines start citing my site?

Nobody can tell you that, and this product does not claim it. Schema is not citation: no provider documents structured data as a retrieval or attribution input for generative answers. What accurate markup does do is make the page's factual claims machine-readable and keep it eligible for documented rich results, which is worth having on its own terms. Fix contradictions because contradictions are defects, not because they buy a mention.

My site has no Organization or WebSite block anywhere. Is that a defect?

It is reported as a gap, with the evidence, rather than as a failure — the corpus suggests the type belongs and nothing emits it, which is information you can act on or decline to. It sits below the two findings that are unambiguous defects: JSON-LD that does not parse, and two blocks on one page contradicting each other. Work through those first. A missing type is simply an absence, whereas a malformed block looks like markup in the source and is not markup in practice, and a contradictory pair leaves the consumer with no single answer.

Analyse your own site

The audit, AI readiness and topic analysis run on your own installation with no API key.

Create a free account