1

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:

enter image description here

Am I misunderstanding how @id works? I thought Google would then look for the linked resource and get all the missing properties.

1 Answer 1

1

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

Sign up to request clarification or add additional context in comments.

5 Comments

Yes I tried that as well, but then Google doesn't recognize the item at all, like you said. Should I then put ALL the properties of the linked resource instead of using @id? Even though it's a duplicate from another page? (And thanks for the heads up regarding Product)
@TonaldDrump yes, you'd repeat the whole code. however, snippets should be relevant to the page, so not sure how duplicating the app would be interpreted in that case, it depends on the content (not sure if there are multiple snippets per page in the SERP anyway).. so maybe just separate them, each on its page, also, maybe use LocalBusiness, instead of Corporation
So here's another place where I used the @id; For the MobileApplication I would link the Corporation as a Publisher. But I guess it's not really necessary because Google already knows that the App belongs to that Corporation?
@TonaldDrump yeah, it's probably tied to the website, although they don't really use/mention that at all. I think @id was used only with LocalBusiness (although not sure for what..), but it was removed..
I include enough on the copy to validate and keep the @id to indicate that it still represents the same entity as on the other page.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.