テクニカルSEO BLOG
テクニカルSEOを中心にSEO対策をまとめています

canonicalタグとは?URL正規化の方法

こんにちは、テクニカルSEOツール「アナトミー」開発チームの江頭です。

カノニカル(canonical)タグは、SEO内部対策の一つである、URL正規化を行うときに使用するタグです。

URLを正規化することで、ウェブページを正しくインデックスし、SEO評価を高めていきましょう。

この記事では、カノニカル(canonical)タグの書き方と注意点を解説します。

カノニカル(canonical)タグとは?

カノニカル(canonical)タグは、Webサイトに重複したコンテンツや類似したコンテンツが存在するときに、基準となるURL(正規URL)を伝えるものです。

検索エンジンはcanonicalタグを読み取り、重複・類似したコンテンツをどのように扱うか判断します。

そのため、canonicalタグの設定はSEOに影響を与えます。

カノニカル(canonical)タグを設定する理由

それでは、重複・類似したコンテンツへの対策として、canonicalタグがなぜ有効なのでしょうか?

理由は3つあります。

  1. 重複コンテンツはSEO評価を下げてしまう
  2. 被リンクの評価を合算できる
  3. クローリングを最適化できる

それぞれ説明していきます。

重複コンテンツはSEO評価を下げてしまう

Googleはランキング操作を目的としたコピーコンテンツに対して、ペナルティを課しています。

Google でのランキングの操作やユーザーへの偽装を意図した重複コンテンツが表示される可能性が認識された場合も、Google では関係するサイトのインデックス登録とランキングに対して適切な調整を行います。その場合、該当するサイトはランキングが低下するか、Google インデックスから完全に削除されて検索結果に表示されなくなる可能性があります。

https://developers.google.com/search/docs/advanced/guidelines/duplicate-content?hl=ja

重複コンテンツは、大量のページがある大規模サイトはもちろんですが、ページ数が少ないサイトでも発生しえます。そのため、意図せず重複コンテンツと判断されてしまわないよう、対策を行う必要があります。

被リンクの評価を合算できる

類似したコンテンツにcanonicalタグを正しく設定すると、それらのコンテンツ間でSEO評価が合算されます。

たとえば、類似したコンテンツ /seminar と /blog/category/seminar があり、それぞれ外部サイトから被リンクが張られているとします。2つのページに同一のcanonicalタグを設定すると、両方のページの被リンク評価が合算されます。

クローリングを最適化できる

検索エンジンは、サイトのURL数が多ければ多いほど、クローリングに時間がかかります。canonicalタグを設定すると、類似したコンテンツのうち、代表的なURLを中心にクローリングするようになるため、クローリング速度が向上します。結果的に、新しいページやコンテンツの変更がGoogleに反映されやすくなります。

実際、Googleも、カノニカルタグを推奨する理由の一つに、重複コンテンツのクローリング最適化を挙げています。

重複したページのクロールに時間がかかるのを防ぐため。Googlebot でサイトが最大限に活用されるようにするには、サイト内の同一ページの PC 版とモバイル版のクロールよりも、新しい(または更新された)ページのクロールに多くの時間をかけられるようにするのが効果的です。

重複した URL を統合する – Search Console ヘルプ

カノニカル(canonical)タグ設置が推奨されるサイト

canonicalタグの設置は、次のようなサイトでは特に必要です。

  • アクセス解析用のパラメータを多数付与しているサイト
  • 複合条件での検索機能があるサイト

アクセス解析用のパラメータを多数付与しているサイト

アクセス解析のために、URLに特別なパラメータを付与することがあります。

<a href="/product/">製品詳細</a>
<a href="/product/?from=lp">製品詳細</a>
<a href="/product/?from=banner">製品詳細</a>

実際は同一ページでも、検索エンジンから見ると3つのURLが存在しているように見えます。このようなパラメータが複数種類あり、さらにあらゆるURLに付与しているときは、必ずcanonicalタグを設置しましょう。

複合条件での検索機能があるサイト

ECサイトなどの検索結果画面は、検索エンジンにとっては膨大なURLの集まりです。

たとえば、商品名と値段・色の3つの検索条件で考えただけでも、次のように大量のURLがあります。

