<head>内のtitleタグはwp_title()でカスタマイズする。
百も承知といいたいところ、その使い方を今まで間違っていた。サイトのtitleタグを出力する際にはheader.phpにて、
wp_title( '|', true, 'right' );
とする。これだとサイトのタイトルのみなので、SEO的にはこれに続けて投稿タイトルやページ番号などを付けたい。その際にコードの流れにまかせてheader.phpに記述していた。デフォルトテーマのtwentytenやtwentyelevenなどもそうしているので、なんの疑問も持っていなかった。
テーマレビューで、titleタグをカスタマイズする場合にはwp_titleフィルタを使うように指摘があった。つまりheadタグ内に記述してよいのはwp_title()のみである。キャッチフレーズや投稿タイトルなど追加したい場合はフィルタで行う必要があるため、functions.phpで処理するのが正しいのだ。
[PHP]
function my_title( $title ) {
global $page, $paged;
$title .= get_bloginfo( ‘name’ );
$site_description = get_bloginfo( ‘description’, ‘display’ );
if ( $site_description & ( is_home() || is_front_page() ) )
$title .= ” | $site_description”;
if ( $paged >= 2 || $page >= 2 )
$title .= ‘ | ‘ . sprintf( __( ‘Page %s’, ‘birdtips’ ), max( $paged, $page ) );
return $title;
}
add_filter( ‘wp_title’, ‘my_title’ );
[/PHP]
twentyeleven以上のクオリティを求められるテーマレビュー、やはり厳しい。