
単純明快SEO!URL正規化する理由は?方法も簡単です。
ドメイン・URLを正規化して複数アドレスが受けているリンク評価を一本化すれば、SEO対策効果が最大限に発揮されます。
htacessやcanonicalタグをつけて各URLごとに正規化をし、Googleが判断するリンク評価が分散されないようにしましょう。
ドメイン、URLの正規化がSEOの第一歩
SEOは、Googleに対して自身のWEBサイトのドメインや各ページのURLを打診して(サイトマップ送信など)、Googleにドメインやページを判断・評価してもらう事でその第一歩が始まります。
Googleからのもらった評価により順位が反映され、それを受けて運営側はさらなる対策を練ります。
その際適切なドメイン・URLをGoogleに知らせる事が必要になります。
正確なURLを打診するのは運営側の仕事
GoogleにWEBサイトの構成内容を打診するにあたり、「正確なURL」を申請する事が求められますね。
相手は人間ではなく機械(Googleクローラー)であるため、あやふやな申請ではなく明確な打診が必要になるのです。
ですのでurlの正規化をしてGoogleに打診するのは、ホームページ運営者側の重要な仕事になります。
この仕事を怠ると、結果SEOの正当な評価を最大限に受ける事ができなくなると覚えておきましょう。
WEBサイトのアドレスは複数存在する
アドレス表示にはいくつか種類がありながら、結果同じページ表示される事がWEBサイトにはままあります。
例えばあなたがWEBサイトを新しく立ち上げた当初、WEBサイトのURLは何もしていなければ「wwwあり・wwwなし」のどちらでもアクセスできてしまう状態ですよね。
同じページでURLが違う例:
【wwwあり】http://www.example.com/
【wwwなし】http://example.com/
上記はどちらでも同じサイトが映ります。同じコンテンツページですがURLが違う訳ですね。
この状態のままサイトを管理してしまうと、それぞれが別々に評価をされてしまい、本来の成果を発揮出せない場合があります。
URLを正規化する理由
ではなぜこのように複数アドレスがあるといけないのか、その理由にせまりましょう。
Googleの「検索エンジン最適化 スターターガイド」にも以下のように記載されています。
ある1つのコンテンツに対して、張られるリンクのURLがユーザーによって異なると、そのコンテンツに対する評価がURLごとに分かれてしまう恐れがあります。
これを防ぐためにサイト内でページをリンクするときには、常に特定のURLを使用するようにしましょう。
リンクが別れる=評価が分かれる
例えば上記同様に同じページが開くAとBのWEBページURLがあったとしましょう。
そのWEBサイトに対し外部の別サイトから、AのURLでリンクが5件、BのURLで同じく5件リンクが貼ってあったとします。
その際Googleは、そのWEBページURLに対して「10件のリンクが貼ってある」とは評価せず、「Aに5件」「Bに5件」と評価してしまうのです。
同じコンテンツのページであるのにも関わらずです。
リンクポピュラリティで損をしている
そのWEBページは元々一つしないのですから、5件よりも10件のリンクが貼ってあるページと評価してくれる方が、SEO評価が上がりますよね。
つまり5件の評価の時よりも順位は上がるはずなのです。これってリンクポピュラリティの面でもったいないですよね。
リンクポピュラリティとは
リンクポピュラリティとは、そのページに張られている被リンクをGoogleの検索エンジンが評価し、そのページの判断基準の「指標」にするものです。
普通にWEBサイトを作っていけば自然に複数アドレスが生まれます。つまり自然とリンクポピュラリティが分散されてしまうのです。
ですので、その複数誕生したアドレスの価値を一つにまとめてGoogleからの評価を1本化するため、正規化が必要なのです。
urlを正規化しなければならない例
以下は全て同じページが表示されますが、それぞれ別のURLとしてGoogleに判断される例です。別ページなので当然評価も分散しています。
www有りとwww無し
https://www.example.com/
https://example.com/
index.html(index.php)有りと無し
https://example.com/
https://example.com/index.html
https://example.com/index.php
パラメータ有り無し
https://example.com/
https://example.com/?gclid=ABCD
末尾の/有り無し
https://example.com
https://example.com/
SSL(http: or https:)有り無し
http://example.com/
https://example.com/
こういった複数のURLが別々にインデックスされたり、他サイトから別々に上記URLに対して被リンクが貼ってあったとしたら、そのSEO効果は分散してしまいます。
このように複数のURLからアクセスできる状態を統一する事を「urlの正規化」と呼び、アクセスできるURLの導線を1本に整備しておく事が大切なのですね。
ではドメインurlを正規化する方法についてご説明していきましょう。
方法としてはGoogleが推奨している以下2つの方法があります。
.htaccessファイルによる301リダイレクト
一つ目は正規化させたいURLへ301リダイレクト(強制転送)をさせるよう記述した.htaccessファイルを準備し、サーバーにアップロードする事です。
URLは本来「入り口はともかく到達点がどこなのか」で決まるものです。
.htaccessはどのURLに来ても瞬時に正式な方へ飛ばす事ができるので簡単に制御ができます。
使用するサーバーには.htaccessについてのマニュアルが用意されていますので、一応.htaccessファイルが使えるかどうかは確認しておきましょう。
あわせて読みたい関連記事
httpからhttpsへの正規化
httpで通信された時にhttpsへ飛ばす場合は以下です。
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
httpsで始まるアドレスに統一・正規化する事になりますね。
www付きURLへの正規化
www.なしで通信された時もwww.付きのアドレスへ飛ばす場合は以下です。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
www.付きのアドレスに統一・正規化する事になりますね。
indexファイル名を消す正規化
index.htmlやindex.php等ファイル名が付いたものをファイル名なしへ飛ばす場合は以下です。
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://www.example.com/$1 [R=301,L]
「/」で終了するアドレスに統一・正規化する事になりますね。
canonicalタグによるurl正規化
canonicalタグとは
Googleの推奨する正規化二つ目は、canonicalタグを記述する方法です。
下記の様にHTMLソースの<head>~</head>内に記述して使用し、評価を一本化できるタグです。
<link rel="canonical" href="指定されたurl">
パラメータ処理にcanonicalを使う
サーバー環境により.htaccessが利用できない場合や、URLの後ろに?aaaなどとパラメータが付くアドレスで、urlの正規化をする時に使用します。
パラメータが付与されるURLがある場合は、そのページのヘッダーに「パラメータのつかないURL」をcanonicalタグで記述しましょう。
タグを記述してアップロードすることで、.htaceessと同様にurlを正規化する事ができます。
重複コンテンツ判定を防ぐ
例えばボタンを押すとリストの並び替え機能が搭載されていて、並び替え前と並び替え後でそのURLが変わってしまうWEBページがあるとしましょう。
ページの内容はほぼ変わらないのに別URLになるため、場合によっては重複コンテンツと判断されてしまいます。
その場合は、URLの正規化を行うことで重複コンテンツのペナルティを受けないようにする効果があります。
canonicalタグの書き方
【通常】https://example.com/cases
【並べ替え時】https://example.com/cases?sort=view
上の2つは別URLですが、並び替えただけなので内容はほぼ同じページです。
しかしこの状態を放置しておくと、先ほど述べた重複コンテンツと判断されてしまう可能性があります。
パラメータ処理に301リダイレクトは使えない
htaccessでの転送先は1つに限定されます。
そうするとそれ以外の状態へは飛ぶ事ができなくなるので、並び替えをした複数の状態を表現できなくなります。
表現としては複数あってもリンクの価値としては1つに限定したいですよね。
このような時に.htaccessではなくcanoncialタグを使います。
headerタグ内に書く
並べ替えができるページのヘッダーに下の様に記述しましょう。
<head> … <link rel="canonical" href="https://example.com/cases"> … </head>
こうしておけば並べ替えしてcasesの後ろに何かパラメータが付いたとしても、指定されているURLは「/cases」であり、評価はこれに一本化しますという打診になります。
パラメータが付いたurlは本体の「分身」である
・指定されたURLの分身が現れただけで、本体は「指定されたURL」です
・リンクの評価は全て本体である「指定されたURL」へ集約します
つまり、canonicalタグをつけたページにどんなパラメータが付いても「指定されたURLが本物であり、他には存在しない」と、自他ともに公言した事になるのですね。
用途別に使い分けよう
まず基本的にURLの正規化を行う際には、上記の.htaccessによる301リダイレクトをまずは使用すべきです。
その上で例外として<link rel="canonical">タグを使います。
canonicalが使用されるケース
・.htaccessを用いたURLの正規化が難しい時
・ECサイト等で複数の同一コンテンツに別々のURLが付いてしまう時
・ページ内の項目を並べ替えた際に別URLが付いてしまう時
・HTMLソースを盗用される事によって重複コンテンツが生成されるのを防ぎたい時
重要!
それぞれのhref属性に固有のURLを記述すること。間違っても全てのページにTOPページのURLを指定しないように注意!
これをしてしまうとSEO的に違法な手法と判断され、ペナルティを受ける場合があります。
その他の正規化方法
Google Search Consoleの「URLパラメータ」を使う
Google Search ConsoleのURLパラメータ
・http://www.example.com/
・http://www.example.com/?gclid=ABCD
上記URLの場合、パラメータが入っていますので同じページでも別ページとして判断されてしまいます。
このパラメータの量が非常に多く、多岐にわたるサイトの場合、なかなか運営側がうまく管理できない場合もあります。
そんなパラメータの重複処理に使うのが、Google Search Consoleの「URLパラメータ」です。ある程度まではGoogleにその管理を任せる事になりますね。
※Google Search Consoleでは登録できなくなりました。
Google Search Consoleには前まで「wwwありのサイト」と「wwwなしのサイト」をそれぞれ選択するところがありました。
しかし今現在はこの設定をGoogleは廃止したようで、すでに利用できなくなっています。
移行後も旧バージョンでは利用できていました
新バージョンのロールアウト時には移行されていなかったものの、まだ機能としては残っていて有効でした。
しかし今現在は旧バージョンからも削除されています。
wwwありとwwwなしのどちらのドメイン名を検索結果で優先するために、運営者の方で.htaccessかcanonicalタグで正規化をしておいてくれという事でしょう。
あわせて読みたい関連記事
正規化されているかチェックする方法(301リダイレクトの場合)
.htaccessでドメインの正規化を行ったら、正しくリダイレクトされているかどうか必ずチェックしておきましょう。この確認をするには以下2つの方法があります。
ブラウザのアドレスバーにサイトURLを直接入力する
例えばwww有りからwww無しに正規化しているのであれば、ブラウザのアドレスバーに「https://www.lpeg.info/」と入力してアクセスしてみて下さい。
ブラウザのアドレスバーにサイトURLを直接入力
.htaccessで指定した「https://lpeg.info/」の方へ301リダイレクトされ、ドメインが正規化されてることが確認できます。
リダイレクトチェックツールを使う
上記の方法以外にも「リダイレクトチェックツール」などで、適切に301リダイレクトでURL正規化できてるか確認することも可能です。
ご覧のようにリダイレクト元となるURLを入力してチェックすることによって、リダイレクト状況が確認できます。
リダイレクトチェッカー
まとめ
urlの正規化は、SEO要素で最も重要な「被リンク」に深く関わります。それはurl正規化によって被リンク数を一本化し、より評価を高めるサイト構造にすることが上位表示に大切だからです。
繰り返しとなりますが、同一コンテンツに対して複数のアクセス可能なURLがインデックスされ、その被リンクが分散されたとしたら、そのページ評価そのもの(リンクポピュラリティ)に直接影響してしまいます。
SEO効果を高めるためにも、複数URLで同じページへアクセスできる場合は、被リンクが分散されない様にドメインを正しく正規化しましょう。