クライアントが JSON-LD (microdata ではなく) schema.org タグをリクエストする Web サイトがあります。彼らが望んでいるものの 1 つは、各ページのコンテンツに関する情報を含む、各ページ上の基本的な「WebPage」タグです。もう1つは、特定のFAQページにのみ追加される「FAQPage」です。どちらもインライン スクリプト タグとしてページに直接追加されます。
FAQPage は WebPage から継承しているため、WebPage のすべてのプロパティが含まれています。
フッター コードで「WebPage」タグを生成し、FAQ コンポーネントで「FAQPage」タグを生成すると、両方が個別の JSON-LD スクリプト タグとしてページ上に表示されることになります。これは次のように解釈されると思います。 2 つの別々の「Web ページ」 - 私たちが探しているものではありません。 p>
2 つの JSON-LD タグが互いの「拡張」を表すようにスキーマ タグをマークすることは可能ですか? FAQPage は WebPage を継承しているため、両方がログに記録されている同じページであることを示す識別子を設定する方法が必要です。
(はい、バックエンドのロジックを使用して、FAQPage に関する情報をフッターに「渡し」、フッター コンポーネントに FAQPage または WebPage を動的に出力させることもできますが、それは私がここで探しているものではありません。) p>
同じ@id
キーワード をこれに使用できます。ノード オブジェクトの識別子を IRI (または空のノード識別子) の形式で提供します。@id
値を持つ
Node オブジェクトは、その型に継承関係があるかどうかに関係なく、 同じものです。これらの IRI は、Web 上のドキュメントに解決される必要はありません。もしそうなら、 あなたは、その物体とその物体に関する文書を区別する必要があります。
ただし、あなたの特定のケースでは、物とそれに関するドキュメントは実際には同じことを意味します。したがって、ページの正規 IRI を@id
オブジェクトが同じものを表しているが、異なる:
として使用できます。 リーリー@id
値を持つ場合は、属性
owl:sameAsを使用できます。しかし、Schema.org のみをサポートする消費者はこれに気づきません。 (Schema.org にも sameAs
属性がありますが、意味は異なります。)