No duplicate JSON-LD types on page
highjsonld_duplicate_types
Checks that no schema type appears in multiple JSON-LD blocks on the same page.
What does this rule check?
When the same @type (e.g., Organization, WebSite) appears in multiple JSON-LD blocks on a single page, search engines receive conflicting structured data signals. This typically happens when layout-level and page-level components both emit the same schema independently.
Why is this important?
Duplicate schema types confuse search engines about which block to use. Google may ignore all instances or pick one unpredictably, wasting your structured data effort and potentially causing rich snippet issues.
How to fix
Audit your JSON-LD output to ensure each schema type is emitted only once per page. Consolidate duplicate blocks into a single JSON-LD script, or ensure layouts and pages don't both emit the same type.
Examples
<!-- Two Organization blocks on the same page -->
<script type="application/ld+json">
{"@type": "Organization", "name": "My Company"}
</script>
<script type="application/ld+json">
{"@type": "Organization", "name": "My Company", "url": "https://example.com"}
</script>
<!-- Single consolidated Organization block -->
<script type="application/ld+json">
{"@type": "Organization", "name": "My Company", "url": "https://example.com"}
</script>
Agent fix snippet
Copy this snippet and paste it into your AI coding agent to fix this issue automatically.
Find all <script type="application/ld+json"> blocks on the page.
If the same @type appears in multiple blocks, merge them into one.
For frameworks like Next.js, ensure layouts and pages don't both inject the same schema.