canonicalタグとは?URLを正規化してSEO評価を高める!

当記事の信頼性
管理人:かつさんど
  • 現役Webマーケター
    元Webディレクター
  • 東証一部上場の不動産系企業で勤務
  • 最高収益:月間30万円

今回は意外と使われていないcanonicalタグについて解説したいと思います。レスポンシブデザインがよく採用される前はPCサイトとスマホサイトが別々にあることが多く、 alternateタグとcanonicalタグを設定することがよくありました。最近では正しいURLを正確にGoogleに伝えるためにcanonicalタグを使うケースが多いため、是非覚えておいてください。

目次

canonicalタグとは?

canonicalタグとは?

canonicalタグとは、Googleに対してWebページの正しいURLを指定することができるタグです。

例えば、GoogleやYahooなどの検索エンジンは「https・http」「wwwあり・wwwなし」など、URLが1文字でも異なると、全てをインデックスして別々のページとして認識します。

本ブログで例えると、当ブログのURLは「https://nuko-blog.net/」が正しいURLになりますが、canonicalタグを設定していなければ、下記の全てのページが別々のページとしてGoogleに認識される可能性があるということです。

canonicalタグを設定した方が良い例

・httpとhttps

http://nuko-blog.net/
https://nuko-blog.net/

・wwwなしとwwwあり

https://www.nuko-blog.net/
https://www.nuko-blog.net/

このように同じ内容のページにも関わらず、別々のページとして認識されることで、重複ページや類似ページが存在していると認識されてしまうと、SEO評価が意図せず落ちるリスクがあります。

もちろん、GoogleやYahooなどの検索エンジンは、どちらが正しいURLなのか自ら判断することができません。このような事態を避けるために、サイト運営者が本当に正しいURLをcanonicalタグを使って指定することが重要です。

canonicalタグをSEO評価的に設置した方が良い理由

canonicalタグが必要な理由

被リンクの分散

先ほど少し説明したように、別々のページと認識されることで、重複・類似ページとしてペナルティーを受ける可能性があります。

さらにURLが別々になっていることで、別々のURLにそれぞれ被リンクがあった場合、せっかく獲得した被リンクのSEO評価が分散してしまいます。

これはSEO的にもったいないので、canonicalタグを使ってURLの正規化を行うことで、正しい1つのURLに被リンクのSEO評価が集まりSEO効果を最大限高めることができます。

重複コンテンツの解消・トラッキングの複雑化

同じページで別々のURLと認識されることで重複コンテンツとして認識されることがあります。

特にスクラッチで作ったシステム、CMS、ECサイトなどのシステムから生成されるページのURLは複雑なパラメーターが付いていることがよくあるので注意が必要です。

さらに同じページで複数のURLが生成されることで、Googleアナリティクスなどで計測する時に手間が増えたり、漏れたりするので早期に解消する方が良いです。

クロール負荷の軽減

本当は1つのページだとしても、Googleに重複ページと認識されてしまうとGooglebotが無駄なクロールをすることになるので、時間がかかってしまいます。

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

canonicalタグを記述した方が良いWebサイト

canonicalタグを記述した方が良いWebサイト・ページ

一部例で出しましたが、具体的にcanonicalタグを記述した方が良いWebサイト・ページを見ていきましょう。

簡単に説明しておくと、canonicalタグの設定が必要なウェブサイトは、複数のURLから、同じページにアクセスができてしまうウェブサイト・ページが対象になります。

canonicalタグを記述した方が良いWebサイト

wwwありとwwwなしのサイト

https://example.com
https://www.example.com

httpとhttpsのサイト

http://example.com
https://example.com

パソコン、スマホなどデバイス毎にURLが異なるサイト

https://example.com
https://m.example.com
https://amp.example.com

複数カテゴリーに同じ記事があるサイト

https://example.com/blog/web/sample/
https://example.com/blog/seo/sample/

パラメータやセッションIDなど動的URLがあるサイト

https://example.com/products?category=dresses&color=green
https://example.com/dresses/cooktail?gclid=ABCD
https://example.com/dresses/green/greendress.html
など

canonicalタグの記述方法

