WordPressサイトの全ページにcanonicalを設定する方法がウェビメモさんで紹介されていました。非常にわかりやすかったので紹介したいと思います。
canonicalとは
canonicalというのは、ページの内容が類似していたり重複している場合に、検索エンジンからの評価が分散してしまわないように、URLの正規化を行うためのメタタグです。
例えば、ECサイトで色違いのTシャツがそれぞれ別ページで販売されている場合などに活用します。
詳しくは、以下の記事でわかりやすく解説されていますので、ご参照いただければと思います。もしくは「canonicalとは」で検索すると、たくさん記事が出てきます。
WordPressサイトの全ページにcanonicalを設定する方法
適用しているテーマのfunctions.phpに以下を追記します。
remove_action('wp_head', 'rel_canonical');
add_action( 'wp_head', 'add_canonical' );
function add_canonical() {
$canonical = null;
if( is_home() || is_front_page() ) {
$canonical = home_url();
} elseif ( is_category() ) {
$canonical = get_category_link( get_query_var('cat') );
} else if(is_tag()){
$canonical = get_tag_link(get_queried_object()->term_id);
} elseif ( is_search() ) {
$canonical = get_search_link();
} elseif ( is_page() || is_single() ) {
$canonical = get_permalink();
} else{
$canonical = home_url();
}
echo '<link rel="canonical" href="'.$canonical.'">'."\n";
}
コピペでOKです。
上記を記述することで、各ページに以下のようなメタタグが追加されます。
<link rel="canonical" href="ページのURL">
あとがき
コピペでサクッと実装できるので、サイトにcanonicalを設定したいと思っていた方はぜひ!

