canonicalとは?使用すべきケースとよくある間違った使い方を解説
更新日:
要約
- canonicalは検索エンジンに正規のURLを伝えるHTMLタグ。
- 重複しているページの<head>内に<link rel=”canonical” href=”正規のURL”>と記述する。
- PC用ページとスマホ用ページがある場合はcanonicalを利用して正規化する。
canonicalとは?
canonicalとは検索エンジンに対して、正規のURLを示すために使われるHTMLタグです。HTML属性の<link>タグを利用し、<head>内に<link rel=”canonical” href=”URL”>と記述します。
サイト内に内容が重複しているページが複数ある場合、canonicalを使うことで検索エンジンに対してどのURLがサイトを代表するページなのかを示すことができ、被リンク評価の分散を防ぐことができます。
canonicalを設定しない場合は、検索エンジンによって自動的に正規のURLが判断されます。
canonicalの書き方と設置場所
canonicalはHTMLタグの<link>を利用して、<head>内に正規として登録したいページURLを該当のページに記載します。<body>内に記述すると検索エンジンはcanonicalを無視しますので、記述を間違えないようにしましょう。
記述例
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="正規として登録したいURLをhttps://から記載">
</head>
<body>
</body>
</html>
上記タグをHTMLのヘッダーに設定することにより、Googleなどの検索エンジンに正規のページを伝えることができます。
canonicalの機能
canonicalの機能はURLの正規化を行うことです。このURL正規化により、サイト内にある重複コンテンツの影響を解消することができます。canonicalの機能をより詳しく解説していきます。
重複コンテンツが与える影響を解消できる
サイト内に他のページと内容が似ている、もしくは完全一致しているコンテンツが存在すると、検索エンジンから重複コンテンツと見なされます。重複コンテンツとは、テキスト、画像、ページレイアウトなどがほぼ同じで、ユーザーが区別するのが難しいページのことです。このようなコンテンツの重複は、被リンクの評価の分散、クローラビリティの低下、ページがインデックスされないという原因になる場合があり、早急な改善が求められます。
対処方法として挙げられるのはcanonicalタグを重複しているページに設置することです。Googleに「このリンクが正規のURLです」と伝えることで、重複コンテンツの悪影響を解消することが期待できます。ただしcanonicalは指示ではなく、あくまでもGoogleに正しいURLのヒントを伝えるだけであることに注意してください。
URLの正規化でGoogleからの評価をまとめる
canonicalでURLの正規化を行うことにより、Googleからの評価を1つのページにまとめることができます。
同一のコンテンツが複数のURLによって提供されている状況では、Googleにとって、どのURLを正式なものとして扱うべきか判断することが難しくなります。この問題を解決するために、サイト運営者はcanonicalを使用して、複数あるURLの中で主要とするべき1つのURLを評価してもらえるように、Googleにヒントを伝えることができます。
この正規化を行うことで被リンクの評価を集中させ、適切なページを正しくインデックスさせることができます。これにより、検索結果の整合性が保たれ、意図したコンテンツが提供されるようになります。
URLの正規化が必要なケースとは、複数のURLが同一のコンテンツを指す状況です。例えば以下のようなケースが挙げられます。
- ECサイトで同じ内容のページがパラメータ付きURLで自動的に生成されている
- 運用しているPC向けサイトとスマホ向けサイトそれぞれに、異なるURLがついている
- サイトのURLに”www”や末尾に”/index.html”が付いているor付いていない
- https://www.example.com
- https://example.com/index.html
URLを正規化する方法にはcanonicalのほか、301リダイレクトで半永久的に転送する方法もあります。サイトを移転する時など、場合によってはリダイレクトを活用しましょう。
*別記事のリダイレクト転送処理の種類と使い方を理解するでも詳しく紹介しています。
重複コンテンツをチェックする方法
サイト内の重複コンテンツを調べる方法の代表的なものは以下の3つがあります。
- Googleサーチコンソール
- Google検索のコマンド
- コピペチェッカー
順番にそれぞれ解説していきます。
Googleサーチコンソールでのチェック方法
Googleサーチコンソールでインデックス作成の「ページ」からの確認することができます。
①メインメニュー→②インデックス作成から「ページ」→③「ページのインデックス登録」の「ページがインデックス登録されなかった理由」の一覧に、ページがインデックス登録されなかった理由が一覧表示されています。
重複コンテンツが原因の場合は、サーチコンソールに以下のメッセージが表示されます。
- 重複しています。ユーザーにより、正規ページとして選択されていません
- 重複しています。Googleにより、ユーザーがマークしたページとは異なるページが正規ページとして選択されました
- 重複しています。送信されたURLが正規URLとして選択されていません
1.重複しています。ユーザーにより、正規ページとして選択されていません
このメッセージは、他のページと内容が重複している状況を示し、ユーザーがcanonicalでURLを選択していないことを意味します。この場合、Googleは独自の判断でどのURLを正規とみなすかを決定します。
もしGoogleが選択したURLが、ユーザーが指定する代表的なURLと同じだった場合は、canonicalをページに設置してURLを正規化しましょう。もしGoogleによる選択が望むURLと異なる場合は、正しいURLに向けたcanonicalタグを設置しましょう。
Googleによって選択されたURLは、サーチコンソールの「URL検査」を使用して確認することができます。
2.重複しています。Googleにより、ユーザーがマークしたページとは異なるページが正規ページとして選択されました
canonicalを用いてURLを正規化しているにも関わらず、Googleが別のURLを正規として認識している状態です。Googleはユーザーにとって有益な情報を提供するため、サイト運営者が選択した正規URLとのズレが生じる可能性があります。この場合は301リダイレクトを使用して、強制的にクローラーや訪問者を正規のURLに転送させるか、サイト内の内部リンク構造を見直すことをお勧めします。
3.重複しています。送信されたURLが正規URLとして選択されていません
指定された正規のURLが、Googleから見てわからない状態にあるという意味です。正規URLとして認識されていないという状態です。canonical先に問題がないか、または正しくURLが設定されているかをもう一度確認することをお勧めします。
Google検索のコマンドで調べる方法
Google検索をする際、URLの末尾に「&filter=0」というパラメータを追加することで、Google検索のフィルターを解除することができます。
本来、特定のキーワードに対して1つのドメインから2つや3つのページが表示されます。Googleの検索フィルターが重複と判断したコンテンツを自動的にフィルタリングし、ユーザーにとって最も関連性の高いページのみを表示するため、一部のページが除外されます。しかしこのパラメータを利用すると、Googleの検索フィルターによって除外されたページを確認することができます。
通常のGoogle検索で表示されないにも関わらず、&filter=0で表示されたページがある場合はGoogleから重複コンテンツとして認識されている可能性があります。
無料のコピペチェッカーで調査する方法
「CopyContentDetector」などの無料のコピペチェックツールを利用して、文章のコピペの度合いを測ることもできます。
コピーチェックしたい文章を入力するだけで、その文章のコピペを調査してくれます。手間はかかりますが、ご自身で重複コンテンツであるか調査できる方法です。
canonicalを利用した方がよいケース
canonicalを使用した方が良いケースは、例えば以下のようなものが挙げられます。
- 301リダイレクトや.htaccessの設定ができない場合
- PC向けサイトとモバイル向けサイトで別のURLが使用されている場合
- サイト名に「www」やURLに「index.html」が付く、付かないが混在している場合
- ECサイトで同じ商品ではあるが、色によってURLが異なる場合
.htaccessを使って301リダイレクトの設定ができない場合
無料のブログサービスなどは、Webサーバの細かな設定機能が開放されておらず、.htaccessを使って301リダイレクトの設定ができない場合があります。
301リダイレクトは、主にサイトのURLが変更された際に使用されます。
サイトやページの転送を簡単に実現できるほか、重複コンテンツの問題を解消し、SEOにおけるGoogleからのページ評価の分散を防ぐ効果もあります。具体的には、.htaccessファイルを編集することでWebサーバーに301リダイレクトを施し、訪問者を正規のURLへ瞬時に転送することが可能です。このプロセスを通じて、検索エンジンに対しても正規のページを明確に示すことができます。
しかし無料のブログやサービスでは制約されていることが多く、上記のような設定ができない場合があります。このような状況ではcanonicalを利用して、正規URLを検索エンジンに伝えます。
PC向けのページとスマホ向けページで別のURLを使っている場合
レスポンシブデザインを採用しておらず、PC向けのページとスマホ向けのページを分けて別々のURLを利用している場合は、URLは異なるにもかかわらずページ内容が同じなので、重複コンテンツとみなされる恐れがあります。
この場合、スマホ向けページの<head>タグ内にcanonicalタグを用い、PC向けページのURLを正規のURLとして指定しましょう。またPC向けページ内にはalternateという「PC向けページ以外に、スマホ用のページがある」ことを検索エンジンに伝達することができるタグを設置します。
記述例は以下の通りです。
記述の例
スマホぺージには<head>内に、PC向けページのURLを記載したcanonicalを設置します。
<link rel="canonical" href="PC向けページのURLを記述">
PCページには、スマホ用ページの存在を知らせるalternateを<head>内に設置します。
<rel="alternate” media=" only screen and (max-width: 640px)” href="スマホ用ページのURLを記述">
URLにwwwやindex.htmlが付く、付かないが混在している場合
運用しているドメイン名の前にwwwやURLの末尾にindex.htmlの有無が発生する場合があります。
SEOの視点から言及すると、wwwが付く、付かないが混在しているドメインで同じサイトが表示される場合はどちらか一方に統一すべきでしょう。Googleは2つのサイトを別々のサイトとして認識してしまい、評価が分散してしまうことになりかねません。301リダイレクトでURLを正規化させるか、canonicalを利用しましょう。
index.htmlに関しては、Googleが自動でディレクトリインデックス(DirectoryIndex)を認識することが多いため、過度に心配する必要がありませんが、リダイレクトやcanonicalでURL正規化のシグナルを設定しておくことで、明確に重複コンテンツではないことをGoogleに伝えることができます。
ECサイトで同じ商品ではあるが、色によってURLが異なる場合
ECサイトでは同一商品のバリエーションによって重複するページが複数発生してしまうことがあります。
例として、ファッション系のECサイトでは、同一の洋服でも色やサイズの違いにより異なるURLが生成されることもあるでしょう。内容がほぼ同一であるにも関わらず複数のURLが存在することになるため、重複コンテンツになります。
このような場合は、メインとなる商品紹介ページに向けて、各々の重複ページからcanonicalタグを設置するとよいでしょう。
よくある間違ったcanonicalの使い方
canonicalはURLの正規化を検索エンジンに伝えるということで便利な性質を持っていますが、適切なページに記述しないと本来の効果を発揮することはできません。間違ったcanonicalを記述することは、サイトに悪影響を及ぼす可能性があります。
ここからはよくある間違ったcanonicalの使い方を紹介していきます。
301リダイレクトやnoindexを使用すべきページにcanonicalを設定する。
301リダイレクトを利用すべきページや、クロールされないようにnoindexを使うべきページにcanonicalを使ってはいけません。
301リダイレクトは、URLの統一をするときやサイトを移転する時などに使用します。noindexは、404エラーページやGoogleからインデックスされる必要がないページに記述します。
Googleからの評価を失いたくないといった理由で、低品質なページにもcanonicalを設置してしまうのは避けた方がよいでしょう。本来であればクロールの必要がない低品質なページがサイト内に存在すると、クローラビリティが低下してしまいます。
canonicalで指定したURLが相対パスとして書かれてしまっている
canonicalでURLを指定する時に、相対パスやルートパスではなく、絶対パスで記述することをおすすめします。ルートパスとはルートディレクトリと呼ばれる”/”で始まる階層構造から、該当のファイルまでのパス(アクセス経路)を記述することです。また相対パスとは、現在いるファイルの場所を示すものです。
例えば、
<link rel=canonical href="https://www.tsuyoshikashiwazaki.jp/blog/what-is-404-not-found">
上記は絶対パスとしてURLが記述されています。
<link rel=canonical href="../blog/what-is-404-not-found">
反対に、上記は相対パスとして記述されています。
<link rel=canonical href="/blog/what-is-404-not-found">
上記はルートパスとして記述されているURLです。
Google検索セントラルでは、canonicalに絶対パスと相対パスどちらも利用可能であると記載されていますがGoogleのアナリストは、相対パスは利用しないようにと言及しています。
相対パスやルートパスだとGoogle側にcanonicalが正確に伝わらない可能性があるので、絶対パスの利用を推奨します。
(参照元:rel=canonical 属性に関する 5 つのよくある間違い )
プラグインの影響などで複数のcanonicalが記述されている
WordPressなどのCMSでは、自動的にcanonicalを追加するブログテーマやプラグインがあります。
正しくプラグインの設定をしていない場合は、気づかないうちにcanonicalが複数記述されている可能性があります。同一ページに複数のcanonicalがあり、それぞれ異なるURLが指定されていた場合、どちらのURLを正規として扱ってよいかGoogleは判断できません。1つのページに1つのcanonicalを利用を推奨します。
bodyタグ内に記述されている
canonicalはHTMLの<head>内に記述します。<body>内にあると、Googleはそのcanonicalを無視します。必ず<head>内に記述しましょう。
ページネーションを利用したページで2ページ目にcanonicalで1ページ目のURLを指定してしまう
ページネーションとは、ページを複数のページに分割する方法のことを指します。
ページネーションを利用しているページで、内容が重複していると考え2ページ目や3ページ目に1ページ目のURLを指定するcanonicalの使用を検討するかもしれません。
しかしこれは、Googleが推奨しない使い方になります。2ページ目3ページ目にユーザーにとって有益な情報が記載されていれば、ページ数に関わらず検索結果に表示される可能性があるので、Googleはページそれぞれにそのページを示すcanonicalの利用(自己参照canonical)を推奨しています。
(参照:ページ分け、段階的ページ読み込み、それらの Google 検索に対する影響)
Googleの検索結果に2ページ目以降がインデックスされる必要がない場合は、canonicalを1ページ目のURLに設置して問題ありません。
canonicalが機能しているか確認する方法
canonicalが記述されているかどうかは、該当のWebページで右クリックし「ページのソースを表示」または「検証」のページから確認することができます。
その他、canonicalを使ってURLの正規化がGoogle側に認識されているかどうかは、Googleサーチコンソールから確認できます。
Googleサーチコンソールから、「URL検査」をクリックして、検査したいページのURLを入力。「ページのインデックス登録」から検査結果にある「Googleが選択した正規URL」を確認します。
もしこのページにcanonicalを指定したにも関わらず、異なるURLが表示されている場合は改めてURLの正規化する方法を見直しましょう。該当するページを残しておく必要性が低ければ、canonicalよりも301リダイレクトの利用を推奨します。
リダイレクトをしたくない場合は、canonicalで正規URLを選択する方法に加えて、sitemap.xmlには正規URLのみを残して送信することで正規化のシグナルを強めることができます。
(参照:rel=”canonical” などを利用して正規ページを指定する方法)
まとめ
canonicalは、ウェブページの重複問題に対処するHTMLタグです。同じ内容のページが異なるURLで存在している場合に、Googleにどのページが「代表的なページ」であるかを伝える手段です。
このURLの正規化により、検索結果の混乱を防ぎ、一つのページに対してGoogleからの評価を集中させることができます。サイト運営者はGoogleサーチコンソールなどのツールを使って、サイト内の重複コンテンツを確認しながら、適切なcanonicalを設定しましょう。
canonicalとはなんですか?
canonicalは、正規のページURLを検索エンジンに伝えるために使用されるHTMLタグです。主に重複コンテンツの問題を解消する際に使用され、URLの正規化を行うことができます。
URLの正規化とは何ですか?
ほとんど同じ内容のページがある場合、代表的なURLを1つ指定し、Googleからの評価を集中させるプロセスをURLの正規化と言います。URLを正規化した方がよいケースとして、主にドメインに”www”やサイトのURLに”index.html”が付く・付ない状態が混在している場合に用います。代表となるページのURLをcanonicalに記述して、適切に評価してもらえるように正規化を行いましょう。
どのようにcanonicalを設定できますか?
canonicalタグは、HTMLドキュメントの<head>セクション内に<link rel=”canonical” href=”URL”>と設定することで実装できます。
この記事の執筆者・監修者。当サイトの運営者で、目からウロコのSEO対策「真」常識の著者。主にSEOの考え方について、現場での経験から、どのようにGoogle検索エンジン対策を行えばよいかを具体的に解説できるよう努めています。再検索キーワード調査ツール、トピッククラスター構築ツール、共起語検索ツール、競合キーワード調査ツール、キーワード候補調査ツール、検索ボリューム調査ツール、見出し抽出ツール、サジェストキーワード取得ツール、MEO順位チェックツールの考案者であり開発者。更に詳しくはプロフィールをご覧ください。SEO対策のお仕事に関するご依頼・お申し込みは、こちらのフォームから承っております。