rel = "canonical" を正しく理解して設定する
rel="canonical"
は link 要素に指定される属性と、その値です。
href 属性とその値の URL と合わせて、head 要素内で指定します。
rel="canonical" は、href 属性に指定された URL を優先するように検索エンジンに指示を出します。
canonical リンクタイプは、Google, Yahoo!, Bing(Microsfot) の検索エンジンが採用しています。 いずれの検索エンジンの場合にも、canonical の設定は強く影響が出ます。 Google によれば canonical の設定は、 参考情報ではあるものの、重要な参考情報としています。
具体的な canonical の指定
例えば次の 2 つの URL、URL_A と URL_B があるとき、URL_B を捜索しに来た検索エンジンは、URL_A のページを優先するようにします。
- URL_A : 特に何も指定されない
- URL_B : rel="canonical" href="URL_A"
このとき、URL_B に指定される rel="canonical"
は次のようになります。
<link rel="canonical" href="URL_A">
canonical の具体的な例
canonical の目的
canonical の基本的な目的や利点は 2 つと考えて良いと思います。
- 類似する内容を示したページが複数存在するとき、どれか 1 つのページのみを優先することでユーザの利便性を高める。
- 自動生成される複雑な URL を正規化(1つに統一)する。端的には、検索エンジンが認識するべき URL を明確化する。
内容が重複するページを大量に設置して情報量を水増しし、アクセス数や広告表示数を稼ごうとするスパムが存在します。 それらはユーザの利便性を低下させるため、検索エンジンは内容の重複するページを良しとせず、検索結果から排除しようとします。 いわゆるペナルティです。例えば、検索結果に同じような内容を示したページが連続して表示されることが良くないことは明らかです。
検索エンジンが内容の重複するページを排除する一方で、一般的な Web サイトの運営であっても、 ページの内容が重複してしまうケースは多々あります。したがって canonical のような仕組みが必要とされます。
canonical の指定が効果的なケース
canonical の指定が効果的なケースはいくつか考えられます。
色違いの商品ページなど似たページがいくつか存在する場合
あるシャツを販売するページあるとして、その URL を URL_SHIRT
とします。
また、そのシャツは赤、白、青の 3 色が用意されているとします。
ユーザがそれぞれの色を選択したとき、それらの URL は、URL_SHIRT?color=RED
または URL_SHIRT?color=WHITE
のようにパラメータが与えられるか、
あるいは、あらかじめページが分割されていて、URL_SHIRT/BLUE
となるでしょう。
このとき、このサイトや検索エンジンが示すべきページは、その商品のトップページ(ここではシャツ)です。 したがって、赤、白、青のそれぞれのパターンのために出力されるページは、 商品トップページに対する canonical が設定されるべきです。
自動生成ページや CMS が複数の URL を生成する場合
よく似た内容のページが存在しないとき、そのページ自身が自身に対して canonical を設定することは意味がないように見えます。 しかしながら、次のような場合には、そのページ自身に対する canonical の設定は有効であるといえるでしょう。
<link rel="canonical" href="OWN_URL" />
"OWN_URL" ページ内で設定される、自身を示す canonical の例
ページを自動で生成するシステムや CMS は同じページを示す複数の URL を生成する可能性があります。 例えば、検索パラメータなどを指定する場合など、特定のページを示すための手順が複数存在する場合です。 具体的には WordPress などは複数の URL を生成する可能性があります。
管理者自身が複数の URL を扱っているつもりがなくても、システムが複数の URL を生成することは良くありますし、 場合によってはページの外見には見えない形で出力していることもあるでしょう。
また、利用者が何らかのパラメータを指定した特殊な URL を取得するとき、、 その URL が、他の異なるサイトのページにリンクとして掲載されることもあるでしょう。
より具体的な例 : 異なるカテゴリの同じコンテンツ
あるページがカテゴリによって管理されるサイトは注意が必要です。 複数のカテゴリにまたがって表示されるページは、カテゴリ毎に異なる URL パラメータが与えられる可能性があります。
例えば、カテゴリ A とカテゴリ B に属する URL が存在するとき、
カテゴリA / ページURL
と カテゴリB / ページURL
が存在する可能性があります。
カテゴリ A やカテゴリ B がパラメータによって制御されているのか、ファイルパスのように制御されているのかは、システムに依存します。
いずれにせよ、同じコンテンツを持ったページが複数の URL でアクセスできることは、基本的には歓迎されるものではありません。