Here is some info:
Google's Knowledge Graph cards are affected by Schema.org structured data, which can be written in JSON-LD. This is where you put your Corporation
. Google takes this as a hint.
Facebook's Open Graph cards are affected by Open Graph tags, which are a separate standard. It's a much simpler standard, and for the most part it's just for displaying rich links on social media sites and messaging services. Unlike structured data for Google which is taken as a hint, Open Graph tags are pretty much treated as gospel and more or less guarantee that you get the display features you want on social media.
If you want to link your Corporation
from all pages, I would add a WebPage
object to all your pages, with a stub version of your corporation as the publisher
. Don't put all of the information about your Corporation in the stub, just put the corporation's name, use url
for their home page, and list their About page in sameAs
.
Then, on your About page or a similar page that visibly lists a lot of information about your Corporation, you can place top-level the full version of your Corporation
structured data, with info that mirrors what's visible on page.
The reason not to put the full version of your Corporation everywhere is that Google wants you to only mark up info that's also visible on-page to the user:
You should not create blank or empty pages just to hold structured data; nor should you add structured data about information that is not visible to the user, even if the information is accurate.
https://developers.google.com/search/docs/guides/intro-structured-data
This is how I would go about getting a knowledge graph card without a guaranteed "in" like a Google My Business listing. It's a superstitious field, but this answer is similar to what's worked for me. Note that your corporation has to have enough "clout" in Google before they will consider a general knowledge graph card.