https://example.com/search/?q=LANケーブル
https://example.com/search/?q=LANケーブル&max=1000
https://example.com/search/?q=LANケーブル&max=2000
                 :
https://example.com/search/?q=LANケーブル&color=red
https://example.com/search/?q=LANケーブル&color=blue
                 :
https://example.com/search/?q=LANケーブル&max=1000&color=red
https://example.com/search/?q=LANケーブル&max=1000&color=blue
                 :
https://example.com/search/?q=LANケーブル&max=2000&color=red
https://example.com/search/?q=LANケーブル&max=2000&color=blue
                 :
                 :

特に、複合条件の検索結果画面では、項目数が増えるにしたがってURLが級数的に増えていくので、canonicalタグは必須です。

カノニカル(canonical)タグの書き方

カノニカルタグは<link>タグとして記述します。<link>タグは、ページに関連した外部リソースを指定するタグで、スタイルシートやショートカットアイコン・URLの正規化などで利用します。

よく使用する属性は、以下の通りです。

属性 説明
rel 外部リソースの種別を指定します。
正規URLを指定する場合は、canonicalを使います。
href 外部リソースのURLを指定します。
正規化したURLを指定します。
仕様上、相対URLでも絶対URLでも構いませんが、Googleは絶対URLを推奨しています(後述)。

HTMLでcanonicalタグを指定する

次のようなlinkタグを<head>タグ内に記述します。

<link rel="canonical" href="https://example.com/foo/bar.html">

その他、以下の注意点があります。

headタグ内に1つだけ記述する

2つ以上canonical linkを記述すると、すべてのcanonical linkタグが無視されてしまいます。記述するときは、ページ内に1つだけ記述します。

正規化するURLは絶対URLで記述する

絶対URLとは https:// から始まる形式のことです。href属性は、Googleの公式ガイドで言及されているように、絶対URLが推奨されています。相対パスで記述しないようにしてください。

正規化するURLはパーセントエンコーディングする

パーセントエンコーディングとは、URLに含まれる日本語や記号を %E8 のような文字で置き換えた形式のことです。ブラウザのアドレスバーでURLをコピーすれば、簡単にパーセントエンコーディング形式のURLを取得できます。

正しい例:

<link rel="canonical" 
      href="https://example.com/category/%E8%A3%BD%E5%93%81">

間違った例:

<link rel="canonical"
      href="https://example.com/category/製品">

正規URLのよくある誤りにも目を通しておきましょう。設定を間違えると、SEOに影響することがあります。

SEOチェックリストのダウンロード

WordPressでcanonicalタグを指定する

WordPressでcanonicalタグを変更するには、パーマリンク設定と投稿記事の2か所で行います。

WordPressは標準でcanonicalタグに対応していて、プラグインをインストールしなくても、canonicalタグが出力されます。どのテーマを使っているときでもOKです。

canonicalタグを高度なルールで出力するときに限り、プラグインのインストールやテーマのカスタマイズが必要になります。

WordPressのパーマリンク設定

まず、WordPressのパーマリンク設定で、正規URLのディレクトリ構造を指定します。SEO上は、日付やIDを含まない「投稿名」型のURLがおすすめです。

  1. WordPressの管理画面で[設定]-[パーマリンク設定]メニューをクリックします。
  2. 「投稿名」を選択し、[変更を保存]ボタンをクリックします。
WordPressのパーマリンク設定

ここで設定したパーマリンク設定に基づいて、canonicalタグが出力されます。

WordPressの記事ごとの正規URLを設定する

パーマリンク設定だけでなく、個別の投稿・固定ページで正規URLの一部を指定します。

投稿画面の右側にあるURLスラッグ欄に、URLの一部分を入力します。

WordPressの投稿毎にURLスラッグを設定

プラグイン「All in One SEO Pack」で正規URLを設定する

All in One SEO Packプラグインを使うと、WordPress標準のパーマリンク設定で対応できないパターンに対応できます。たとえば、パーマリンク設定で「数字ベース」型を設定しているときに、特定の投稿・固定ページだけ、「投稿名」型の正規URLを出力できます。

All in One SEO Packのプラグイン設定で、「カノニカルURL」にチェックを入れます。

