SEOに関する実験やデータ分析などを公開します

SEOの疑問を実験で解明しブログ配信【SEOラボ】

canonicalタグとは?意味や書き方・設定方法など徹底解説!

canonicalタグとは、コンテンツが類似または重複してるページURLを正規化するためのHTMLタグのことです。
canonicalの読み方は、カノニカルと呼びます。

このcanonicalタグを適切に使えば、無駄なクロールのリソースを減らして、重要なページのクロール・インデックスを促進することができます。
また、リンク評価の向上やオリジナルコンテンツの割合増加によるサイト品質の向上が見込めます。
つまり、SEO効果が期待できるというわけです。

一方、canonicalタグの設定を間違えれば、良い効果が見込めないので注意しましょう。

この点踏まえて、今回は、canonicalタグの意味や書き方・設定方法など中心に、初心者にもわかりやすくポイントをまとめて解説したいと思います。

canonicalタグとは?意味や書き方・設定方法など徹底解説!

canonicalタグとは?

canonicalタグとは、コンテンツが類似または重複してるページURLを正規化するためのHTMLタグのことです。
canonicalの読み方は、「カノニカル」と呼びます。

例えば、1ページに対して、www有り無しの複数のURLでアクセスできるとします。

  • https://seolaboratory.jp
  • https://www.seolaboratory.jp

この場合「https://seolaboratory.jp」と「https://www.seolaboratory.jp」は、異なるURLですが、同じコンテンツに行き着きます。
つまり、重複URL(重複コンテンツ)です。
なので、一方のページURLに正規化するために、canonicalタグが活用できるというわけです。

canonicalタグの必要性とSEO効果

1ページ(同じコンテンツ)に対して、複数のURLでアクセスできる場合があります。
この場合、canonicalタグを活用して、Googleに正規のページURLを伝える必要があります。
正規のページURLがGoogleに伝われば、ユニークなページが増えるので、ユーザーの利便性が高まるでしょう。
また、とくに大規模サイトであれば、クロールバジェットの最適化(無駄なクロールのリソースを減らして、重要なページのクロール・インデックスを促進すること)にもつながります。
結果的に、サイトの品質が上がって、Googleから評価されやすくなるでしょう。(SEO効果が期待できるでしょう。)

一方、canonicalタグを設定しないと、重複URL(重複コンテンツ)となります。
そうなれば、同じコンテンツに複数のページURLでユーザーがアクセスできる状態となるので、ユーザーの利便性が低下します。
さらに、無駄なクロールのリソースが増えて、重要なページがクロールされずインデックスされない可能性が高まります。
結果的に、サイトの品質低下につながって、Googleから評価されづらくなるでしょう。

また、長くサイト運営してると、CMSでの構築ミスやスパム攻撃を受けるなどで意図しないパラメータ付きのページURLが生成されてインデックスされてることがあります。
これよって、重複URLが自動的に増えて気付かないうちにサイトの品質が低下してることもあります。

こうした良くない状況を回避するために、作成した重要なページには、あらかじめcanonicalタグでページURLを正規化しておく必要があります。

ちなみに、canoncalタグを適切に設定することで、正規URLへリンクの評価を引き継ぐことができます。

類似ページや重複ページについてリンクのシグナルを統合するため。これにより、検索エンジンで、個々の URL について得られた情報(その URL へのリンクなど)を、選んだ 1 つの URL に統合できるようになります。つまり、他のサイトから http://example.com/dresses/cocktail?gclid=ABCD へのリンクが、https://www.example.com/dresses/green/greendress.html へのリンクに統合されます。
※引用元:重複した URL を統合する | Google 検索セントラル | Google Developers「正規 URL の指定が重要な理由」

なので、この点においてもSEO効果が期待できるでしょう。

canonicalタグの書き方・設定方法(WordPressの場合も解説)

canonicalタグは、HTMLファイルのheadタグ内にマークアップします。
マークアップするページは、基本的にインデックス対象とする全ページに記述します。
記述した後は、サーチコンソールなどの専用ツールでcanonicalタグが適切に動作してるか?確認しましょう。

HTMLのheadタグ内に専用のlink属性をマークアップする(記述位置・場所・ページ)

HTMLのheadタグ内に専用のlink属性をマークアップするには、rel属性とahref属性を活用します。
例えば、relの属性値に「canonical」、hrefの属性値に「https://seolaboratory.jp」を記述します。

この場合、「https://seolaboratory.jp」のページURLを正規URLとしてGoogleに伝える設定となります。
ちなみに、hrefの属性値で記述するページURLは、相対パスではなく絶対パスで記述しましょう。

また、WordPressで構築したサイトなら、専用のプラグインを活用してcanonicalタグが設定できます。
例えば、「All in One SEO Pack」のプラグインをインストールして、一般設定から「カノニカルURL」にチェックを入れ、更新します。

「All in One SEO Pack」でcanonicalタグを設定する

そうすれば、サイト内の各Webページにcanonicalタグが自動的に挿入されるので、簡単に設定できます。

