Reputation: 1386
I am trying to add Schema structured data to my website.
I have one page for my app with:
{
"@context": "https://schema.org",
"@type": "MobileApplication",
"@id": "https://example.com/app",
"name": "APP",
"applicationCategory": "HealthApplication",
"operatingSystem": ["iOS", "Android"],
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5",
"ratingCount": "100"
}
}
...and another for my company:
{
"@context": "https://schema.org",
"@type": "Corporation",
"@id": "https://example.com/about",
"name": "COMPANY",
"owns": {
"@type": "MobileApplication",
"@id": "https://example.com/app"
}
}
When I test the above with https://search.google.com/test/rich-results, the app page is fine, but the company page gives the following error:
Am I misunderstanding how @id
works? I thought Google would then look for the linked resource and get all the missing properties.
Upvotes: 1
Views: 754
Reputation: 8717
reference them by using just the @id
keyword, omit the @type
keyword:
{
"@context": "https://schema.org",
"@type": "Corporation",
"@id": "https://example.com/about",
"name": "COMPANY",
"owns": {
"@id": "https://example.com/app"
}
}
However, Google doesn't seem to utilize @id
keyword in a way that it links snippets on the internet, especially ones that are on different pages, or sites, or at least there are no benefits in SERP
Also, corporation markup could be improved: property owns expects a Product type, and MobileApplication is a subtype of CreativeWork, so it's probably not appropriate, however, there seems to be no straightforward property that connects Organization and CreativeWork, although Google doesn't seem to complain about it
Upvotes: 1