canonicalタグの記述方法(リンクタグrel="canonical")

canonicalタグの設定方法はとても簡単で、よく使われているのが、リンクタグ「rel=”canonical”」を使用する方法です。

<head>
<link rel="canonical" href="https://nuko-blog.net/" />
</head>
<body>
・
・
・
</body>

canonicalタグを追加したい対象となる全てのページで、<head>セクションに<link>タグでcanonicalタグを設定します。

またcanonicalタグは絶対パスで記述するようにしてください。一応相対パスでも動作しますが予期せぬ不具合が発生する可能性があるので避けましょう。

よく<body>タグに追加すると思われている方がいるのですが間違いです。注意しましょう。

その他URLの正規化方法

その他URLの正規化方法

スマホ版がある場合はrel=”alternate”を追加

スマホページがある場合、PC用サイトにリンクタグ「rel=”alternate”」を追加することでURLの正規化をしてくれます。

<head>
<link rel="alternate" media="only screen and (max-width: 640px)"  
href="href="https://mobile.nuko-blog.net/">
</head>

301リダイレクトを使用する

301リダイレクトもURLを正規化する方法としてよく使われる手法です。手順としては下記になります。

  1. 正規化するURL一覧を作る
  2. サーバーから「htaccess」ファイルをダウンロード
  3. リダイレクトするコードを記述
  4. サーバーの「htaccess」を上書き
  5. サーバーの「htaccess」を「.htaccess」にリネーム

サーバーのルートディレクトリにある「htaccess」というファイルをダウンロードします。

RewriteEngine On
RewriteRule https://home.example.com
 $ https://example.com/home [R=301,L]
RewriteRule https://www.example.com
 $ https://example.com/home [R=301,L]

上記の内容を追記してサーバーにアップした後、ファイル名を編集して最初に「.(ドット)」を付与して「.htaccess」に変更してください。

HTTPヘッダーrel=”canonical”を使用する

HTTPヘッダーでURLの正規化をすることも可能です。

Link: <http://www.example.com/downloads/white-paper.pdf>; rel="canonical"

サーバーを操作する権限がある場合、HTTPヘッダーrel=”canonical”を返して、その指定先が正規URLとしてGoogleに伝えることができます。

記述例:
GET /white-paper.pdf HTTP/1.1
Host: www.example.com
(…以下、他の HTTP リクエスト ヘッダー…)

HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <http://www.example.com/white-paper.html>; rel=”canonical”
Content-Length: 785710
(…以下、他の HTTP レスポンス ヘッダー…)

Google検索セントラル HTTP ヘッダーでの rel=”canonical” 属性に対応しました

例えば、htmlページとPDFダウンロードページがある場合、PDFファイルが要求された時にhtmlページが正規URLであるという記述は上記で実現します。

サイトマップを送信する

Google Search Console-サイトマップ

Google Search Consolのサイトマップ送信を使って、サイト内の正規化したいURLをGoogleに知らせることができます。特に大規模サイトは全ページにタグを追加することに時間がかかるため、サイトマップを送信して対応する方が早く解決します。

XML形式のサイトマップを準備する必要がありますが、そこまで手間はかかりません。私のブログの場合、XMLサイトマップが「https://nuko-blog.net/sitemap.xml」にあるので「sitemap.xml」と記載して送信ボタンを押すだけです。

URLの正規化をチェックする方法

URLの正規化をチェックする方法

URLの正規化が出来ているかどうかは、Google Search Consoleの「URL検査」で調べることができます。

Google Search Consoleにログインして、左メニューの「URL検査」をクリックして、検索窓に確認したいURLを入力してください。正常に問題なくGoogleにインデックスされている場合は、上記のような表示になります。「ユーザーが指定した正規URL」という項目にcanonicalタグで指定したURLが表示されていたら正常に反映されています。

何らかの問題があってGoogleにインデックスされていない場合は、「URLはGoogleに登録されていません」という文言が表示されます。「インデックス登録をリクエスト」をクリックして、Googleにページをクロールするように申請してみましょう。もしそれで何らかの問題ある場合は、Google Search Consoleに登録しているメールアドレスに問題が発見された旨の通知が届くので対応しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次