web-dev-qa-db-ja.com

Open Graphプロパティは、メタ/リンク以外のタグで効果的に使用できますか?

metaおよびlink要素は、マークアップに一種の冗長性を作成する場合があります。たとえば、すでにtitle要素がありますが、og:titleプロパティを宣言するには、<meta property="og:title" content="Some Title" />などの別個のmeta要素を追加する必要があります。前者の明示的なコンテンツと後者の属性コンテンツは通常同じです。

これで、バリデーターで<title property="og:title">Some Title</title>を実行できるようになります(content属性も追加することは違法です)。問題は、これがFacevookと他の人が彼らの仕事をするのを助けるかどうかです。それとも<title property="og:title schema:name">Some Title</title>のようなものでしょうか?

og:image-<meta property="og:image" content="http://example.com/thumbnail.jpg" />についても同様のことが、メイン画像のリンクと重複しています。 <img property="og:image" src="http://example.com/thumbnail.jpg" alt="Some Alt" />を実行しても大丈夫ですか(検証者は反対しませんが、Facebookはどうでしょうか?)。

1

2つの視点があります。

  • 有効なRDFaとは何ですか?
  • 消費者(Facebookなど)は何をサポートしていますか?

最初のものは、仕様を確認することで簡単に答えられます。
2つ目は各消費者に依存します。ドキュメントは最新/正確/完全ですか?パーサーはどの程度優れていますか?

消費者にとっては、RDFaの一部のみをサポートすることはまったく意味がありません。それは理由のための仕様/標準です。多くの準拠するRDFaパーサーの1つを使用し、抽出されたデータ/トリプルを操作する必要があります。この解析されたデータがあれば、それから彼らはどの語彙(OGPやSchema.orgなど)をサポートして利用するかを決定できます。

理想的には、サポートするタイプ/プロパティ(og:nameなど)およびサポートする構文(RDFaなど)だけを記述する必要があります。例またはそれらをまさにそのように使用する必要がある場合。

そのため、ドキュメントが明確で、かつ/または最新のテストツールを提供していない限り、テストするか、関心のある各消費者に尋ねる必要があります。

HTML5 + RDFaの観点から…

property要素でRDFaのtitle属性を使用すると問題ありません。

<title property="og:title">My favorite books - blog.example.com</title>

さらにcontent属性を使用することもできますが、RDFaに使用するタイトルがユーザーに表示されるタイトルと同一でない場合にのみ意味があります。

<title property="og:title" content="My favorite books">My favorite books - blog.example.com</title>

2つ以上のプロパティを使用しても問題ありません。

<title property="og:title schema:name">My favorite books - blog.example.com</title>

また、RDFaの観点からは、値としてURIを作成する要素である限り、og:imageプロパティを指定する要素は関係ありません。

を使用して

<meta property="og:image" content="http://example.com/thumbnail.jpg" />

無効 HTML5 + RDFa(このようなFacebook文書がある場合、この事実は変わりません)。

代わりに、たとえば次のようになります。

<link property="og:image" href="http://example.com/thumbnail.jpg" />
<img property="og:image" src="http://example.com/thumbnail.jpg" alt="Foo" />
1
unor