WordPressでCanonical URLを設定する方法

2017.04.25 2017.11.26WordPress
WordPressでCanonical URLを設定する方法

WordPressでCanonical URLを出力する方法について。SEO系のプラグインを使えば手軽に設定できますが、今回はWordPressテーマでページの種類ごとに出力したかったのでその方法をメモ。

Canonical属性とは?

正規のURLを検索エンジンに伝えるためのもの。サイト内に重複するページがある場合に、どちらを優先するかを検索エンジンに示す目的で使います。

たとえばウェブサイトを運営していると、下記のように同一のページに複数のURLが存在してしまうことがあります。

  • http://www.○○○○○.com/
  • http://○○○○○.com/
  • http://www.○○○○○.com/index.html
  • http://○○○○○.com/index.html

すると検索エンジンはこれらを別々のページだと判断してしまい、ページの評価が分散しSEO上好ましくありません。それを防ぐため、head要素内にCanonical属性を設定しておきます。

WordPressでページの種類ごとにCanonical URLを出力するソース

<?php
global $page, $paged, $wp_query;
//トップページ
if(is_home()||is_front_page()){
$canonical_url = home_url();
//カテゴリーページ
}else if (is_category()){
$canonical_url = get_category_link(get_query_var('cat'));
//固定ページ&投稿
} else if (is_page()||is_single()) {
$canonical_url = get_permalink();
//検索結果ページ
} else if (is_search()){
$encode_s_word = urlencode(get_search_query());
$canonical_url = home_url().'?s='.$encode_s_word;
//タグアーカイブ
} else if(is_tag()){
$encode_tag = urlencode(single_tag_title( '', false ));
$canonical_url = home_url().'/archives/tag/'.$encode_tag;
//その他のページ
} else {
$canonical_url = null;
}
if ($canonical_url == !null) { ?><link rel="canonical" href="<?php echo $canonical_url; ?>" />
<?php }
//表示中のページが分割ページの場合は前後のページへのリンクを出力
if (!$max_page)
$max_page = $wp_query->max_num_pages;
if (!$paged)
$paged = 1;
$nextpage = intval($paged) + 1;
if (!is_singular() && ($nextpage <= $max_page)) { ?>
<link rel="next" href="<?php echo next_posts( $max_page, false ); ?>" />
<?php }
if(!is_singular() && $paged > 1){ ?>
<link rel="prev" href="<?php echo previous_posts( false ); ?>" />
<?php } ?>
参考URL
[Wordpress]canonical(rel="next/prev" 含む)基本設定 – Qiita

WordPressテーマ『HIGHLAND』公開しました

WordPressテーマ『HIGHLAND』を公開しました

このブログで紹介しているカスタマイズを、これでもかと盛り込んだ高性能なテーマになっております。商用・非商用問わず無料、是非ご利用ください。

ブログ集客メール講座登録フォーム

「売上が不安定で、月末になるといつも不安……」
「営業が苦手で新規開拓がうまくいかない……」
「Webが苦手でブログをうまく活用できない……」

個人起業家・フリーランスのあなた、こんなお悩みはありませんか?

実は僕も、独立して最初に直面したのが「集客」の壁でした。

しかし今は、1年の大半をベトナムで過ごしながら、フリーランスのWebディベロッパーとして生計を立てています。

僕がなぜ、時間・場所・人間関係に縛られずに暮らせるようになったのか?

その答えは「ブログ」にあります。

今なら、「初心者の人が成果を上げるため」のブログ集客ノウハウを、メール講座限定でお伝えします。

興味のある人は、今すぐ以下から登録【無料】を!

ブログ初心者が生き残るためのブログ集客メール講座

柴田竹思

柴田竹思

日本&ベトナム二拠点生活中のWeb系フリーランス。最近は育児6:仕事4のバランスで生活してます。これでもかってくらい奥さんの尻に敷かれてる座布団系男子です。

プロフィールはこちら