このように、canonicalタグをマークアップするときは、基本的に、検索エンジンにインデックスさせるページ全て(全ページ)が対象です。

上位表示させるための基本的対策をご紹介しています。

関連記事

【SEOとは?】SEO対策の基本知識や上位表示方法など解説

検索順位に悩んでいませんか?狙ったキーワードで上位表示させるためには基本的な対策に加え、検索意図に合致したコンテンツが必要となります。これらは…

続きを見る

専用ツールで動作を確認する

専用ツールで動作を確認するには、サーチコンソールを活用します。
例えば、サーチコンソールにログイン後、URL検査をクリックし、canonicalタグを設定して公開したページURLを入力します。
情報取得の画面が遷移後、「公開URLをテスト」をクリックしましょう。

サーチコンソールのURL検査ツールからcanonicalタグを設定したページURLをテストする

すると、「登録の可否 URL はインデックスに登録できます」が表示されるのでクリックします。
そこに表示される「ユーザーが指定した正規URL」がcanonicalタグのahref属性値に記述したページURLと一致してれば、ちゃんと設定されてることになります。
もう少し言えば、この設定した正規URLをもとに、最終的にGoogleが正規URLを選択する形となります。

サーチコンソールのURL検査ツール「登録の可否 URL はインデックスに登録できます」からcanonicalタグの動作を確認する

ちなみに、canonicalタグを設定してもすぐにクローラーがページ情報を読み取って正規URLを認識するわけではありません。
なので、canonicalタグ設定後、「カバレッジ 送信して登録されました」から確認して「ユーザーが指定した正規URL」を確認してみましょう。
もし、「ユーザーが指定した正規URL」が更新されてなければ、設定した正規URLの認識が遅延する可能性があります。
この場合、「インデックス登録をリクエスト」しておくと良いでしょう。

サーチコンソールのURL検査ツール「カバレッジ 送信して登録されました」からcanonicalタグの動作を確認する

このサーチコンソール以外にも「Lighthouse」といったGoogle Chromeの拡張機能を活用して、設定したcanonicalタグの状態を確認できます。

canonicalタグを設定する際の注意点

canonicalタグを設定するときに、hrefの属性値に記述するページURLの記述ミスに気を付けましょう。
また、headタグ内以外に設定したり、リンク先ページにnoindexページを指定しないようにしましょう。
さらに、canonicalタグを設定したら、XMLサイトマップの正規URLを精査する必要があります。
レスポンシブ未対応でモバイルURLが別途あれば、alternateタグの追記も必要です。

URLの記述ミスをしない

URLの記述ミスをすれば、正規URLがGoogleに伝わりません。
例えば、正規URLが「https://seolaboratory.jp」なのに、文字列のlをrに間違えて「https://seoraboratory.jp」と記述してcanonicalタグを設定したとします。

URLの文字列を書き間違えたcanonicalタグ例:

この場合、href属性の属性値「https://seoraboratory.jp」のページURLにアクセスしても、ページのコンテンツが見当たりません。
そして、「https://seoraboratory.jp」のページURLに対してクローラー(Googlebot)が巡回できないので、正規URLのページ情報が取得できません。
そうなれば、URLの正規化ができません。
結果的に、サイトの品質が上がりづらいので、Googleに評価されづらくなるというわけです。

こうした状況を回避するために、URLの記述ミスをしないように、canonicalタグを設定しましょう。

headタグ内以外に設定しない

headタグ内以外に設定すれば、正規URLがGoogleに伝わりません。
例えば、bodyタグ内にcanonicalタグを記述したとします。

この場合、headタグ内以外にcanonicalタグが記述されてるので、そのcanonicalタグの内容が、クローラーに認識されない可能性が高まります。
そうなれば、最悪、正規URLがGoogleに認識されないので、URLの正規化ができません。
結果的に、サイトの品質が上がりずらいので、Googleに評価されずらくなるというわけです。

こうした状況を回避するために、headタグ内以外にマークアップしないように、canonicalタグを設定しましょう。

noindexページを指定しない

noindexしたページURLを指定すれば、正規URLがインデックスされません。
例えば、canonicalタグのhref属性値にnoindexメタタグを記述したページURL「https://seolaboratory.jp/example/」を指定します。

この場合、「https://seolaboratory.jp/example/」は正規URLです。
そして、この正規URLをクロールしてページ情報を読み取ったとき(noindexメタタグを見つけたとき)に、検索エンジンのインデックス対象外として認識します。
つまり、正規URLが検索エンジンにインデックスされないということです。
これは、canonicalタグのそもそもの目的として矛盾します。
canonicalタグの目的は、インデックス対象の正規URLをGoogleに伝えることです。

こうした本来の目的に反しないために、noindexページのURLを指定しないようにcanonicalタグを設定しましょう。

XMLサイトマップ内の非正規URLを除く

