web-dev-qa-db-ja.com

正規のリンクおよびヘッド内のメタ記述のitemprop

Googleが提供するコードの検証に問題があります。アイデアは(簡略化されています):

<head itemscope itemtype="http://schema.org/WebSite">
  <title itemprop="name">Example.com - Best Website in the World</title>
  <meta name="description" content="Blah Blah Blah" itemprop="description">
  <link rel="canonical" href="https://example.com/" itemprop="url">
</head>

Googleドキュメント に触発されました(マークアップの例を参照)。

主な問題は、上記のコードが無効であることです。

この時点では、属性itempropは要素metaで許可されていません。
属性itempropは、この時点では要素linkで許可されていません。

ただし、itempropを削除すると、Google構造ツールはurlおよびdescriptionをプロパティとして認識しなくなります。

その理由を教えてください。Googleが無効なコードを提供するのはなぜですか。どうすれば解決できますか?

1
Mike

例は無効なHTML + Microdataです。 itemprop [meta]またはname [link]要素にrel属性を持つことは許可されていません。

HTML + Microdataの解決策は、要素を複製することです。

<head itemscope itemtype="http://schema.org/WebSite">
  <title itemprop="name">Example.com - Best Website in the World</title>
  <meta name="description" content="Blah Blah Blah">
  <meta itemprop="description" content="Blah Blah Blah">
  <link rel="canonical" href="https://example.com/">
  <link itemprop="url" href="https://example.com/">
</head>

HTML + RDFaを使用すると、以下を混在させることができます。

<head typeof="schema:WebSite">
  <title property="schema:name">Example.com - Best Website in the World</title>
  <meta name="description" property="schema:description" content="Blah Blah Blah">
  <link rel="canonical" property="schema:url" href="https://example.com/">
</head>
1
unor