目次
URLの正規化とは
Googleでは1URL1コンテンツが原則とされています。URLが1文字でも違えばそれは別ページと認識されます。例えそれが同じページであったとしてもです。
異なるURLに同一コンテンツが表示されるケースを解決するのが「URLの正規化」といいます。
今回は様々なケースのURL正規化方法を解説していきます。
異なるURLで同一コンテンツが表示されるケース
異なるURLケース | URLの例 |
---|---|
http – https | http://sample.jp/ https//sample.jp/ |
wwwのありなし | https://www.sample.jp/ https://sample.jp/ |
ファイル名の有無 | https://sample.jp/ https://sample.jp/index.html https://sample.jp/index.php |
URLパラメータの有無 | https://sample.jp/ https://sample.jp/?ref=twitter |
ページング | https://sample.jp/page1/ https://sample.jp/page2/ |
上記のように1つのページにアクセスしようとしているが、様々なURLでページが表示できてしまう場合、URLを1つに統一する必要があります。
URLが重複するデメリット
- SEO視点で、検索順位における評価が分散されてしまう。
- クローラビリティの低下
- トラッキング・分析に手間が発生してしまう。
SEO視点で、検索順位における評価が分散
1つのページであっても、URLが異なる場合、Googleは別々のページと認識します。URLが複数のURLで閲覧できてしまうと本来同じURLに集まるはずの被リンクも異なるURLに分散してしまう可能性があるのです。そのため被リンク評価も分散します。また、同じページでURLが複数存在してしまうと、Webサイト全体の評価が悪くなる可能性があります。
運営者自身は悪意のあるコンテンツを提供していないが、Googleからは重複コンテンツ扱いになり、悪意のあるコンテンツとしてペナルティを受けてしまう可能性もあります。
クローラビリティの低下
同一ページでもURLが異なる場合、Google bot(クローラ)が本来クロールしたであろうページも増えてしまいます。そのため不用意なページもクロールしてしまうため、クローラビリティが下がってしまいます。
トラッキング・分析に手間が発生
サイトを分析する際、重複ページが存在すると、URLデータの抽出量が増えます。そのため、運用の手間が増えてしまい、手間が発生します。
SEO対策においてURL正規化は必須
上述に置きましたデメリットを解消するために、検索エンジンに正しくURLを伝える必要があります。そのために「URL正規化」の対応が必須となってくるのです。
ペナルティについても少し触れましたが、実際に以下Googleガイドラインも紹介しておきます。URL正規化をしていないコンテンツは明示的に重複コンテンツ扱いに扱いになる可能性を載せています。
参考 重複するコンテンツSearch Console ヘルプ一般に、重複するコンテンツとは、ドメイン内または複数ドメインにまたがって存在する、他のコンテンツと完全に同じであるか非常によく似たコンテンツのブロックを指します。多くの場合、偽装を意図したものではありません。悪意のない重複するコンテンツの例には、以下のものがあります。
- 通常ページと携帯デバイス用の簡易ページの両方を生成するディスカッション フォーラム
- 複数の異なる URL で表示またはリンクされる商品ページ
- ウェブページの印刷用バージョン
URLが正規化されているか確認をしてみましょう。
- ケース.1wwwあり、なしのURLで実際ご自身のサイトにアクセスする「http://www.ご自身のURL」のようにwwwがついている状態とついていない状態でアクセスをしてみましょう。両方のページでURLが変わらずページが開いた場合、正規化はされていません。
www有り、無しどちらかに正規化ルールを決める事をおすすめします。
- ケース.2http - https - 「s」の有り無しでアクセスする基本的にサイトはhttpsでなければいけません。httpでのサイトでページにアクセスできてしまう場合URLが正規化されていませんし、セキュリティ面でもよろしくないので、httpへのURLへアクセスした場合、httpsへ301リダイレクトをおすすめします。リダイレクト方法は後述で解説しています。
- ケース.3末尾のスラッシュ末尾のスラッシュがついている状態、ついていない状態も確かめましょう。末尾のスラッシュ有無によってもURLが1文字でも変われば正規化されていません。末尾スラッシュをつけることをおすすめします。後述で対応法も解説してます。
- ケース.4ファイル名の有無チェックindex.html(もしくはindex.php)等のファイル名が有る状態と無し状態のURLパターンでアクセスをしてみましょう。ファイル名有りの状態でページが開いた場合、ファイル名無しの末尾スラッシュに付いた正規化をおすすめします。その理由と対応方法についても後述で解説しています。
正規化の決め方
URLを重複させないために正規化URLのルールを設定します。どのように設定したほうが良いのか、ご確認ください。
http、httpsの「s」について
httpsの「s」がついていると、SSL暗号化といって暗号化した通信方式をつかってWEBサイトを見に行く方式になります。
2018年Google Chromeのブラウザがアップデートし、基本的にhttps対応されていないサイトは、URLバーにエラーがでるようになったのです。そのため、2018年からは基本的にサイトはhttps対応(SSL対応)が必須となってきています。
悪い例 | 良い例 |
---|---|
http://sample.jp/ | https://sample.jp/ |
wwwの有無について
悪い例 | 良い例 |
---|---|
なし | https://www.sample.jp/ https://sample.jp/ |
ファイル名の有無について
悪い例 | 良い例 |
---|---|
https://sample.jp/category/article/index.html https://sample.jp/category/article/sample.html | https://sample.jp/category/article/ https://sample.jp/category/article/sample/ |
URL末尾のスラッシュ有無について
悪い例 | 良い例 |
---|---|
https://sample.jp/category/article | https://sample.jp/category/article/ |
パラメータの有無について
その場合、後述でも解説しますが、canonicalタグの設定が適切な対応方法となります。
悪い例 | 良い例 |
---|---|
https://sample.jp/category/article/?ad=123456 | https://sample.jp/category/article/ |
ケース別正規化の対応方法
基本的に、正規化の方法は2つ存在します。それは、301リダイレクトと、canonicalタグの設定です。ケースごとの対応表を作りました。
重複URLケース | 正規URL対応方法 |
---|---|
http、httpsの「s」 | httpsへ301リダイレクト |
ドメイン名のwww有無 | www有無、決定したURLへ301リダイレクト |
index.htmlのファイル名有無 | ファイル名無しのURLへ301リダイレクト |
URL末尾のスラッシュ有無 | スラッシュ有のURLへ301リダイレクト ※ただしTOPページは含まない |
URLパラメータの有無 | パラメータ無しのURLをcanonical設定 |
301リダイレクトと、canonicalの説明は後述で解説します。
301リダイレクトとは?設定方法の紹介
あるページにアクセスすると別のページに移転(ジャンプ)することをリダイレクトと呼びます。そして301とは、HTTPヘッダのステータスコードの事を指します。301とは恒久的な転送を意味しおり、Googleのクローラ向けの対策でサイトの移転やURL正規化をする際に301リダイレクト(恒久的な移転)を設定し、正しいURLをクローラに伝えるのが主な目的とされています。
当サイトでも、http://outswan.com/(sが付いていないURL)にアクセスすると自動的にhttps://outswan.com/へリダイレクト設定しています。その際、301リダイレクトの手段をとっています。
正規化する際も301リダイレクトの設定をするケースもあるので覚えておきましょう。
301リダイレクトの設定については、当サイトでは.htaccessファイルでのリダイレクトを想定とした設定方法をご紹介します。
RewriteEngine on
RewriteCond %{変数} 条件
RewriteRule 正規前ページURL 正規ページ後URL [R=301,L]
httpからhttpsへリダイレクトする設定
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
www有り無しのリダイレクト設定
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sample\.jp$
RewriteRule ^(.*)$ https://www.sample.jp/$1 [R=301,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.sample\.jp$
RewriteRule ^(.*)$ https://sample.jp/$1 [R=301,L]
indexファイル名有りから無しへのリダイレクト
RewriteCond %{REQUEST_URI}^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://sample.jp/$1 [R=301,L]
末尾スラッシュ有りへリダイレクト
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.[^/\.]+$
RewriteRule .* %{REQUEST_URI}/ [R=301,L]
canonicalとは?設定方法についてご紹介
canonicalは「正典」を意味する言葉で、パラメーターなどが付いたURLで自サイトのリンクが発行された際、パラメータ付きURLがGoogleにインデックスされる可能性があります。そういった場合Canonicalタグを使ってパラメータ無しの正式なURLをGoogleに伝えることを目的としたタグになります。その他にもスマートフォンページとPCページでURLが異なる場合にも使用したほうが良い場合もあります。Canonicalタグの正しい設定の仕方について解説します。
Canonicalタグの基本的な書き方
<head>
<link rel="canonical" href="https://outswan.com/">
</head>
スマホ/PCページでURLが異なる場合のcanonical設定
https://sample.jp/
スマホページ
https://sp.sample.jp/
PCページにはcanonicalとalternateタグを使用
alternateタグとは、英語で「代替え」という意味です。URLは異なりPCページと内容がほとんど変わらないページや多言語対応をしているページに対してcanonicalタグとalternateタグを使用しましょう。
<link rel="canonical" href="https://sample.jp/">
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://sp.sample.jp/">
スマホページにはPCページURLを設定したcanonical
スマホページには、デスクトップページが存在しているという事をGoogleに伝える為、PCページのURLを設定したcanonicalタグを記述しましょう。
<link rel="canonical" href="https://sample.jp/">
ページングの理想的なcanonical設定
コンテンツ数が多くなり、1ページで収まらない場合、ページングを使ってコンテンツを分割するサイトも数多く存在します。
その際に1ページ目、2ページ目、3ページ目といったページ毎のcanonical設定はどのように設定するべきか、解説します。
https://sample.jp/page/2/
https://sample.jp/page/3/
https://sample.jp/page/4/
上記のようなページングURLが存在した場合、悪い設定と良い設定を合わせて解説します。
<!-- 2ページ目 -->
<link rel="canonical" href="https://sample.jp/page/1/">
<!-- 3ページ目 -->
<link rel="canonical" href="https://sample.jp/page/1/">
<!-- 4ページ目 -->
<link rel="canonical" href="https://sample.jp/page/1/">
<!-- 2ページ目 -->
<link rel="canonical" href="https://sample.jp/page/2/">
<!-- 3ページ目 -->
<link rel="canonical" href="https://sample.jp/page/3/">
<!-- 4ページ目 -->
<link rel="canonical" href="https://sample.jp/page/4/">
上述のように、各ページ別々でURLを記載するように設定しましょう。
正規化後の内部リンクURLの統一
上述のように、301リダイレクト、canonicalの設定をしたからといって、内部リンクのURLが統一されていなければ、同じように評価が分散してしまう可能性があります。内部リンクの統一も抑えていきましょう。
内部リンクが統一されていないケース
前述にもお伝えした通り、内部リンクが統一されていなくても、301リダイレクト設定されていれば問題ないのでは?と思いがちですが、そもそも内部リンクが統一されていないがために、アクセス前に301リダイレクトする余計なhttpプロセスが走ってしまいます。そのため、読込スピードに影響を及ぼす可能性があるため、内部リンクも必ず統一していくことをおすすめします。
内部リンクの統一ルールのポイント
- indexファイル名の有無
- 末尾スラッシュの有無
- wwwの有無
- httpとhttpsの混在
まとめ
いかがだったでしょうか。様々なURLの正規化のパターンをご紹介させていただきました。
URLが1文字でも変わるだけで重複コンテンツになりかねないため、正しくcanonical設定と301リダイレクトの設定を行いましょう。
そうすることによって、マイナスSEO評価をプラスの方向にもっていくことができますので、今一度ご自身のサイトで試してみてもらえると嬉しいです。