How to Add Your Social Profiles to Google’s Knowledge Graph

 

Yesterday Google announced the launch of a new feature for webmasters - the ability to specify social profile information for inclusion within the Google Knowledge panel.

The new features provide marketeers with an additional area of search real estate to promote their brand or their personality (if promoting an individual), presumably for search queries relating to that brand and/or personality.

A Brief History

Back in November 2014 Bernd Rubel and Search Engine Round Table reported that Google had begun displaying links to social profiles within Knowledge Graph, namely when performing a search for certain celebrities or well-known personalities. The links took the form of social media icons for social sites including Twitter, Facebook, Google+, YouTube and even MySpace such as this example search for ‘U2’:


Image Credit: http://searchengineland.com/googles-knowledge-graph-finally-shows-social-networks-named-google-209171

Although this may not seem a big deal there has been past controversy over Google favouring its own social media content within organic search results ahead of its competitors in the social sphere, especially around the launch of ‘Search, plus Your World‘ back in January of 2012.

One often cited example includes Google showing a seemingly inactive Google+ page for Mark Zuckerberg ahead of his Facebook profile.

So this latest move by Google is no doubt a step away from blatant self-promotion and a move towards providing users with the most relevant information for their search query – which is exactly what a search engine should do!

Specify Your Social Profiles – Structured Data Markup

The method for including your social profiles within the Google Knowledge panel is relatively straight forward, utilising structured data markup to specify each of your preferred social profiles. To format the structured data you must adhere to the schema.org vocabulary through either JSON-LD markup or microdata/RDFa markup.

You can provide markup for either a ‘Person’ or an ‘Organization’ - so if you’re running a business you’ll want to use the ‘Organization’ markup whereas if you’re a celebrity or well-known personality you’ll probably want to use the ‘Person’ markup on your personal site.

Here’s an example of the structured data markup with JSON-LD for an ‘Organization’ using High Position as an example. Please note that the <script> block can be inserted anywhere on-page, either within the <head> or the <body> sections.


<script type="application/ld+json">
{ "@context" : "http://schema.org",
  "@type" : "Organization",
  "name" : "High Position",
  "url" : "https://www.highposition.com",
  "sameAs" : [ "https://www.facebook.com/highposition",
    "https://twitter.com/highpositionseo",
    "https://plus.google.com/100114515348974367512"] 
}
</script>

Here’s an example of the structured data markup with microdata for an ‘Organization’, again using High Position as an example. Please note that when using microdata markup you’re applying the markup to the visible links, thus the markup should be included wherever your links are situated on-page.


<span itemscope itemtype="http://schema.org/Organization">
  <link itemprop="url" href="https://www.highposition.com"> 
  <a itemprop="sameAs" href="https://www.facebook.com/highposition">Facebook</a>
  <a itemprop="sameAs" href="https://twitter.com/highpositionseo">Twitter</a>
  <a itemprop="sameAs" href="https://plus.google.com/100114515348974367512">Google+</a>
</span>

And here’s an example of the structured data markup with JSON-LD for an individual, using myself as an example:


<script type="application/ld+json">
{ "@context" : "http://schema.org",
  "@type" : "Person",
  "name" : "Chris Ainsworth",
  "url" : "http://www.chrisains.com",
  "sameAs" : [ "https://twitter.com/chrisains",
      "https://www.linkedin.com/in/chrisains",
      "https://plus.google.com/+ChrisAinsworth"] 
}
</script>

And finally here’s an example of the structured data markup with microdata for an individual, once again using myself as an example:


<span itemscope itemtype="http://schema.org/Person">
  <link itemprop="url" href="https://www.chrisains.com"> 
  <a itemprop="sameAs" href="https://twitter.com/chrisains">Twitter</a>
  <a itemprop="sameAs" href="https://www.linkedin.com/in/chrisains">LinkedIn</a>
  <a itemprop="sameAs" href="https://plus.google.com/+ChrisAinsworth">Google+</a>
</span>

