blog.hekt.org

SEO対策

記事単独のページやAboutとかのページを開いたときの<h1>をそのコンテンツのタイトルにしてみました。記事単独のページだったら、その記事のタイトル。Aboutのページなら「About」。

<?php if(!is_single() && !is_page()): ?>
 <h1 id="sitetitle"><a href="http://www.hekt.org">www.hekt.org</a></h1>
<?php else: ?>
 <div class="heading" id="sitetitle"><a href="http://www.hekt.org">www.hekt.org</a></div>
<?php endif; ?>
<?php if(!is_single() && !is_page()): ?>
 <h2 class="entrytitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title() ?></a></h2>
<?php else: ?>
 <h1 class="entrytitle"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title() ?></a></h1>
<?php endif; ?>

サイトタイトルの<h1>の代替を何にするか悩みましたが、結局<div>にしました。<p>というのもなんか違うと思うし、ほかに考えられるとしたらリストかなあ。<div>直下にインライン要素ってまずいらしいけど、W3Cも普通に入れちゃってるし、根拠がよくわからないからいいや。

それより、見出しが数字の少ないものから連続してないことが気になります。具体的に言うと記事単独のページだと<h1>より前に<h2>が出てくるんですよね。さらに問題なのが、H1>H2>H3というように、より大きい見出しが小さい見出しの内容を包含していると考えると、<h1>に指定された記事のタイトルが「Search」とか「RSS and Atom feeds」を包含していないといけない、ということになって、これはちょっと無理があるような。<h1>がサイト名ならまったく問題ないんですけどね。サイトのコンテンツという意味で通じますし、マークアップとしてはその方が無難な気も。

ところで、「SEO対策」という言葉は日本語としてなんかおかしい気がします。SEOというのはSearch Engine Optimizationの略で、日本語だと「検索エンジン最適化」と訳されますが、これに対策をつけて「最適化対策」と言うと、検索エンジン側の意図的に結果を操作されることへの対策、みたいなニュアンスが強いような。英語と日本語を混ぜると、本来意味としておかしいはずが正しく見えてしまうから危険ですね。「ミスターちん氏」みたいな。

まあ、他人が使う分には意味も通じるしどうでもいいのですが、僕は出来るだけ使わないようにします。