SEO対策にはさまざまな施策がありますが、その中でも重要な施策の一つがURLの正規化です。
そこでこの記事では、URLの正規化とは何か、なぜそれが必要なのか、具体的な例と正規化方法について詳しく説明します。
この記事の内容
URLの正規化とは
URLの正規化とは、複数のURLでアクセスできてしまう状態(例:ドメインの前にwwwがあるURLとないURLどちらでもアクセスできる 等)から、検索エンジンに評価してもらいたい1つのURLに統一する作業です。
なぜURLの正規化が必要なのか
URLの正規化が必要な理由は、以下の3つが挙げられます。
重複コンテンツの低評価を防ぐため
検索エンジンは、URLごとにページを評価するため、同じコンテンツが複数のURLで存在すると、重複コンテンツとして認識される可能性があります。
同じコンテンツなのに複数のURLで表示すると、検索エンジンにミラーコンテンツとして勘違いされてしまったり、コンテンツに対する評価が分散し、検索順位が下がったりする可能性があります。
クローラビリティを向上させるため
検索エンジンのクローラーは、URLごとにページを巡回します。
そのため、同じコンテンツが複数のURLで存在すると、クローラーが同じコンテンツを繰り返し巡回することになり、クロールの効率が悪くなります。
被リンクの分散を防ぐため
外部サイトから被リンクを獲得する場合、リンク先のURLは、検索エンジンから評価してもらいたいURLである必要があります。
そのため、同一ページが複数のURLで存在すると、被リンクが分散され、検索エンジンからの評価が低下する可能性があります。
URLの正規化が必要な例
ではどのような場合にURLの正規化が必要なのか、いくつか具体例を紹介します。
wwwありなしどちらでもアクセス可能な場合
たとえば以下のように、wwwがあるURLとないURLどちらでもアクセスできる場合は、URLの正規化が必要です。
- https://example.com
- https://www.example.com
index.htmlありなしどちらでもアクセス可能な場合
たとえば以下のように、URLの最後にindex.htmlがあるURLとないURLどちらでもアクセスできる場合は、URLの正規化が必要です。
- https://example.com/
- https://example.com/index.html
httpとhttpsどちらでもアクセス可能な場合
たとえば以下のように、httpのURLとhttpsのURLどちらでもアクセスできる場合は、URLの正規化が必要です。
- http://example.com
- https://example.com
パラメータ付きURLでアクセス可能な場合
たとえばECサイトの場合、サイトの商品ページが以下のようなパラメータ付きURLでアクセスできるパターンがあります。
- http://www.example.com/product?id=123
- http://www.example.com/product?id=123&category=electronics
- http://www.example.com/product?id=123&category=electronics&color=red
このようなURLは同じ商品ページを指していますが、パラメータが異なるため、検索エンジンはこれらを別々のページとして扱う可能性があります。
この場合、重複コンテンツの問題が発生するので、URLの正規化が必要です。
正規化方法
上記で紹介したようなURLバリエーションが存在すると、同じページが複数の異なるURLでアクセス可能であり、Google等の検索エンジンはこれを重複コンテンツと見なす可能性があります。
検索エンジンからマイナスの評価を受けてしまわないように、URLの正規化を行いましょう。
URLの正規化方法は主に2通りあります。
301リダイレクトを使う
301リダイレクトとは、特定のURLにアクセスした際に、別のURLに自動的に転送する仕組みです。
重複コンテンツを1つに統合したいURLに、他の重複コンテンツのURLからの301リダイレクトを設定することで、URLの正規化ができます。
【手順】
- テキストファイルで[.htaccess]を作成
- FTPソフトでドメインのディレクトリ直下にアップロード
以下に、htaccessの実装サンプルを紹介します。
1. HTTP接続をHTTPS接続に正規化
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com/%{REQUEST_URI} [R=301,L]
2-1. www無しをwww有りに正規化
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
2-2. www有りをwww無しに正規化
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
3. index.htmlやindex.php有りを無しに正規化
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://www.example.com/$1 [R=301,L]
4. 上記の1,2(2-1),3を組み合わせる場合
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index\.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://www.example.com/$1 [R=301,L]
canonicalタグを使う
canonicalタグとは、検索エンジンに対して、ウェブページの正規ページを示すためのHTMLタグです。
重複コンテンツのURLにcanonicalタグを設定し、正規のURLを指定することで、URLの正規化をすることができます。
- http://example.com
- http://www.example.com
- https://example.com
- https://www.example.com
上記の4つのURLでアクセス可能で、https://www.example.com のURLに正規化したい場合、ページのヘッダーセクションに下記のcanonicalタグを追加します。
<link rel=”canonical” href=”https://www.example.com” />
関連記事「canonicalタグとは?正しい設定方法や注意点について解説」
まとめ
URLの正規化はGoogleから適切な評価を受けるために必要なだけでなく、クローリングの効率化にもつながるため、ウェブサイトのSEO対策においては必ず実施しておきたい施策です
SEOの内部施策における基礎とも言える部分なので、サイト全体のパフォーマンス向上のためにもしっかりと対処していきましょう。
自社でURLの正規化をすることが難しい場合は、SEO対策の専門家に依頼するのも一つの方法です。
Heart Fullでは、現在のサイトの状況を分析して、最適な対策をご提案させていただきます。
「サイトが評価されずに困っている」など、今抱えているお悩みのご相談だけでも構いませんので、お気軽にご連絡ください。
Heart Fullへのご相談・お問い合わせはこちらから(Googleフォームへ飛びます)
リスティング広告チェックリストを無料配布中!
リスティング広告チェックリストをPDF形式で無料でダウンロードいただけます。広告代理店が教えるリスティング広告の基礎を使ってあなたのビジネスの集客アップにご活用ください。