WordPress初期設定でのh1,h2タグ
WordPressの初期設定では「ブログの名前」がh1タグに指定されており、「ブログの説明文」は見出しには指定されていません。そして、「個別記事のタイトル」がh2タグになっているのが普通です。これではSEOに有効とは言えません。
個別記事のh1タグに「個別記事のタイトル」を指定してみました
私はこれを個別記事以外はindex.phpを使って、h1タグに「ブログの説明文」を、h2タグに「個別記事のタイトル」を指定して、記事内部にh3タグ以下を指定していました。
個別記事では、h1タグに「個別記事のタイトル」を、h2タグには何も指定せず、記事内部にh3タグ以下を指定していました。これは個別記事にsingle.phpを使って実現していました。個別記事でh2タグを使わず飛ばしてh3タグになっていたのが気になっていました。
個別記事だけを指定するis_single()を使って条件分岐させました
今回これを、single.phpを使わず、header.phpだけを変更して、h1タグを条件分岐して変更する方法にしました。
最終的に、個別記事以外は、h1タグに「ブログの名前」+「ブログの説明文」を指定して、個別記事では、h1 タグに「個別記事のタイトル」+「ブログの名前」を指定しました。h2タグに「個別記事のタイトル」を指定して、記事内部にh3タグ以下を指定するのは従来通りです。これならSEOにはかなり有利なはずです。
条件分岐には
<?php if(is_single()): ?>
という個別記事だけを指定するis_single()というものを使いました。実際のスクリプトは次の通りです。
<h1> <?php if(is_single()): ?> <span class="storytitle_s"><?php the_title(); ?></span> <span id="header_s"><a href="<?php bloginfo('url'); ?>/"><?php bloginfo('name'); ?></a></span> <?php else: ?> <span id="header"><a href="<?php bloginfo('url'); ?>/"><?php bloginfo('name'); ?></a></span> <span class="description"><?php bloginfo('description') ?></span> <?php endif; ?> </h1>
ここで、h1タグの中にはブロック要素のdivタグを使うことができないので、インライン要素のspanタグを使ってブロック表示をさせています。single.phpは必要なく、とてもスマートにできました。表示がかなり乱れますのでスタイルシートで調整します。
classの表示が一部抜けている場合があります。上記のスクリプトは参考程度にしてください。ご了承ください。