web-dev-qa-db-ja.com

WordPress投稿でRDFaを使用する良い方法

私はパンくずリストでRDFaを使用していますが、これは投稿のコードのスキームです:

<div class="path" vocab="http://rdfa.data-vocabulary.org/#">
    <span id="breadex">You are here: </span>

    <span typeof="v:Breadcrumb"><!--This is the home link-->
        <a title="Title" id="breadh" href="#" rel="v:url" property="v:title">Title</a>
    </span>

    <span typeof="v:Breadcrumb"><!--This is the category link-->
        <a title="Category" href="#" rel="v:url" property="v:title">Category</a>
    </span>

    <span typeof="v:Breadcrumb"><!--This is the subcategory link-->
        <a title="Subcategory" href="#" rel="v:url" property="v:title">Subcategory</a>
    </span>

    <span>This is the title of the post</span><!--This is the title of the post-->
</div>

現時点では、このスキームは機能しています。Google検索結果にカテゴリが表示されるため、スニペットには各カテゴリのリンクが表示されるため、Googleはこの情報を理解しています。

これがHTML5を有効にする方法であることに言及することは本当に重要です。 Beforexmlnsの代わりにvocabを使用しましたが、HTML + RDFa 1.1ではxmlnsは非推奨です。それが、このようにRDFaを使用している理由です。

BUT:Google Webmaster Toolsはエラーを表示します。以前は、xmlnsを使用するとエラーなく完璧に動作しました。これは、すべての投稿URLに対してGoogleが表示するエラーです。

行方不明:著者

欠落:エントリータイトル

欠落:更新済み

そのため、26の投稿があるWebサイトでは、GWTでこのトリプルエラーが26回発生しています。具体的には、「構造化データ」セクションです。次のステップは、"Google構造化データテストツール"でこの情報を確認することでした。 http://www.google.com/webmasters/tools/richsnippets

そして、"構造化されたデータ抽出":hatom-feed、hatom-entry ...が表示されます。すべてが問題なく、最後は赤色で表示されます:

エラー:必須フィールド「entry-title」がありません。

エラー:必須フィールド「更新」がありません。

エラー:必要なhCard "author"がありません。

次に、rdfa-nodeと正しい情報が表示されます。 Open Graphを使用しているため、この場合はOpen Graphメタタグから取得されます。

私の質問は次のとおりです。

このエラーを修正するには、すべての投稿にRDFaを追加する必要がありますか?たとえば、次のように投稿の著者を印刷する場所に著者を追加できます。

カテゴリーのadminによる2013年12月29日

"更新"フィールドは投稿の日付ですか?

"entry-title"をどのように示す必要がありますか?

1
Gerard

3つのエラー(entry-title/updated/authorがありません)は、RDFaではなく、マイクロフォーマットに関するものです。

article要素には、 hEntry Microformat で使用されるhentryクラスがあります。このMicroformatには、entry-titleupdated、およびauthorクラスが必要です。

また、tagリンクタイプ(別名 rel-tag Microformat )を使用しています。これらはhentryの子であるため、Google SDTTはこれらのタグがhEntryインスタンス。これらはGoogleのSDTTの「hatom-feed→hatom-entry」の下に表示されます。

HEntry Microformatを使用したくない場合は、hentryクラスを削除してください。


RDFaに関する補足事項:vocabを指定していますが、語彙用語のプレフィックスはまだ使用しています。エラーではありませんが、vocabは無視されます。 my answer で他の質問に説明されているように、語彙を指定するには3つのオプションがあります。

vocabを使用:

<div vocab="http://rdfa.data-vocabulary.org/#">
    <span typeof="Breadcrumb"></span> <!-- without "v:", because you are using "vocab" (= default vocabulary URI) -->
</div>

prefixを使用:

<div prefix="v: http://rdfa.data-vocabulary.org/#">
    <span typeof="v:Breadcrumb"></span> <!-- with "v:", as defined in "prefix" -->
</div>

何も使用しない( RDFa Core Initial Context に依存):

<div>
    <span typeof="v:Breadcrumb"></span> <!-- with "v:", as defined by the W3C in the Initial Context -->
</div>
0
unor