All in One SEO Packのプラグイン設定

その後、各記事の編集画面下部にある「カスタム Canonical URL」欄に正規URLを入力します。

投稿記事ごとのカスタムCanonical URL

レスポンスヘッダで正規URLを指定する

canonicalタグで正規化ができるのはHTMLですが、PDFや画像などの重複コンテンツをURL正規化するにはHTTPヘッダを使用します。

次のようなLinkヘッダをHTTPレスポンスヘッダに送信します。

Link: <https://cluster-seo.com/download/seo-guide.pdf>; rel="canonical"

Apacheの場合は、次のような設定でLinkヘッダを送信できます。

<Location /download/seo-guide.pdf>
  Header add Link '<https://cluster-seo.com/download/seo-guide.pdf>; rel="canonical"'
</Location>

カノニカルタグとメタタグとの違い

description metaタグと同様、canonical linkタグは検索インデックスに影響するものです。

正しいインデックスに登録されないと、ページが検索にヒットしなくなる恐れがあります。

canonical linkタグが正しく出力されているかどうか、後述するチェックツールなどを使い、チェックするようにしましょう。

正規URLの注意点

内容が異なるページを正規URLに指定しない

正規URL(href属性)には、コンテンツの大部分が一致するページのURLを指定します。仮に、別コンテンツのURLを指定してしまうと、正しくインデックス登録されず、ページが表示されなくなる可能性があります。

WordPressなどCMSを利用しているときは、それぞれのページに対してcanonicalタグが自動で作成されるので心配いりませんが、HTMLファイルを直接コーディングしているときには、この問題が起きやすくなります。

正規URLが実在することを確認する

存在しないページを指定してURLを正規化すると、不正なcanonical linkタグとみなされます。

canonicalタグの効果がなかったり、最悪の場合は、そのページが検索結果に表示されなくなってしまいます。

サイトマップ内のURLと正規URLを一致させる

canonicalタグで指定するURLは、XMLサイトマップで指定するURLと一致させるようにします。特に大規模なサイトや、重複コンテンツが多いサイトでは、XMLサイトマップで指定するURLを正規URLだけにして、重複URLを含めないようにしましょう。

その他、canonicalタグの注意事項については、以下の記事を参考にしてください。

カノニカル(canonical)タグをチェックするツール

目視での確認が難しいcanonicalタグは、SEOツールでチェックすると良いでしょう。

アナトミー

テクニカルSEOツール「アナトミー」では、各ページのcanonicalタグの内容はもちろん、サイト全体のcanonicalタグの設置状況も確認ができます。青いタイルはcanonicalタグが設定されているページ、赤いタイルは設定されていないページを示しています。

Googleサーチコンソール

Googleサーチコンソールでcanonicalタグを確認するには、ページのURLを入力し「URL検査」を行います。

canonicalタグが正しく記述されている場合には、「カバレッジ」の「ユーザーが指定した正規URL」に、canonicalタグに指定したURLが表示されます。また、canonicalタグが存在しない場合は、「ユーザーが指定した正規URL」が「なし」と表示されます。

「Googleが選択した正規URL」は、GoogleがどのURLを正規URLとして判断したかを表します。原則として、canonicalタグで指定したURLが正規URLとみなされるのですが、例外的に他のURLを正規URLとして判断するケースがあります。

Checkbot

サイトのクローリングを行い、内部対策チェックを行うChrome拡張機能です。canonical linkタグの有無や、指定されたURLを一覧で確認できます。

Checkbotのcanonical URL一覧

https://www.checkbot.io/

Screaming Frog SEO Spider

インストール型の内部対策チェックツールです。canonicalタグの設定状況が一覧で確認できます。

Screaming Frog SEO Spider

https://www.screamingfrog.co.uk/seo-spider/

まとめ

canonicalタグを間違って使うと、検索結果への悪影響も起きるかもしれません。だからこそ、canonicalタグを書こうかなと思ったときは、「必要なページだけに限定して記述する」「canonicalタグを自動生成する」「canonicalタグではなく、301リダイレクトで正規化する」も検討したほうがよさそうですね。

Webサイト運用の内製化支援サービス|REBUILD WEB-MKTG-SITE

Page Top