As I get from here, link tags can be used in the body as long as they contain Microdata. I understand how this may come handy for specifying all sorts of properties, e.g. from Schema.org: author, datePublished etc.

But, by default, the link element is invisible and unclickable for the end user (as an aside - even though it's an empty tag, it can be made visible via a display:block and a ::before/::after pseudo element with content set to one of the attributes; it can also be made clickable via JavaScript pointing to the URL value with simply this.href. But these are optional at most and I'm not sure if a crawler would understand that they are indeed available to the end user).

So, then, how does the Googlebot handle such an URL?

  1. Follow and index it just like it does with a regular link?
  2. Treat it as hidden content and punish the site for it?
  3. Ignore it?
  4. Something else?
  • 1
    So you are not allowed to use any link element (e.g., <link href="" rel="" />) in the body, but only those with an itemprop attribute (for Microdata) resp. a property attribute (for RDFa). webmasters.stackexchange.com/questions/55130/… Google will likely ignore it and not factor it in, repeat this behaviour many times either on the same page or across the site then you most likely would get a punishment of some sort. Nowadays its extremely hard to get punished for cloaking because nowadays they reward so little. Jul 3, 2015 at 6:16
  • 1
    Take the W3 rules for metas with a grain of salt. It will follow it like a sameas, canonical entity, or target of summary, assuming you use it correctly, within the right schema(s), and you do not abuse it. No guarantees it will percolate to index though. Really, the way to do this properly is not using microdata to insert meta links....instead, use JSON-LD. Then you can put masked data everywhere on the page without worrying about violating some obsolete standard about where metas should go or triggering some insane "cloaking" penalty when all you were doing is entity assimilation.
    – dhaupin
    Jul 3, 2015 at 16:39

1 Answer 1


It’s similar to using the meta element for Microdata (in fact, the only difference between meta and link is that link must be used if the value is a URI, meta in every other case):

Use link if you can’t provide a visible hyperlink/image/video/etc.

A typical (but not the only) reason for using link is in cases where the URL is not supposed to be visited by your users. This is the case for most Enumeration URIs, e.g., http://schema.org/InStock: this is a URI that users should never visit; it just serves as a non-ambiguous indicator that a product is in stock (using a URI has many advantages over using plain text).

Follow and index it just like it does with a regular link?

Not every URL in a link element can or should be indexed (see InStock example above).

Treat it as hidden content and punish the site for it?

It is hidden content, but that does not mean that Google will punish your page because of it. In fact, some of their examples even use link, e.g.:

  • Videos Rich Snippet:

    <link itemprop="contentUrl" href="http://www.example.com/video123.flv" />
    <link itemprop="embedUrl" href="http://www.example.com/videoplayer.swf?video=123" />
  • Software Apps Rich Snippet:

    <link itemprop="applicationCategory" href="http://schema.org/GameApplication"/>
  • Products Rich Snippet:

    <link itemprop="itemCondition" href="http://schema.org/UsedCondition"/>
    <link itemprop="availability" href="http://schema.org/InStock"/>
  • Social Profiles:

    <link itemprop="url" href="http://www.your-company-site.com"> 

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.