canonicalタグによるURL正規化とは?link rel=canonicalの使い方
SEO対策の基本施策に「インデックス最適化」があります。
インデックス最適化ではcanonical(カノニカル)タグを利用した「URL正規化」が欠かせません。
いくら優良なコンテンツでも、このURLの正規化処理をせずに似通った内容のコンテンツが複数のURLでできてしまうと、検索エンジンの評価は分散してしまい正しい評価が得られません。重複コンテンツとみなされてマイナスの評価を受けてしまう可能性もあります。
検索エンジンにウェブページを正しくインデックスさせなければ、せっかく時間をかけて作り上げたコンテンツもSEO評価が受けられず、検索順位が上がらないといった残念な結果となってしまいます。
canonicalは検索エンジンがもっとも嫌う重複コンテンツを解消するために欠かせません。
ここでは、canonicalタグを活用したURL正規化のしくみと記述方法、正規化処理の注意点を解説します。
canonical(カノニカル)タグとは?
canonicalタグとは、同じサイト内に、重複したコンテンツや類似するページが存在する場合、どのページを評価してほしいかを検索エンジンに伝えるためのタグです。
canonicalタグは、Google検索だけでなく、Bingなどの大手検索エンジンも採用しています。
正式には、linkタグの属性値<link rel=”canonical”>で、HTMLのヘッダ内(<head>〜</head>)に記述すします。
canonicalの記述例
<head> <link rel="canonical" href="正規ページURL(https://〜)"> </head>
※JavaScrptによるcanonicalの記述挿入もGoogleは認識します。
この記述により、canonical指定をしたURLを正規ページとしてインデックスするように検索エンジンに伝えることができます。
このcanonicalタグで評価ページを正規化することを「URLの正規化」と言います。
なぜURL正規化が必要なのか?
canonicalタグによるURL正規化は必ず行う必要があります。その理由を解説します。
重複コンテンツ・類似ページの悪影響を解消する
全く同じコンテンツ内容で、URLが異なるケースは非常に多くあります。
例えば、
- PCページとスマホページで異なるURLで表示する場合
- 同じ商品だけでカラーが異なるバリエーションページ
- AMPページを利用している場合
などがあります。
検索エンジンはURL単位でページを認識しています。
全く同じコンテンツであっても、URLが異なれば同じページの重複版(重複コンテンツ)として扱われます。
重複コンテンツであると認識された場合はクロール頻度が下がり、正しく評価されなくなってしまいます。
検索エンジンは、canonicalの指定がなくてもどのページが正規URLかを判断しようとしますが、正しく判断されるとは限りません。
そのため、検索エンジンにインデックスすべき正規ページを伝えておく必要があるのです。
URLの記述形式による重複ページの悪影響を解消する
例えば、Gyro-n SEOページのURLはこちらですが、
https://www.gyro-n.com/seo/
下記のような異なるURLでも同じページを表示できるようになっています。
http://www.gyro-n.com/seo/ (httpのスキーム)
https://gyro-n.com/seo/ (wwwなし)
https://www.gyro-n.com/seo/index.html (index.htmlあり)
https://www.gyro-n.com/seo/?ref=ad (識別用パラメータあり)
検索エンジンに別ページとみなされるURLの例
- httpとhtppsのスキームの違い
- wwwのあり・なし
- index.htmlのあり・なし
- URL末尾のスラッシュのあり・なし
- 動的パラメータのあり・なし
サイト運営者からすれば、https/httpか、wwwのあり/なし、index.htmlを省略するかしないか、パラメータの有無などは単なる記述の違いであって一つのウェブページを指すものです。
ですが、検索エンジンは全てのパターンのURLを別のページとして認識し、記述違いの全てのページをインデックスしようとし、どのURLを評価すべきかわからなくなってしまいます。
場合によっては、重複コンテンツやミラーコンテンツと認識され、マイナスの評価になってしまう危険性があります。
外部リンク構築に悪影響がでる
SEOでは、他のサイト(関連テーマのサイト)から被リンク(外部リンク)されることでSEO評価を獲得します。
しかし、同じページに対しても、それぞれ異なったURLに被リンクされた場合、リンク評価がそれぞれに分散してしまい、せっかく被リンクを獲得したコンテンツの評価が統一されないため、SEO評価に大きな影響がでます。
このため、同一のコンテンツが複数のURLで閲覧できる状態になっている場合、検索エンジンがインデックスするべきURLを統一(正規化)させておく必要があります。
canonicalタグの使い方と注意ポイント
<link rel=”canonical>タグは間違った利用をすると検索順位に多大が影響がでます。
以下の6つのポイントに注意してください。
URLの記述を間違えない。誤った指定の場合、検索結果に出なくなる
誤ったURLをcanonicalに記述してしまうと、その誤ったURLが正規ページとしてインデックスされ、検索結果に重大な影響がでてしまいます。
特にそのURLがエラーページや404ページであると一切のコンテンツがインデックスされなくなってしまうばかりか、サイト全体の評価にも悪影響が出ることもあり得ます。
記述を間違えていないか入念に確認しましょう。
WordPressでは、canonicalを管理できるプラグインがありますので活用しましょう。
- All in One SEO(AIO SEO)
- Yost SEO
- SEPPress
URLの記述は絶対パスを利用する
URLの記述は必ず、絶対パス(フルパス)を使用しましょう。
相対パスの記述もcanonicalのレギュレーション上は可能ですが、httpとhttpsとの区別ができないなどの問題もあり、正確な正規化には問題があるので絶対パスを使用するようにしましょう。
body要素に記述しない
<link rel=”canonical">はhead要素内に記述します。
body要素内に記述しても検索エンジンは処理しませんので注意してください。
canoncalタグは指定したURLが必ず正規化されるわけではない
canonicalは、そのページ自体を正規化する(自己参照)場合は基本的に問題なく機能しますが、他のページへcanonicalを指定するなど複雑な対応をした場合は、記述通りに処理されない場合もあります。
※canonicalは他のドメインへページへの参照も可能です。
検索エンジン側で正規URLを決定する場合もあるので、canonicalは万能ではないことを理解して活用するようにしましょう。
canonicalタグを同一ページに複数記述してはいけない
canonicalは1ページに一つしか利用できません。
間違って複数登録してしまった場合は、正規化の処理ができなくなるため、機能しなくなります。
ページネーションの場合、全てのページを1ページ目に正規化しない
ページネーション(一つのページを複数にページ分割して表示)の場合も、基本的には通常通りのcanonial設定をします。
ただし各ページが1つのまとまったコンテンツの一部であることを示すために、「rel=prev/next」のメタタグを利用します。
※「rel=prev/next」はGoogleはサポートを終了していますが、Bingなどの検索エンジンではサポートされています。
他の方法として、ページ全ての内容を一つにまとめたALLページを正規ページとして用意し、そのページへ正規化する方法も有効です。
htaccessを利用したURL正規化
<link rel=”canonical">で、検索エンジンに対してインデックスされるURLは統一されますが、
- index.htmlのあり・なし
- wwwのあり・なし
- URL末尾のスラッシュのあり・なし
などの、同一ページのURLのバリエーションは、
できれば「301リダイレクト」を利用して正規化しておくことを推奨します。
301リダイレクト(恒久的な転送)で、正規URLへリダイレクトさせることで、ブラウザのアドレスには統一したURLが表示されるため、他サイトから被リンクを張ってもらえる際にも正規URLが使われることになり、より間違いのないURL統一が図れます。
こうすることで、ブラウザのアドレスには統一したURLが表示されるため、他サイトから被リンクを張ってもらえる際にも正規URLが使われることになり、より間違いのないURL統一が図れます。
www有り/なしに正規化する記述方法
「yoour-domain」には、適宜ご自身のドメイン名を記述してください。
「#」は.htaccess でのコメントアウトの記述です。
# wwwありに統一 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^your-domain\.com$ RewriteRule ^(.*)$ https://www.your-domain.com/$1 [R=301,L] # wwwなしに統一 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.your-domain\.com$ RewriteRule ^(.*)$ https://your-domain.com/$1 [R=301,L]
index.htmlなしに正規化する記述方法
「yoour-domain」には、適宜ご自身のドメイン名を記述してください。
「#」は.htaccess でのコメントアウトの記述です。
# index.htmlなしに統一 RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://www.your-domain.com/$1 [R=301,L]
モバイル(スマホ)サイトのURL正規化
GoogleはWebサイトがモバイルフレンドリーかどうかを評価指標に入れると発表しており、スマートフォンサイトは、レスポンシブデザインを推奨しています。
レスポンシブデザインは、同じURL・同じHTMLソースを使い、表示だけを画面の幅に合わせてを切り替えるため、Googleにとってはクロールのリソースを無駄に消費せずに済むというメリットも存在します。
とはいえ、PCサイトとモバイルサイトを異なるURLで運用しているサイトの場合は、alternate属性を利用し、それぞれに対応するPCサイトのページとモバイルサイトのページとの関係性をGoogleに伝える「アノテーション」の処理が必要です。
記述例
それぞれのURL
PCサイト: https://www.gyro-n.com/sample/xxxx.html
モバイルサイト:https://m.gyro-n.com/sample/xxxx.html
PCサイト側の記述
<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.gyro-n.com/sample/xxxx.html">
※max-widthの数値は、モバイルサイトを見せる対象となる画面の最大幅を指定します。
モバイルサイト側の記述
<link rel="canonical" href="https://www.gyro-n.com/sample/xxxx.html">
正しく正規化がされているか、canonicalタグをチェックする方法
正規化がきちんとされているか必ず確認してください。 正しく正規化がされていない、記述ミスがある場合は、SEO評価において大きく影響がでます。
Google Serach Consoleで正規化URLをチェックする
Google Search Consoleの「URL正規化」から、ページURLを検査すると詳細な「カバレッジ」情報が表示されます。
「インデックス作成」の箇所に、「ユーザーが指定した正規URL」(canonicalに記述されたURL)が表示され、「Googleが選択した正規URL」には検索対象のURLと表示されます。
Gyro-n SEOでcanonicalタグをチェックする
高機能SEOツール「Gyro-n SEO」では、ページ分析機能からcanonical属性、アノテーション処理を利用している場合はalternate属性のチェックが可能です。
canonicalタグの効果的な使い方
canonicalタグを使うべきシーンについて解説します。
ABテスト(スプリットテスト)を行う場合
ABテストでは、ほぼ同じページ内容で、見出しのキャッチフレーズや画像、その他一部だけを変更している場合がほとんどです。
検索エンジンはこうしたテスト用に作成したページも別ページとして構わずインデックスしてしまうため、オリジナルページのURLに正規化しておく必要があります。
※テストページをnoindexにする処理でも重複コンテンツ化は避けられます。
広告用LPを利用する場合
ウェブサイトはあるが、広告用に1枚ランデングページ(LP)を別途作成しマーケティングを行う場合があります。
広告用LPのコンテンツがウェブサイト本体とほぼ内容が同じだと、重複コンテンツとみなされる可能性があります。
この場合もcanonicalによる正規化をしておきましょう。
外部から被リンクを受けている場合など、noindexではなくcanonicalによる正規化をしておくことでSEO評価を受けることができます。
ECサイトなど、類似ページが存在する場合
ECサイトなどによくあるパターンですが、同じ商品の色違いやバリエーションごとにそれぞれ別ページを用意しているが写真など一部の細かいコンテンツが異なるだけで、ページの内容はどれもほとんど同じ、というケースがあります。
これも、そのまま全てのページをインデックスしてしまうと重複ページとみなされてしまうため、canonical属性を使って一つのページにURLを正規化しておく必要があります。
まとめ
SEOの内部対策は検索エンジンに対して
- Webサイトへクロールしてもらいやすくする
- きちんとインデックスさせる
- コンテンツを適切に評価してもらう
ことが重要です。
canonicalによるURL正規化は、Webページを正確にインデックスさせ、マイナス評価の要因となる重複コンテンツを発生させない重要な効果をもたらすSEO内部対策の基本となります。