[ 管理人編集 ]
CSSと強調タグ(strong・em)
キーワードの重み付けで、構造的強調タグや物理的強調タグを使用しながら、見た目はそうならないやり方
構造的強調
strong要素
「より強調」なのに、より強調に見えない。
strong.spam {
font-weight: normal;
}
<strong class="spam">「より強調」なのに、より強調に見えない。</strong>
em要素
「強調」なのに、強調に見えない。
em.spam {
font-style: normal;
}
<em class="spam">「強調」なのに、強調に見えない。</em>
物理的強調
b要素
太字なのに、太字に見えない。
b.spam {
font-weight: normal;
}
<b class="spam">太字なのに、太字に見えない。</b>
i要素
斜体なのに、斜体に見えない。
i.spam {
font-style: normal;
}
<i class="spam">斜体なのに、斜体に見えない。</i>
big要素
「大文字」なのに、大文字に見えない。
big.spam {
font-size: 100%;
}
<big class="spam">「大文字」なのに、大文字に見えない。</big>
スパムと判定できない
今のところ"純正"スパムではないようだが、検索エンジンのロボットに見せるソースと、ユーザーが見る画面とは違うということは事実。
CSSの問題
ロボットが読まないCSS
まず、ロボットはCSSを読み込んでいるかどうか判断しかねる。htmlの中の、style要素やstyle属性の場合だ。
次に、CSSを外部参照した場合、管理サイトのアクセスログを見る限り、ロボットはCSSファイルをGETしていない。
さらに、外部CSSをcssディレクトリなどに入れてrobots.txtで弾くことも可能なので、見出しタグのCSS処理は、おそらく永遠にスパム判定されることはないはずだ。
参照:CSSファイルのインデックス - Yahoo!(YST)とGoogle :検索エンジン三国志
strong要素とem要素はストリクト
そもそも、ストリクトなHTMLの場合、見出しと段落を中心に、強調やより強調で構造的にテキストを記述する。また見栄えは外部CSSでまかなうことになる。つまり、はじめからソースと一般的なブラウザの画面とは違っていることが前提となっているのである。
なお、b要素、i要素、big要素はストリクトではない。
あえてスパム判定するケースは
強調タグを、構造的記述ではなく、単なる上位表示の重み付けのためだけに用いる場合だろうか?
しかしこれも人間の判断、ロボットは永遠にCSS問題をクリアしないだろう。



