This support article explains a possible reason why you might only be seeing an @id for a property where you would expect to see a whole data item. You might be seeing this when you select "View JSON-LD" in the Schema App Editor. You might also be seeing this on live URLS you test with the Rich Results Test or in your GSC Enhancement Report.
Schema App's tools create schema markup in a JSON-LD format. The JSON-LD on your website is deployed to individual pages but it also exists in a graph where entities (e.g Person, Article, Product) are connected by explicitly defined relationships (e.g parent, datePublished, price).
When you author Editor markup, each data item you create will have a URI which serves as:
- A unique resource identifier or unique label for the data item
- Instructions to Schema App re: where to deploy the Editor markup
- An indication that the web page is the "home base" for that particular entity, or the main location in your knowledge graph for information about that entities or topic.
There are practical deployment and SEO benefits to using URIs as unique labels, and deployment instructions. The third use case suggests that URIs can also provide a strategy for mapping and organizing information about your Organization, its areas of expertise, and contact information.
A Common Problem: Why is my data item just showing as a URL?
You are previewing markup in the Schema App Editor and you don't see the full data item you made.
This is expected behaviour, based on a rule of thumb we call the "Three Hops Rule". It happens in our JSON-LD preview tool and in Production with some slight differences.
Scenario 1: In the Editor Preview
When a data item is nested down 3 layers from a top level entity and belongs to a different URL, we do not include it in the markup preview. In this case, if the data item is 3 "hops" away from the primary entity, we will specify the relationship or property, and the @id or URI of that but not its contents of the data item. This is done to lower complexity when reviewing markup. You can always navigate to the data item itself in the Editor to review it.
Scenario 2: In Production during Testing or in GSC
When a data item is nested 3 layers from the top level entity and belongs to a different URL, we do not include it in the markup. We do this because it is likely that the content referenced in that nested data item isn't actually present on the page in question. To avoid adding markup that doesn't actually reflect the content on the live page, the software abbreviates or truncates the data items that it deems to be "too far away" to show only the URI or URL of that information. If the content being described exists on that page, consider making a data item that "lives on" or has a URI that reflects that URL of the page.
As always, if you want a second set of eyes on your work, don't hesitate to reach out to [email protected].
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article