重複や類似しているページがある場合、検索エンジンにどのページを評価してもらいたいか、canonicalタグで示す必要があります。これは「URLの正規化」と呼ばれ、SEOの基本的な施策のひとつです。
無料
知っておきたい89のテクニカルSEO用語
無料アクセス
・301リダイレクト
・404エラー
・504 Gateway Timeout
・ccTLD
・HTMLサイトマップ
しかしURLの正規化は、canonicalタグを使わず301リダイレクトをおこなう場合もあるなど、ケースによって対応が異なります。
そこでこの記事では、canonicalタグの正しい使い方や注意点、URL正規化の重要性などを解説します。
canonicalタグとURLの正規化について
canonicalタグとは、サイト内で重複しているコンテンツやほとんど同じ内容のコンテンツがある場合に、検索エンジンに評価してほしい正規のURLを示すためのタグです。
たとえば「www」「index.html」のあり・なしのように、サイト運営をしていると重複や類似のページが生成されることはよくあります。そうした場合に検索エンジンからの評価を分散させず、ひとつのページにまとめるためにcanonicalタグを使用します。
ただし、検索エンジンはcanonicalタグをヒントととらえているだけなので、指定したページ以外が正規ページとしてインデックスされる場合もあります。
canonicalタグは、HTMLのhead要素内に記述します。
canonicalタグを使用する目的としては、大きく「1.同じ内容の2つ以上のページへの評価を1つに統合する」「2.正規ページを優先的にクロールしてもらう」の2つがあります。
「1.同じ内容の2つ以上のページへの評価を1つに統合する」に関しては、同じ内容の複数のページがあると、検索結果からの流入やクリックが分散したり、各ページに外部リンクが張られたりして、Google からのページの評価が分散する可能性があります。
canonicalタグを使うことで、分散してしまうこれらの評価を正規ページに統一できます。
「2.正規ページを優先的にクロールしてもらう」に関しては、canonicalタグを使うことでクローラーはその正規ページを優先的にクロールしやすくなり、サイト内クロールの時間が短縮される可能性があります。
canonicalタグを設定する必要があるのは、内容がまったく同じでも、URLが異なれば検索エンジンが別のページだと扱うためです。
たとえば、私たち人間は「http://www.hubspot.jp」と「http://hubspot.jp」という2つのURLがまったく同じページを指していると考えるでしょう。実際のHubSpotのウェブサイトでも、この2つのURLは1つの同じページを指しており、URLの違いはページにアクセスする方法の違いを表しているにすぎません。
このようにURLが違っていても、ユーザーは同じページであることを理解します。
しかし、検索エンジンはURLの違いをページの違いとして認識するため、この2つのURLがそれぞれ別のページであると判断します。
このような問題を解決してくれるのが、URLの正規化です。
301リダイレクトについて
301リダイレクトは、あるURLを別のURLに恒久的に転送する処理です。
たとえば、「example.com」を「www.example.com」に301リダイレクトしたとします。この場合、「example.com」にアクセスすると自動的に「www.example.com」に転送されます。301リダイレクトは、転送先のURLに恒久的にページが移転したことをユーザーやGoogle に伝えます。
301リダイレクトは、以下のように転送先のページに移転し、元のページを使わなくなったりアクセスが不要になったりした場合に使用します。
--------------------------------------------------
- サイトを新しいドメインに移転した場合
- 2つのサイトを統合し、一方のサイトへのアクセスが不要になった場合
- ページ内のコンテンツを削除し、新しいページに転送したい場合
- ユーザーがアクセスするURLが複数存在する場合
(http://example.com/home、http://home.example.comなど)
--------------------------------------------------
上記の例からもわかるように、転送先のページと元のページ(転送されるページ)の内容は必ずしも同じではありません。
一方、canonicalはコンテンツの内容は同じではあるものの、なんらかの原因でURLが2つ以上生成された場合に、1つのURLを正規URLと指定する場合に使います。
301リダイレクトについて、詳しくはGoogle の公式ページ「リダイレクトと Google 検索」も参考にしてください。
canonicalタグを使った正規化の方法
ウェブサイトのURLを正規化するには、いくつかの方法があります。
どの方法にもそれぞれメリットとデメリットがあり、自社にとって最適な方法がどれなのかは、全体的なウェブ戦略に応じて変わってきます。
<link rel=”canonical”>のタグを使用する
この方法の最大のメリットは、指定できる正規URLの数に上限がなく、URLのパスに注意する必要がないということです。
なおこの方法は、HTML上にデータがないPDFファイルなどの正規化には使用できません。(PDFファイルの正規化は、次に紹介する「HTTPヘッダーでrel=canonicalを使う」の方法でできます)
ちなみに、WordPressやHubSpotなどのCMSでは、コンテンツ作成時にcanonicalタグが自動で設定されたり、URL変更時に自動で更新されたりします。
HTTPヘッダーでrel=canonicalを使用する
<link rel=”canonical”>のタグと同様の機能として、HTTPレスポンスヘッダーで正規URLを設定することで、コンテンツの正規バージョンを正確に指定できます。
前の項目で述べたように、HTMLのheadタグ内に入れたcanonicalタグは、HTMLページでしか機能しません。
HTMLデータではないPDFなどのファイルについて、どれが正規ファイルなのかを指定する場合は、HTTPレスポンスヘッダーを使います。
タグを使う方法と同様に、この方法も指定できるページの数に上限がありません。
ただし、他の方法よりも設定がやや難しく、規模の大きいウェブサイトやURLが頻繁に変更されるサイトでは、維持が難しいという欠点があります。
canonicalタグを使うべき4つの場面
http://www.hubspot.jpとhttp://hubspot.jpで掲載されているコンテンツが同じであるという先ほどの例は、URLの正規化が重要なケースの1つにすぎません。
URLの正規化が必要になる場面としては、次のような状況が一般的です。
コンテンツ作成においてモバイル対応をおこなう場合、以下のようにサブドメインを作り、PC用ページと同じ内容のモバイル用ページやAMPページを作る場合があるでしょう。
--------------------------------------------------
https://example.com/news/koala-rampage(PC用ページ)
https://m.example.com/news/koala-rampage(スマホ用ページ)
https://amp.example.com/news/koala-rampage(AMPページ)
--------------------------------------------------
この場合は、重複ページと見なされないように正規化が必要です。
PC用ページを正規URLとする場合は、スマホ用ページとAMPページのHTMLのheadタグ内に、以下のようにcanonicalタグを入れます。
--------------------------------------------------
<link rel="canonical" href="https://example.com/news/koala-rampage" />
--------------------------------------------------
なお、スマホ用ページをPC用ページに正規化する場合は、PC用ページのHTMLのheadタグ内に、以下のように「alternate」という属性を入れ、PC以外にもスマホページが存在することを示すよう、Google は推奨しています。
--------------------------------------------------
<link rel="alternate" media="only screen and (max-width: 640px)"href="https://m.example.com/news/koala-rampage">
--------------------------------------------------
上記のような対策を「アノテーション」と呼びます。
「アノテーション」の実装方法について、詳しくはGoogle Developersの記事「別々の URL | 検索セントラル | Google Developers」も参考にしてください。
ECサイトなどで同じ商品に対して複数のURLを生成している
ECサイトなどでは、同じ商品でも、色やサイズといった種類に応じてURLのあとに「パラメーター(「?」以降で示される文字列)」をつけて異なるページを生成することがあります。
たとえば、犬用のおもちゃを販売しているウェブサイトがあるとします。売れ筋のおもちゃに複数の色のバリエーションがある場合、以下のように各色に応じたURLが設定されているはずです。
--------------------------------------------------
●青色の商品の紹介ページ
example.com/product?color=blue
●緑色の商品の紹介ページ
example.com/product?color=green
--------------------------------------------------
もし、何らかの理由で青色の商品の紹介ページを正規URLとしたい場合は、緑色の商品紹介ページ「example.com/product?color=green」のHTMLにcanonicalタグを挿入しましょう。
ただし、複数のバリエーションのページをひとつのページに正規化することで、他のページは検索結果に表示されなくなります。そうすると、特定の色やサイズの商品を探しているユーザーが検索結果上で該当の商品ページを見つけられなくなります。
そのため、「このページに正規化したい」という明確な理由がない場合は、複数のバリエーションのページは正規化せずに、個々のページとして残しておきましょう。
地域や国ごとにURLが分かれている
多言語や多地域のサイト内のページにおいて、使用する言語が同じで、ページの内容は変わらないが異なるURLが存在する場合は、正規化しましょう。
--------------------------------------------------
https://example.de/(サブドメインが使われたページ)
https://example.com/de/(異なる階層のページ)
--------------------------------------------------
なお、言語が異なる場合や、ページの内容が異なる場合は、コンテンツの重複と見なされず、正規化は不要です。
多言語や多地域のサイトを運用する方は、Google Developersのページ「多地域、多言語のサイト | Google 検索セントラル | ドキュメント | Google Developers」を参考にしながら正規化を進めてみてください。
自己参照のURLについて
これまでのcanonicalタグの使い方は、正規化したいURL「A」と同じ内容のURL「B」があったときに「B」に挿入するというものでしたが、正規化したいURL「A」にcanonicalタグを挿入する手法もあります。
これを「自己参照のcanonical」と呼ぶことがあります。
たとえば、WordPressなどのCMSでコンテンツを作成したとき、そのページ自体のURLを指定するcanonicalタグが自動でそのページのHTMLに挿入されることがあります。
自分自身のページを正規URLとしてあらかじめ指定しておくことで、たとえば以下のようにメルマガ配信用にパラメータ(「?」以降の文字列)がついたURLが生成された場合にも、それらのURLへの評価を正規URLに集められます。
--------------------------------------------------
http://www.example.com/de(正規URL)
http://www.example.com/de?utm_source=magagine(メルマガ配信用のURL)
--------------------------------------------------
canonicalタグを使用する際の注意点
ここまでご紹介してきたように、canonicalタグを設定することはSEO上重要な施策ですが、設定の際には以下の点に注意しましょう。
複数ページにまたがるコンテンツの1ページ目を正規URLにしてしまう
特にコンテンツ量の多いページを作成する際、複数ページに分けて公開することがあるでしょう。
その際、1ページ目のURLをcanonicalタグで指定して正規URLにしてしまうケースがありますが、1ページ目と2ページ目以降では内容が異なるため間違った施策となります。
この状態だと、2ページ目以降がクローラーに見つけてもらえず、検索結果にまったく表示されなくなります。
相対URLを記述してしまう
canonicalタグでは、絶対URLを記述する必要があります。たとえば、「https://example.com/news/koala-rampage」を正規URLとしたい場合は、タグの記述は以下のようになります。
<link rel=canonical href=“https://example.com/news/koala-rampage” />
一方、以下のような記述だと頭の「https://」が抜けているために相対URLとなります。
<link rel=canonical href=“example.com/news/koala-rampage” />
このように記述してしまうと、クローラーは正規URLを「https://example.com/example.com/news/koala-rampage」と認識してしまい、このページは存在しないとしてcanonicalタグの指定が無視されます。
なお、同じ相対URLでも以下の記述の場合はきちんと「https://example.com/news/koala-rampage」と認識されますが、ミスを防ぐためにも絶対URLを記述するのがおすすめです。
<link rel=canonical href=“news/koala-rampage” />
その他の注意点については、Google のページ「rel=canonical 属性に関する 5 つのよくある間違い」も参考にしてください。
URLの正規化で漏れのないSEOを
ウェブサイトに正規URLを設定すれば、サイトの訪問者と検索エンジンがコンテンツの正確な場所を把握できるようになります。
URLの正規化を活用して、コンテンツの構造を正しく示しながら、SEOにおける集客を最大化しましょう。

