web-dev-qa-db-ja.com

SDTTで画像フィールドが欠落していると表示されるのはなぜですか?

Drupal 8.でレシピを作成しました。Google構造化データテストツールで テストページ を実行すると、画像フィールドが欠落していることがわかります。

それでもインターネットブラウザで画像のリンクを開くと、画像が表示されます。

Googleツールに画像フィールドがないと表示されるのはなぜですか?

マークアップの例:

<img property="schema:image" src="image.jpg" alt="…" typeof="foaf:Image" />
1
ML19

SDTTが報告するエラーは、Googleの記事のリッチリザルトを取得するためだけのものです。リッチな結果を取得したくない場合は、エラーを無視できます。

GoogleのArticleリッチリザルトを取得するには、imageの値がURLまたはSchema.org ImageObjectである必要があります。

したがって、FOAF Imageタイプを削除して、URL値のみを提供することができます。

<img property="schema:image" src="image.jpg" alt="…" />

または、Schema.org ImageObject + FOAF Imageアイテムを提供できます。

<div typeof="schema:Article">
  <div property="schema:image" typeof="foaf:Image schema:ImageObject">
    <img property="schema:contentUrl schema:url" src="image.jpg" alt="…" />
  </div>
</div>

(GoogleのSDTTがFOAF Imageタイプを認識していないというエラーは無視できます。このツールはほとんどの場合Schema.orgしか認識していませんが、他の語彙を使用することは完全に問題ありません。)

2
unor

一般的に、これはDrupalコアと拡張機能から来る一種の乱雑なコードです。対処方法がわかりません。最初に、拡張機能をすべて削除します。構造化データを実装します。次に、自分のニーズを反映したクリーンな構造化データコードを記述し、それを実装しようとします。

あなたの画像:あなたが実行するテストであなたが話している画像は画像として認識されます

enter image description here

構造化データコードをクリーンアップし、意味のあるデータ型(Recipe、Article、およびPerson)を1つのエンティティに結び付ける必要があります。

0
Evgeniy