■使用例:
WordPressサイトでのSEO対策のため、head内のtitleタグの内容を、カテゴリや検索結果などセクションに応じて書式を変更する。
■現状:
WordPressの標準インストールの状態では「ブログ名 » 記事名」となる。運営者のポリシーにもよるが、例えばトップページではブログのフルネーム、カテゴリでは「カテゴリ | ブログ省略タイトル」、検索結果では「検索ワード | ブログ省略タイトル」のように、そのページの内容に最適化したタイトルに変えたほうが、SEO対策的には有利です。タイトル内でも、先頭に近いキーワードほどSEO的には優先的に評価されるとされています。また、人間にはアピールするけれどもSEO的にあまり意味のない(例えば【創業50年の老舗】など)は、トップページでは使ったとしてもコンテンツページでは省略したい。
■解決方法:
実際に当社運営のリニューアルオープン情報検索サイト【リニュース】というサイトの例。
———-
<title>
<?php if(is_tag()) { ?> ※タグの場合(plugin使用)
<?php UTW_ShowCurrentTagSet(’tagsettextonly’); ?> | リニューアルオープン情報【RE】
<?php } elseif(is_search()) { ?> ※検索結果の場合
<?php echo wp_specialchars($s, 1); ?> | リニューアルオープン情報【RE】
<?php } elseif(is_date()) { ?> ※年月日の場合
<?php the_time(’Y年m月’); ?> | リニューアルオープン情報【RE】
<?php } elseif(is_category()) { ?> ※カテゴリの場合
<?php single_cat_title(); ?> | リニューアルオープン情報【RE】
<?php } elseif(is_single()) { ?> ※個別記事の場合
<?php wp_title(”); ?> | リニューアルオープン情報【RE】
<?php } elseif(is_page(’21′)) { ?> ※地図ページ(ページIDは21)場合
地図検索 | リニューアルオープン情報【RE】
<?php } else {?> ※上記以外の場合(つまりホームの場合+上記以外の場合)
<?php bloginfo(’name’); ?> ※ブログのフルネーム
<?php } ?>
</title>
———-
他にも書き方はあると思います(もっと省略することもできます)。基本的にはis_categoryなどコンディショナルタグを使って分岐させてあげるということです。
ページ内では、
h1=ブログタイトル
h2=現在のカテゴリ、検索結果、記事タイトル(titleと同じ内容)
h3=カテゴリ内の記事タイトル(ループ内の各記事)
h4=記事内の小見出し(可能な限りサイトやカテゴリの関連語句を含める)
など、見出しにSEO的になるべく有効なキーワードが埋め込まれるように工夫します。
head > meta > keyword にはプラグインのUltimateTagWarriorの設定により、記事ごとに付けたタグを流し込み
head > meta > description には、個別記事の場合は<?php the_excerpt(); ?>を設定(現状は全文流し込み)、それ以外ではtitle同様コンディショナルタグを使って分岐、内容を<?php single_cat_title();?>などで動的に設定。カテゴリの場合は、管理>カテゴリーの編集>概要にカテゴリにdescriptionの内容を書いて<?php echo category_description($cat); ?>で流し込んでも良いですね。
とにかく、SEOを考える上でタイトル=titleは重要です。でもやみくもにキーワードを並べて「読みにくい」のは嫌いなので【】や|を最低限使って検索リスト上でも読みやすく目を惹くように、そういうポリシーです。
あとはURLにも日本語を使用すれば、SEO的にも注目度もgoodですね。
参考)SEO対策にはUTF-8(文字コード)
コメント/質問お待ちしています