URL正規化・canonical属性の仕組みと使い方(1)


弊社では対策を承った際、まず初めに「内部最適化ご提案書」を作成しています。

titleやdescription、hタグなどの主要タグの問題点抽出と改善提案をはじめ、サイト構成やhtml表記に関する事項、コンテンツに関する事項など、多角的な視点でサイトを拝見していますが、意外に修正事項として指摘させていただく機会が多く、内容についてご質問を受けるケースが多いものに「URL正規化」「canonical属性」が挙げられます。

この「URL正規化」「canonical属性」の役割や仕組み、使い方について見てみましょう。

 

 

1.URLの正規化とは?

 

URLの正規化処理をしていない場合、複数の異なるURLで同一のページを閲覧できる状態になってしまいますので、自然リンクがそれぞれのURLに分散してしまい、せっかくの被リンクが正当に評価を受けられない可能性が生じます。

また、場合によっては重複コンテンツとみなされてマイナスの評価を受ける可能性も懸念されます。

 

「URLの正規化処理がなされていない」とは、下記のように複数のURLで同一ページが表示される状態を指します。

http://example.com/
http://www.example.com/
http://example.com/index.html
http://www.example.com/index.html

 

2.統一するURLを「.htaccess」に記述し正規化する方法

 

テキストエディターなどで各URLを「wwwなし」または「wwwあり」、「index.htmlなし」のURLへ転送(301リダイレクト)する命令文を記述します。

そして、記述したファイルを「.htaccess」のファイル名でローカル環境下に保存します。

 

—————————————

#「www」のあるURLを「www」なしのURLに正規化
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

 

#「www」のないURLを「www」ありのURLに正規化
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

 

#「index.html」ありのURLをなしに正規化
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://example.com/$1 [R=301,L]

 

*それぞれ、「example」をご自分のドメインへ置換えます。

—————————————

 

3.作成した「.htaccess」ファイルをサーバーへアップロードする方法

 

2で作成した「.htaccess」ファイルをサーバーのルートディレクトリ(トップページのindex.htmlが入っているフォルダ)にアップします。

お使いの環境やソフトウェアによっては、ファイルが「.」(ドット)で始まるファイル名を作成できないことがあります。 そのような場合には、「htaccess.txt」のように適当な名称で保存しアップロードします。

アップロード後、FTPソフトの機能を使ってファイル名を「.htaccess」に変更しましょう。

 

*サーバーの仕様によっては「.htaccess」ファイルが設置できない場合があります。  次回はそのようなケースでも可能な別の正規化方法について解説します。

 

【この記事の関連ページ】

内部SEO対策