25

XHTML 1.0 Strict でコーディングされたサイトを持っています。新しい Microdata を使用してサイトにブレッドクラムを追加したい ( Google が理解できるようにするため)。

私の古い非 microdata マークアップ ブレッドクラムは次のようになります。

<ul>
  <li><a href="...">Level 1</a></li>
  <li><a href="...">Level 2</a></li>
  <li><a href="...">Level 3</a></li>
</ul>

Google によると、Microdata を使用してブレッドクラムをマークアップするには、上記のコードを次のように拡張します。

<ul>
  <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
    <a href="..." itemprop="url">
      <span itemprop="title">Level 1</span>
    </a>
  </li>
  ...
</ul>

しかし、これは有効な XHTML 1.0 Strict ではありません。

私は何をすべきか?
検証の競合を無視する必要がありますか? ただの代わり
に書くべきですか(これは有効な XML ですが、それでも有効な XHTML ではありません)? Doctype を XHTML 1.0 Strict ではなく HTML5 に変更する必要がありますか?itemscope="itemscope"itemscope

これがIE6までずっと機能することを望みます!

ご意見をお聞かせください :)

4

5 に答える 5

16

はい、itemscopeXHTML で使用したい場合は、 itemscope="itemscope"XHTML5 (HTML5 と同じ DOCTYPE ですが、XML 構文) を記述して使用する必要があります。

itemscopeは W3 HTML5 には含まれていませんが、WHATWG のバージョンには含まれているため、検証は引き続き困難になる可能性があります。この問題についてはかなりの政治的議論があるようですが、かなり退屈に見えるので私はフォローしていません。

現時点では、ブレッドクラム アノテーションを最終的な検証可能なドキュメント フォーマットで使用したい場合は、代わりに RDFa を使用できます: 代替の (ただし古い) 提案であり、議論のすべてであり、既存の doctype を使用します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
于 2010-09-07T16:25:15.353 に答える
12

主要な検索エンジンが昨年 6 月 (2011 年) にリッチ スニペットを実行する方法としてschema.orgを採用することを決定して以来、 XHTML5 にはまだ機能する DTD がないことを考えると、この問題はより重要になっています (ところで、http://www.html5dtd .org/は XHTML5 DTD に取り組んでおり、これを読んだ時点で準備が整っている可能性があります。そして、私が言おうとしていることは、数週間前に私がhttp://www.nedprod.com/programs/portable/XHTMLwithHTML5microdata/に置いたページを要約したものであり、必要に応じてリッチ スニペットのデモを含む詳細があります。

XHTML 1.x Strict を schema.org/HTML5 マイクロデータで拡張し、nedprod を更新するためにすべてを適切に検証する必要がありました。Microsoft Expression Web は、編集した HTML の一部を食べ​​る傾向があるため、検証はキャッチするのに便利です。壊れるとき。したがって、標準の XHTML 1.0 のものを拡張するこれらの DTD を作成しました。

使用するには、目的の DTDのコピーを取り (nedprod のオリジナルは使用しないでください。帯域幅を確保できません)、次のように使用します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict with HTML5 microdata//EN" "xhtml1-strict-with-html5-microdata.dtd">

また ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional with HTML5 microdata//EN" "xhtml1-transitional-with-html5-microdata.dtd">

...または、特定の XML 検証設定によって検証に使用される DTD をオーバーライドする可能性が高くなります。

ところで、ここに興味深いことがあります。質問に答えるときに知っておくと便利なので、これだけを含めます。正直なところ、上記の doctype を使用すると、レンダリング時に quirks モードが呼び出されると思いました。非常に驚いたことに、IE8、Chrome 14、Firefox 5、および Opera 11.50 はすべて、標準モードでそのような doctype をレンダリングします。誰が考えただろうか!したがって、必要に応じて、カスタム doctype を使用して XHTML ページを公共のインターネットにアップロードすることができ、新しいブラウザーは少なくとも正しいことを行うでしょう。

これが誰かに役立つことを願っています、
ニール

于 2011-09-03T18:19:20.730 に答える
1

有効な HTML 5 の例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example page</title>
</head>
<body>
    <div itemscope="" itemtype="http://schema.org/MediaObject">
        <div itemprop="video" itemscope="" itemtype="http://schema.org/VideoObject">
           <meta itemprop="name" content="Breast Augmentation Video Diary">
           <meta itemprop="duration" content="PT12M54S">
           <meta itemprop="thumbnailUrl" content="http://www.plastic-surgery-estonia.com/new-assets/images/thumbnails/breast-augmentation.jpg">
           <meta itemprop="contentURL" content="http://www.youtube.com/watch?v=BwPN6eCpxTk">
           <meta itemprop="embedURL" content="http://www.youtube.com/watch?feature=player_embedded&amp;v=BwPN6eCpxTk">
           <meta itemprop="uploadDate" content="2010-11-09">
           <iframe src="http://www.youtube.com/embed/BwPN6eCpxTk?rel=0&amp;autohide=1&amp;modestbranding=1&amp;showinfo=0"></iframe>
           <span itemprop="description">Video Diary</span>
        </div>
   </div>
</body>
</html>

次のリンクが役に立ちました:
- http://support.google.com/webmasters/bin/answer.py?hl=en&answer=2413309&topic=1088474&ctx=topic
- http://www.reelseo.com/embedded-youtube-indexed-グーグル/

于 2013-04-08T18:47:55.427 に答える
-2

Google のページのいくつかを検証してみてください...それらは検証されません。検証はツールであり、素晴らしいものですが、それ以上のものではありませんが、あなたの決意を称賛します. 検証について心配している場合は、 HTML5 に切り替えます。

于 2010-12-11T06:53:18.050 に答える