XMLサイトマップ内の非正規URLを残せば、クロールのリソースを浪費します。
例えば、XMLサイトマップに登録してるページURLの数が10000あります。
そのうちcanonicalタグを設定したページURL(非正規URL)の数が3000、正規URLの数が7000の割合でXMLサイトマップをGoogleに登録してるとします。
この場合、最終的にインデックスさせない非正規URLにも常にクローラーが巡回して、無駄なクロールが消費されます。
そうなれば、重要な正規URLのクローラビリティが低下して、ページ情報がしっかり読み取られない可能性が高まります。
結果的に、正規URLのページ情報が中途半端に認識されるので、Googleから評価されづらくなるというわけです。

こうした状況を回避するために、XMLサイトマップ内の非正規URLを除外することも考慮して、canonicalタグを活用しましょう。

レスポンシブ未対応でモバイルURLが別途ある場合、alternateタグを併記する

レスポンシブ未対応のサイトでは、PCページとモバイルページのURLがそれぞれ異なることがあります。

  • PCページのURL:https://seolaboratory.jp
  • モバイルページのURL:https://m.seolaboratory.jp

これらのURLからアクセスできるページのコンテンツ内容は、まったく同じです。
この場合、重複コンテンツなので、Googleから評価されづらくなります。

こうした良くない状況を回避するために、モバイルページのHTMLのheadタグ内にcanonicalタグを記述します。
そして、PCページのHTMLのheadタグ内には、canonicalタグとalternateタグを併記します。

モバイルページのHTMLのheadタグ内の記述例:

PCページのHTMLのheadタグ内の記述例:

こうした記述をすれば、正規URLとモバイルURL(スマホページ)の存在をGoogleに伝えることができます。
結果的に、重複URLを回避してサイトの品質が維持できるので、Googleに評価されやすくなるというわけです。

このように、レスポンシブ未対応でモバイルURLが別途ある場合、alternateタグを併記するように、canonicalタグを活用しましょう。

canonicalタグを使うべきタイミング

canonicalタグを使うべきタイミングは、www有無やindex.html有無の各URLにアクセスできるときです。
また、SSL化によるhttpとhttpsの各プロトコル付きのURLがあったり、動的なパラメータ付きのURLがあるときです。

  • https://www.seolaboratory.jp
  • https://seolaboratory.jp
  • https://seolaboratory.jp/index.html
  • http://seolaboratory.jp
  • https://seolaboratory.jp?example

これらのページURLにアクセスしたときのコンテンツ内容は、全く同じです。
つまり、重複コンテンツとなります。
これによって、ユーザーは幾度も同じコンテンツを見る可能性が高まります。
そうなれば、ユーザーの利便性低下につながるので、Googleから評価されづらくなるというわけです。

こうした場合に、canonicalタグを使うことを検討しましょう。

また、基本的には301リダイレクトや302リダイレクトでの対処を優先します。
ですが、301リダイレクトや302リダイレクトで正規化できない(正規URLを伝えて重複コンテンツを回避できない)こともあるでしょう。

  • htaccessファイルが使えない、コードがわからない
  • htaccessファイルでは、正規化できないURLがある

こうした場合に、canonicalタグを使うことを検討しましょう。
とくに、動的なパラメータ付きのURLは生成されやすいですが、htaccessファイルで正規化しづらいです。
なので、あらかじめcanonicalタグを設定した方が良いです。
ちなみに、当ブログ「SEOラボ」では、301リダイレクトとcanonicalタグを併用してます。

まとめ:canonicalタグを適切に使って、サイトの品質を上げよう

canonicalタグをうまく使えば、SEO効果が期待できます。
例えば、複数のURLで同じコンテンツにアクセスできる場合は、重複コンテンツとなります。
この場合に、適切にcanonicalタグを使えば、正規URL(重複するURLの中で最も重要なURL)をGoogleに伝えることができます。
そうすれば、重要なページだけがしっかりクロールされて、インデックスされます。
結果的に、サイトの品質が上がりやすくなるので、Googleに評価されやすくなるというわけです。

一方、canonicalタグを適切に設定しなければ、重複コンテンツを放置することになります。
そうなれば、URLが違うので、新しいコンテンツがあると思って、ユーザーがアクセスします。
結果的に、同じ内容のコンテンツを見せられたユーザーは不快に思うのでしょう。(ユーザーの利便性の低下を招く)

こうした良くない状況を回避するために、canonicalタグを適切に使って、サイトの品質をあげることが重要となります。

検索順位が上がらない…と思っていませんか?

検索順位が上がらない…と思っていませんか?

思い通りの検索ワードで上位表示させるには、基本となる外部・内部の対策はもちろん、昨今の大きな変動・競合の強さも大きく影響するため、どういったキーワードで対策するのか?という点も重要となります。

ここを正しく理解しておかなければ上位表示させることは難しく、サイトを効果的に運用し、資産化することができません。

そこで、こちらでは上位表示に必要なSEOが正しく施されているかどうかを無料で調査し、問題点や改善点などのアドバイスを致します。

\ 効果的な改善方法を明確にしませんか? / サイト調査を依頼する
SEO対策無料ご提案はこちら