index.html「あり・なし」のURL正規化?301リダイレクト応用編
“www.example.com/“と”www.example.com/index.html“、人間のユーザーにとっては同じページでも、サーチエンジンにとっては、まったく別のページです。
(余談ですが、example.com,example.net,example.orgは、例を出すときに使用するために予約されたドメインです。例えのドメインを示すときには、これらを使いましょう)
異なるページ(=異なるURL)ということは、被リンクもそれぞれ別のページへ向けられたものとして処理され、合算されるわけではありません。
たとえ、実際にはまったく同一のページへ張られていてもです。
SEO塾の石崎さんによれば、Yahoo!ではindex.htmlがある場合と、ない場合(スラッシュで終わる場合)では、インデックスに問題が生じるケースがあるとのことです。
Yahoo!検索でindex.html表示、スラッシュエンドでインデックスされず、またはURLのみ
Yahoo!検索でおかしな現象を見掛けた。
SERPs(検索結果)で、index.html(またはindex.htm)が表示されている。
そして特に、サイトルートよりも、第二階層以下のディレクトリインデックスで問題が生じているようだ。
また、Googleでは、www.exmample.com/とwww.example.com/index.htmlではPageRankが変わってくる場合もあります。
サーチエンジンは改良が進み、index.htmlありとなしを同一ページとして認識するようになってきてはいます。
index.htmlありとなしでも、同じPageRankを表示するページもあります。
ただし、完全ではありません。
そこで、index.htmlありとなしを同一化する方法(専門用語で、“正規化(Canonicalization)”といいます)を、紹介します。
.htaccessファイルによる301リダイレクトを利用します。
301リダイレクトが分からない人は、先にこちらを読んでから戻ってきてください。
● 『301リダイレクトの設定方法』
「http://www.exmample.com/」と「http://www.example.com/index.html」を正規化し、「http://www.exmample.com/」にそろえる時は、.htaccessに次のように記述します。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L]
※www.example.com内のすべてのディレクトリで、「/index.html」が「/」に正規化されます。
もし、index.htmlありとなしの両方でインデックスされたサイトがあれば、上記の301リダイレクトで両者を統一しておきましょう。
よく利用されるもう1つの301の正規化、「wwwあり・なし」の統一は過去のエントリを参照してください。
● 301リダイレクトを使った「WWWあり」と「WWWなし」の統一
Sponsored Links »
読み終わったらSphinn Japanに投稿/投票 »
Related Posts »








11 月 13th, 2008 at 10:57
基本的な事ですけれど、忘れがちになるポイントですよね!
僕も自分のサイトを見直してみようと思います。
初心はとても大事ですもの!
*** Reply from Suzuki Kenichi ***
生まれて初めて作ったサイトは、indexあり・なしの両方でリンクを貼ってました。(笑)
11 月 18th, 2008 at 2:30
はじめまして
いつも興味深く拝見させていただいております。
この記事を参考にURLの正規化を行ってみました。
すると、トップページはうまく「http://www.exmample.com/」で統一できました。
ですが、「http://www.exmample.com/link/index.html」など、
階層の低いフォルダ内の「index.html」も同様にURLの正規化が起きてしました。
(「http://www.exmample.com/link/」と表示される)
.htaccessファイルによる301リダイレクトの効力が
階層の低いフォルダにも働いていると考えられますが、
トップページのみ、URLの正規化することは可能なのでしょうか。
教えていただければ幸いです。よろしくお願いいたします。
*** Reply from Suzuki Kenichi ***
Options +FollowSymLinksRewriteEngine on
RewriteRule ^index.html$ http://www.example.com/ [R=301,L]
SEO塾の石崎さんに教えてもらいました。(笑)
ただ、なぜトップページだけを正規化するのでしょうか?
サブディレクトリは、分散してもいいということですよね。
よければ、理由を聞かせてください。
11 月 19th, 2008 at 3:30
Suzuki Kenichiさん、SEO塾の石崎さんありがとうございます。
うまく表現できないのですが、
トップページのみ例外で、「http://www.exmample.com/」のような、
「index.html」がない表記が好まれると考えていたので、
トップページだけURLの正規化ができる方法をお尋ねしました。
トップページは「index.html」なし、サブディレクトリは「index.html」ありという、URLの正規化もありなのでしょうか。
*** Reply from Suzuki Kenichi ***
技術的には可能ですが、ありかなしかと聞かれれば、僕としては「なし」です。
このように判断する根拠はなんですか?
データに基づく結論でしょうか?
サイト内で表記が違う方が、違和感があると「僕は」思います。
P.S.
index.htmlありとなしのどちらか片方だけしか、インデックスされていないし、今後も両方がインデックスされることがないうなら、無理に正規化する必要はありません。
トップページのリンクは常に「/」、サブページのリンクは常に「index.html」付にしておけば、済む問題です。
ただし、他のサイトからのリンクまではコントロールできないことをお忘れなく。