|目次|手順 0|1|2|3|A|B|C|D|E|F|G|H| I |J|K|L|M|N|O|P|Q|
作成日:2003年01月24日、更新日:2004年04月10日 作成:鷹の巣WWWなしURLのロボット型検索エンジンへの登録についての失敗例を紹介します。
目次
WWWサーバーにアクセスするのにドメイン名でアクセスできることは、既にご存知だと思います。では、
のaとbの違いは、何でしょうか。
bのsakaguch.comは、自サイトのドメイン名そのものであり、aのwww.sakaguch.comは、自サイトのドメイン名のサブドメイン名であり、ホスト名wwwをFQDN表記したものです。(ホスト名は、末端のドメイン名で、PC機の名前です。)
私は、どちらでもアクセス可能であれば、短い方のURLが好きです。従って、このサイトのURLには、wwwというホスト名を指定する必要がありません。WWWサーバーにアクセスするのに必要な通信手順(プロトコル)は、先頭のhttpという部分です。FTPサーバーにアクセスするのには、先頭をftpに変え、ftp://sakaguch.com/とすれば、ブラウザからアクセスできます。
アクセスするURLは、http://WWWサーバーのホスト名/という形にしなくても、http://WWWサーバーのグローバルIPアドレス/でもアクセスできるのは、既にご存知だと思います。要は、グローバルIPアドレスに変換できるドメイン名であれば、何でも良いということになります。
一般に自宅サーバーのサイトの多くは、グローバルアドレスが1個で、サーバー機が1台しかありません。理由は、
だろうと考えています。
従って、サーバー機が1台ということは、別にホスト名(PC機の名前)をつけなくても、何も困ることがありません。自サイトのドメイン名そのままで、URLを短くすることが出来ます。しかし、ロボット型検索エンジンへの登録には、順番を間違えると、ちょっと変なことになります。私が経験した失敗談を次項から説明します。
私のサイトは、当初、何も深く考えずに
そこで何が起きたかと言いますと、どちらのURLでもアクセス可能でしたので、後から登録したURLがミラーサイトとみなされ検索エンジンからは、無視されました。(bのドメイン名がロボット型検索エンジンに登録されませんでした。勿論、検索しますと、aのURLしか表示されません。)
そこで、Webサーバーのバーチャルホスト機能を使用して、aでアクセスされるWebページとbでアクセスされるWebページとを別々にし、aでアクセスされた場合は、bの方に誘導するWebページにしました。勿論、aの誘導ページは、metaタグとrobots.txtの両方で、検索エンジンへの収集を防止しました。その結果を下表に示します。この表は、私のバーチャルホストを使用した場合ですが、同じ内容のWebページであれば、同じ状況になると考えています。
| ロボット (クローラ) |
検索サイト | ロボットの バーチャル ホスト対応 |
aの 旧 URL |
bの 新 URL |
URLの登録状況の説明 |
|---|---|---|---|---|---|
| Google系 | Google、exciteなど | ◎ | × | ○ | ロボット(クローラ)により、自動的に変更された。 |
| altavista系 | altavista | ◎ | × | ○ | 同上。 |
| fast系 | alltheweb | ◎ | × | ○ | 同上。 |
| Infoseek | Infoseek | ? | × | ○ | comドメインにつき、メールによる変更申請。データの更新周期が長く判断できない。 |
| Inktomi系 | tocc、Fresheye | × | ○ | × | aのURLで、表題がそのまま表示され続けた。紹介文の表示はなし。 |
| Inktomi系 | goo | × | × | × | 両方のURLで検索可能。しかし、キーワードでは、検索できない。 |
| Inktomi系 | MSN | × | × | × | 両方のURLがrobots.txtで、データベースから削除。 |
| WiseNut系 | Lycos | × | × | × | 同上。 |
| NAVER | NAVER Japan | ? | × | × | 同上。データの更新周期が長く判断できない。 |
URL変更案内ページについての考察は、余分な話ですが、私と同じ結果が得られるかどうかを追試験される方のために念のために記載します。尚、Webサーバーのバーチャルホスト機能を使用した共用ホスティングサービスでも同様の結果になる可能性があります。
http://www.example.com/でアクセスするとhttp://www.example.com/index.htmlでアクセスされる仕組みは、絶対外せない基本設定とサーバの動作(2/2)に書いてある通りです。同じようにURLが変更になった場合も、HTTP応答ヘッダが301 Moved Permanently(恒久的に移動した)を返すのが理想です。(cgiでURLの移動先のlocationヘッダを作ったりすると302 Moved Temporary(一時的に移動した)になったりします。)
注)HTTP応答ヘッダの状態コードについては、WWWサーバーのHTTPログファイルの読み方をご参照願います。
サーバーの管理者でしたら、- オーケイ通信事務所 - 技術ドキュメント Apache:Redirect ディレクティブに書いてある方法等で設定可能です。この方法が使えないサーバーだったり、サーバーの管理者ではない場合は、robots.txtの設置以外にURL変更案内ページを設置して、そのHTMLのheadタグ内で以下の様に書かれると思います。
上記のタグとは、ちょっと違いますが、URL変更案内ページの301 Moved Permanentlyをこのサーバー(AN HTTPD 1.42h)に設置して見ました。これをServer Header Checkerから、HTTP応答ヘッダを見ますと以下の様に表示されます。
当然といえば、当然ですが、HTTP応答ヘッダは、HTMLファイルの内容まではチェックしていませんので、200(正常終了)ということになります。クローラが収集してきたWebページ名(title)が301 Moved Permanentlyになっていると、URLが移動したと判断されれば良いのですが、現実は全く期待できません。ただ
<meta name="robots" content="NOINDEX,NOFOLLOW">を書いていなかったり、
変更先のURLをクローラに収集してもらう為に色気を出して
<meta name="robots" content="NOINDEX,FOLLOW">
と書いたりするとURL変更案内ページが変更先のページの入口ページと見なされて、待ても暮らせどURL変更案内ページしか検索エンジンでヒットしないということになります。
もし、不幸にして入口ページと見なされた場合は、URL変更案内ページをなくして404 Not Foundにされるのが確実です。
これなら、サーバーの管理者でなくても一番確実に出来ます。勿論、HTTP応答ヘッダの状態コードも404ですから、ご心配なく。
2003年8月12日、私の管理する「自宅サーバーWebRing(ウェブリング)」は、プロバイダの都合で、サイト全体を引っ越すことになりました。(Webサーバー単位の静的および動的Webページの引越しです。) 動的WebページのURL転送方法を中心に、サイト全体の引越し(URL転送)についての覚書をまとめました。同じ状況にある方のご参考になれば、幸いです。
2003年1月18日より、aのホスト名(www.sakaguch.com)をIPアドレスに正引きできないように変更し、http://www.sakaguch.com/というURLでアクセスできないよう(デットリンク)にしました。その結果を下表に示します。調査中となっている箇所は、勿論、aでのアクセスは、デットリンクですから、検索結果からはその内削除されると考えています。
| ロボット (クローラ) |
検索サイト | ロボットの バーチャル ホスト対応 |
aの 旧 URL |
bの 新 URL |
URLの登録状況の説明 |
|---|---|---|---|---|---|
| Google系 | Google、exciteなど | ◎ | × | ○ | ロボット(クローラ)により、自動的に変更済み。クローラとしては、理想的。 |
| altavista系 | altavista | ◎ | × | ○ | 同上。 |
| fast系 | alltheweb | ◎ | × | ○ | 同上。 |
| Infoseek | Infoseek | ? | × | ○ | comドメインにつき、メールによる変更申請。 |
| Inktomi系 | tocc、Fresheye、MSN | × | × | ○ | 1ヶ月近くかかって変更されました。 |
| Inktomi系 | goo | × | 調査中 | 調査中 | 1ヶ月後もリンク切れのまま。更新周期が長くて残念。 |
| WiseNut系 | Lycos | × | - | - | WiseNut系からInfoseek系に変更。調査できなくなりました。 |
| NAVER | NAVER Japan | ? | × | ○ | データの更新周期が長く判断できない。結局、メールによる変更申請。 |
以上、検索エンジンへの見直しを4~5ヶ月周期で、行った結果です。反省を込めて、結論づけを行いますと、
勿論、リンクして頂いているリンク元Webページには、URLの変更案内を出します。私の場合は、リンク元Webページを検索エンジンやWebサーバーのRefererを使用して調べました。
検索エンジンのGoogleでは、検索語を「http://www.sakaguch.com」や「link:http://www.sakaguch.com」で検索できます。より多くのリンク元Webページの検索は、AlltheWeb.com(FAST)の検索窓に「link:http://www.sakaguch.com」と入力すれば、検索できます。
検索エンジンロボット(クローラ)の一部が、Webサーバーのバーチャルホスト機能に対応していないということが、わかっていれば、こんなに苦労をしなかったのですが、色々と勉強になりました。
尚、誤解されないように老婆心ながら書いておきますと、通常のURLの変更は、以下の囲みの順序にて行なうのが良いと考えます。尚、Webサーバーのバーチャルホスト機能を使用した共用ホスティングサービスでしたら、Inktomi系の検索エンジンで期待通りの結果が得られない場合もあります。その様な場合は、移動前のURLのWebページを全て消去することによって解決します。
通常のURLの変更方法
移動先のURLに移動前のURLの全てのWebページの内容をそのまま移設する。当然、サイト内のリンク切れやCGIの動作確認なども済ませる。
移動前のURLのWebページのタグは、以下の例の様にして、検索エンジンのクローラ(収集ロボット)に収集させる。
<head>
<meta name="robots" content="INDEX,NOFOLLOW">
<--- FOLLOWと書くと入口ページと見なされる恐れがある?
<title>301 Moved Permanently</title>
</head>
<body>
URLは、<a href="http://www.example.com/">http://www.example.com/</a>に変更しました。
</body>
Perlが使用出来る環境にあるのなら、検索エンジンへのURL自動登録用Perlスクリプト(IO::Socketモジュール使用)を起動して、移動前のURLと移動先のURLの登録を行なう。これは、新旧のURLを同時期にクローラ(収集ロボット)に収集してもらい、インデックスに登録されることを目的としていますが、保証は全くありません。
Yahooのディレクトリ等に登録されていれば、変更依頼を行なう。また、リンク元を調査して、変更案内のメールを送信する。自分が登録した自動登録リンク集は、URLを訂正する。
前項のURLの変更が確認できたら、Metcha Search Engine: Advanced Search さんで、自サイト名を検索して、移動先のURLに変更されていることを確認する。(gooは無視すること。)その後、案内期間(3ヶ月程度)を経て、移動前のURLのWebページを全て消去する。
最後に、何度もメールを送り、いつもご丁寧に対応して頂いた検索エンジンのTOCCさん、ありがとうございました。