SEO

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

2020年1月31日

canonicalタグとは?

canonicalタグとは?

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

GoogleやYahooなどの検索エンジンは、https・http、wwwあり・wwwなしなど、URLが違えば全てをインデックスし別々のページとして認識します。

本ブログで具体的に例えると、運営者の私は当ブログのURLは「https://nuko-blog.net/」が正しいURLであると考えていますが、以下の場合は全て別々のページとGoogleに認識されてしまいます。

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

・wwwなしとwwwあり
https://www.nuko-blog.net/
https://www.nuko-blog.net/

このように重複ページや類似ページなどが存在する場合、GoogleやYahooなどの検索エンジンは、どちらが正しいURLなのか正確に判断することができません。

そのため、重複ページや類似ページが存在する状況で、運営者が意図しないページがGoogleによって評価されてしまい、SEO評価が落ちる(検索順位が落ちる)ことがあります。

これを避けるために、サイト運営者が本当に正しいURLを指定することができるようにするためにcanonicalタグは存在します。

canonicalタグが必要な理由

canonicalタグが必要な理由

被リンクの分散

URLが異なることで、別々のURLにそれぞれ被リンクがあった際に、被リンクのSEO評価が分散してしまいます。これを避けるためにも、canonicalタグでURLを正規化して、1つのURLに統一することで、被リンクの評価も1つに集まり、よりSEO効果が高まります。

重複コンテンツの解消

前述したようにURLが異なることで、重複ページや類似ページと認識されてしまうため、別々に評価されてしまう、SEO評価が分散するということを解消することができます。

トラッキングの複雑化

トラッキングの複雑化は重複コンテンツと同じよう意味にはなるのですが、計測したいURLが複数になることで、計測の手間が増えたり、漏れたりするので、重複コンテンツを解消すること方が良いです。

クロール負荷の軽減

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

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

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

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

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

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

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タグの記述方法(リンクタグrel="canonical")

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

canonicalタグの設定方法でよく使われているのが、リンクタグrel="canonical"を使用する方法です。

head要素に追加する

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

よくある間違いで<body>タグに追加する方がいるのですが、全く効果がないので記述箇所については、注意しましょう。

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

ソースコード上部に追加する

モバイル版がある場合、rel="alternate"を追加

正規ページにモバイル版がある場合、パソコン用サイトにrel="alternate"リンクを追加して、正しいモバイル版のページを指すようにします。

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

その他URLの正規化方法

その他URLの正規化方法

リンクタグrel="canonical"を使わずに、URLの正規化をする方法を説明していきます。

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

301リダイレクトもURLの正規化でよく使われる手法です。

下記のようなページが存在している場合、まず最初にこの中のどれが正規URLかを決定させます。今回は一番上の「https://example.com/home」が正しいURLという設定で話します。

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

次に残る2つのURLにアクセスされた際に、正規URLに301リダイレクトされるように設定を行っていきます。

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」という名前のファイルを自身のパソコンにダウンロードして、以下の内容を記述し、サーバーにアップした後にファイル名の最初に「.(ドット)」を付与します。

301リダイレクトは、基本的に一時的ではなく、恒久的に転送する(リダイレクト)という意味になるため、ウェブサイト・ページのリニューアル時、ドメインの変更時に使用します。

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

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

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

サイトマップを送信する

サイト内の正規化したいURLを選択して、サイトマップを作成し、Google Search Consolから送信してGoogleに知らせることができます。

特に大規模なサイトの場合、全てのページにタグを追加することに時間がかかるため、サイトマップを送信して対応する方が早く解決します。

Google Search Console-サイトマップ

画面赤枠の「サイトマップ」をクリックします。

Google Search Console-サイトマップ

「新しいサイトマップの追加」にサイトマップのファイル名を入力して送信ボタンをクリックしてください。

「https://nuko-blog.net/sitemap.xml」というようにサイトマップが作成されているのであれば、「sitemap.xml」がファイル名になるので、これを入力します。

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

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

Google Search Consoleの「URL検査」で調べることができます。

Google Search Console-URL検査

Google Search Consoleにログインして、左メニューが確認してみましょう。画面赤枠の「URL検査」をクリックして、検索窓に確認したいURLを入力してください。

Google Search Console-URL検査

正常に問題なくGoogleにインデックスされている場合は、上記のような表示になります。「URLはGoogleに登録されています」という文言が表示されます。

何らかの問題があってGoogleにインデックスされていない場合は、上記のような表示になります。「URLはGoogleに登録されていません」という文言が表示されます。

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

まとめ

サイトの規模が大きくなったり、システムを導入していくと以前のページなどが残っていて重複ページや類似ページと認識されることがよくあるので、特にサイトリニューアルをした際など、ご注意してください。

参考サイト

重複した URL を統合する
rel=canonical 属性に関する 5 つのよくある間違い

当サイトで申込みが多いプログラミングスクール・教室はこちら!

【1位】ポテパンキャンプ:Webエンジニア輩出率No1

【2位】CodeCamp:満足度96.6%のプログラミングレッスン

【3位】DMM WEBCAMP:プログラマー転職成功率98%

【4位】TechAcademy:プログラミングスクール受講者数No1

【5位】GEEK JOB:満足度・転職率が高い・20代社会人経験者向け

-SEO
-

© 2021 nukoblog