According to Google you can specify seven types of social profiles to appear within the Knowledge panel. These are:

  • Facebook
  • Twitter
  • Google+
  • Instagram
  • YouTube
  • LinkedIn
  • Myspace

Google state that whilst they encourage webmasters to specify other types of social profiles (perhaps including Pinterest or Flickr?) they will not currently be included within search results.

Google also state that you must publish the markup on your official website and that pages containing the markup must not be blocked to Googlebot by robots.txt.

Testing your Structured Data Markup

Alongside the announcement of social profile inclusion within search results, Google also announced that they’ve launched an all new Structured Data Testing Tool complete with new documentation and expanded support for the JSON-LD markup syntax.

Google state that the new structured data testing tool provides the following featured:

  • Validation for all Google features powered by structured data
  • Support for markup in the JSON-LD syntax, including in dynamic HTML pages
  • Clean display of the structured data items on your page
  • Syntax highlighting of markup problems right in your HTML source code

Here’s an example of www.highposition.com through the structured data testing tool highlighting the correct ‘Organization’ syntax for inclusion of our social profiles within the Google Knowledge panel. This example uses the preferred JSON-LD markup:

And here’s another example of www.highposition.com through the structured data testing tool using microdata markup

Once implemented and validated the next step is to wait for Google to crawl and index the page with the recent modifications. Upon crawl Google will process each profile specified by markup and render them eligible for inclusion within search results.

We implemented the changes on the High Position website earlier today therefore our amendments are yet to be crawled by Google, so we cannot show you our own working example; but I hope to provide examples of before and after implementation. With that in mind here’s how the search real estate through a branded search for ‘high position‘ currently looks:

As soon as our page has been crawled I’ll provide an update, hopefully displaying our social icons within the Google Knowledge panel for High Position.

If anyone has any further questions or queries please leave a comment below and I’ll get back to you ASAP.

 

13 thoughts on “How to Add Your Social Profiles to Google’s Knowledge Graph

    • Hi Natarajan,

      There is no guarantee that Google will display links to your social profiles even with correctly configured JSON-LD markup.

      Google themselves say that they will add social links to the Knowledge panel for “some searches”.

      In Google’s post which announced the feature they say to wait a week since the page containing the markup was crawled. If the social links are still not displaying you can potentially use the “Feedback” link quoting “social profiles” to explaining the problem. That might be worth a shot?

      Let us know how you get on!

      Chris

  1. Hi Natarajan,

    You can try the feedback options but there is no cast iron guarantee it will work for you.

    Perform a search for your branded search query. Beneath the Knowledge Graph panel there will be a small grey “Feedback” link on the right hand side. Click that and you’ll be able to send feedback to Google about the data presented within Knowledge Graph for your location.

    It’s worth a try but as I say, there’s are guarantees.

    Chris

  2. In your example Google is showing two organization results. You have the social profiles in one and logo in another. Is this okay? I have the same situation where my logo is in the header and social links in the footer - they aren’t grouped and cannot be children of the same itemscope. Wouldn’t this be considered two organizations?

    • Hi SM,

      Good question. Google’s guidelines on the actual implementation of Schema are somewhat vague. In my experience there are often various ways to achieve the same goal.

      As it stands as far as I am aware having two instances of Organization schema shouldn’t be an issue as long as each instance references the same organization and avoids the repetition of data.

      In our example however we had both Organization and LocalBusiness which may have been slightly confusing. I actually modified the implementation of our Schema markup shortly after publishing this post, removing the local business markup and implementing a single Organization dataset. I think this is the slightly cleaner, more efficient approach.

      Still, even after this effort our social profile links are still not included within the Knowledge pannel for High Position! But at least we now have a cleaner markup implementation.

      Chris

      • The reason why the social profiles are not showing I found out just now is because the documentation says.

        https://developers.google.com/structured-data/customize/social-profiles

        “Also check to see if your profiles are verified - Google does not show unverified profiles (for social profiles sites that allow verification).”

        And since you can’t request verification on social media you won’t see the media profiles anywhere except big companies, celebrities etc.

Leave a Reply

Your email address will not be published. Required fields are marked *