index.htmlと/の正規化について:ぺたっとPHPサンプルソースコード |
index.htmlと/の正規化について 2013年5月 -01
サイトなどを運営していると、色々とページ作り以外のどうでもいいような事があります。
例えばドメインがwwwありとなしで、それぞれが別ページとなります。
これは当然、wwwがひとつのパスなのでいわゆるサブドメイン扱いで、
従来からwwwありで使われているのは単に総合ページとしての意味しかありません。
総合ページと言うと語弊がありそうですが、日本語難しいです。
それとは別に今回の話の主旨である、index.htmlと/で終わる場合。
通常、サーバーは/で終わるパスを指定されても自動的にindex.htmlを探しにいきます。
本来フォルダを開く意味でそのパス、例えばc:\windowsを開いたとしたら、
当然そのフォルダ内のファイルが一覧表示されますよね。
ウェブサイトを閲覧する時に、パスがフォルダ名で終わる場合、そのページのファイル一覧を表示する事自体に意味が無い、
一覧表示されたくないなどの理由でindex.html(文字通り目次ページ)があれば、
そのページが表示されるわけで、逆に一覧を見せたい場合はindexを置かないわけです。
つまりフォルダを指定した場合はファイル一覧、indexを指定した場合はindex.htmlを表示するというのが本来の使い方です。
サーバー側はフォルダ内にindex.htmlがあれば自動的にそれを表示し、
なければファイルの一覧を表示するようになっているわけで、ここまでは納得できる話ですよね。
それが、現在において未だに検索エンジンはindex.htmlと/で終わるページを別ページとして認識します。
いや、別ページでいいんですよ。ファイル一覧と目次ページなので別ですよね。
ただ、サーバーが自動的にindexを表示する、もともと/で終わるページなどない、というわけなんですよ。
それなのに検索エンジン側は勝手に/で終わるパスをindex.htmlがあれば内容が全く同じ別のページと認識します。
その為、一般的にはその両ページをひとつのページに正規化する、と言う手法を取っています。
それも面白い事に、index.htmlを存在しない/で終わるページに正規化する事が多いようです。
とても納得できません!!!
そんなページないっつーの。
正規化するなら逆じゃないんですか?
そういう事もあって、検索エンジン側はもともと無いページをインデックスするのではなく、
/で終わるパスはindex.htmlがあるなら、そちらに合算するのが本来のあり方ではないかと思っています。
もう何年も前からそうなる事を期待しているのですが、未だに内容が全く同じ別ページ扱いです。
繰り返しますが、index.htmlと/で終わるページは別ページです。
ただ、FTPサーバーでもない限り、一覧ページなど必要ないですし、そもそも/で終わるページとindexが同じなわけが無い、と言う話です。
当サイト「ぺたっとPHPサンプルソースコード」は、初めてPHPを触る初心者でもすぐにPHPプログラミングができる・分かるサイトです。
PHPのサンプル
0から始めるPHP
日記