ロジカルマークアップとSEO

ロジカルマークアップを心がけないと検索エンジンのクローラが正しく読みとってくれないよ、というSEO屋さんの主張に異議を唱えるエントリ。ブクマコメントは賛否両論

僕はこのあたりの技術には疎いのだけど、ロジカルに書かれたHTMLを前提として論理構造を積極的に解析に利用すると、決してロジカルでない既存の多くの重要なドキュメントが正しく処理されない可能性があるというのはそうだと思う。細かいツッコミどころは色々あるけど、上のエントリの主旨はだいたい正しいと思った。が、ここでは逆の事を考えてみる。

確かにロジカルマークアップを前提とすると「見逃し」が出てしまう。しかし、それにも関わらず Google なんかは、それをやってしまっているようだ。例えばインデクシングする際に、単にタグをストリップしたプレーンテキストを解析するのではなく、タグの位置が単語の境界と一致することを前提として解析しているらしい。実際はてなダイアリーキーワードが部分一致してしまった長い単語(いわゆる「誤爆」を受けた単語)ではその単語を含むダイアリーが Google で全くヒットしないという現象があった(参照:キーワードリンクと google)。

こういう実装が Google のミスなのか確信犯なのかよくわからないけど、ロジカルに書けば避け得た「プチ Google 八分」みたいな現象が実際にあり、それが「ロジカルマークアップSEO的に有利」と拡大解釈*1され、それが広く認知されると、検索エンジンがロジカルマークアップを積極的に利用する根拠が生まれてくる。

というのは、この状況では、ロジカルにマークアップされたページはそうでないページよりも検索されたがっているページだと言えるから、それなりの扱いをしてもよかろう、とも考えられるようになるからだ。

こういう予言の自己成就みたいなプロセスで、ロジカルマークアップSEOで重要になってくる(あるいはすでにそうなった)ということはあるかもしれない。

本論はこれで終わり。最後に「細かいツッコミ」を簡単に。

  • 「「タグの意味を拾ってる」と主張するなら「ホワイトスペースにも意味がある」と主張されてもいいはず」大抵の計算機言語ではホワイトスペースは「意味がない」という意味を持たせているのでそうはならないと思う。
  • 「スタイル、JavaScriptは、非対応ブラウザに配慮してコメントアウトするようにしててくれているサイトのほうが有利」style, script あたりを読み飛ばすのは、コメントを読み飛ばすのと比べて難しいということはないので、普通は考慮されてるんでないかな。
  • 「なぜ「タグ名にレベルの数が含まれている」の?」レベルを無限にしないという設計なのでは。
  • 「childHeadingとかchildSectionとかいうタグがあって、それで階層構造を記述してるんだったら」これをやって、childSection のネストレベルでレベル数を表すとすると、DTD だとどうしても無限階層を許す定義しかできなくなる。要素名一つにつき一つの内容モデルしか定義できないので。このへんは RELAX NG とか W3C XML Schema なら大丈夫。
  • 「hタグがそれ以降のどこまでを配下セクションとして扱うのかを明示してないじゃん?」たぶん既存のワープロがHTMLに対応しやすいようにこうなっているのだと思う。ひろ式さんの言うように、セクションのネストレベルでレベルを表現した方がわかりやすいし、素直なロジックで処理できるのだけど、大抵のワープロはデータをツリーではなく属性付きの段落のリストの形で持っている。
  • まあ、「あるべき HTML」の姿は XHTML 2.0 を待つべしってことで。

*1:実際は変なHTMLを書くとSEO的に不利になるだけで、ロジカルに書けば書くほど有利になるというものではないと思う。