6

Google documentation suggests to use http://schema.org/WebSite to provide a Site Name.

They provide this Microdata example:

<head itemscope itemtype="http://schema.org/WebSite">
<title itemprop='name'>Your WebSite Name</title>
<link rel="canonical" href="https://example.com/" itemprop="url">

Do I need to use this markup only on site root?

Should I use <meta itemprop="name" content="Your WebSite Name" /> on each non-root page (to preserve title for other uses)?

  • I'm trying to figure out why you need to call it a Website? Isn't everything a website? I have had terrible luck with making markup work. – JustJohn Aug 9 '16 at 19:45
3

Google doesn’t seem to document if it’s sufficient to provide this one the homepage, or if every page should have it.
Note that they do state this for the Sitelinks Searchbox ("Add the markup only to the homepage of your site. It is not necessary to repeat the markup in other pages of your site."), so either they forgot to mention this for the Site Name, too, or they intentionally didn’t state it, which would imply that it should be on every page.

It shouldn’t matter if you provide it in the head or in the body, no matter if you use JSON-LD (details) or Microdata/RDFa. Bugs aside, Google should parse it in the same way.

The following is only from the perspective of Schema.org. I don’t know the state of Google’s support here.

Repeating the information on every page

For the homepage:

<head itemscope itemtype="http://schema.org/WebSite">
  <title itemprop="name">Example Website</title>
  <link itemprop="url" rel="canonical" href="https://example.com/" />
</head>

For other pages:

<head itemscope itemtype="http://schema.org/WebSite">
  <title>Example Page · Example Website</title>
  <meta itemprop="name" content="Example Website" />
  <link itemprop="url" rel="canonical" href="https://example.com/" />
</head>

(Side note: see my answer about using rel together with itemprop on link)

Bonus: Relationship to WebPage

If you use WebPage for every page, you can relate the WebSite to it. For example, if you specify WebPage on html, with the isPartOf property:

<html itemscope itemtype="http://schema.org/WebPage">
  <head itemprop="isPartOf" itemscope itemtype="http://schema.org/WebSite">
    <!-- the same properties as in the example above -->
  </head>
  <body>
    <!-- and use "mainEntity" here to denote the primary entity this WebPage is about -->
  </body>
</html>

Referencing instead of repeating

Based on this, you could even reference the WebSite data without repeating it on every page.

For that to work, you have to give the WebSite entity on the homepage a URI (in case of Microdata, with the itemid attribute):

<!-- on the homepage -->
<html itemscope itemtype="http://schema.org/WebPage">
  <head itemprop="isPartOf" itemscope itemtype="http://schema.org/WebSite" itemid="/">

On the other pages, you then reference this URI:

<!-- on all pages except the homepage -->
<html itemscope itemtype="http://schema.org/WebPage">
  <head>
    <link itemprop="isPartOf" href="/" />

(But in case Google expects the WebSite markup on every page, I wouldn’t get your hopes up that they support this URI referencing.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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