Rule page.structured-data.id-broken-reference
Fix broken JSON-LD @id reference
page.structured-data.id-broken-reference is a check in Crawlmind's site audit that grades medium-impact issues of this kind. This page explains why the rule matters and the exact fix.
Why it matters
JSON-LD nodes can reference each other by `@id`: e.g. `publisher: { @id: "https://example.com/#organization" }` points at the Organization node defined elsewhere. When the target `@id` doesn't exist anywhere in the document, the reference dangles. Google's Rich Results test ignores the broken graph; you get whichever rich result was depending on the resolution silently dropped.
The fix
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization", ← the target
"name": "Brand"
},
{
"@type": "Article",
"publisher": { "@id": "https://example.com/#organization" } ← matches
}
]
}
</script>
```
Two ways the reference breaks:
- The `@id` URL is mistyped (`#org` vs `#organization`)
- The target node was deleted but references to it weren't
Validate with [Google's Rich Results test](https://search.google.com/test/rich-results): it shows resolved vs. unresolved references in the parsed output.