お引越しの仕方

[`evernote` not found]

「独自ドメインを取得して本格的にウェブサイトを運営したい」という場合の他「ただ単にドメインを変えたい」などといったときに気になって、しかも実際に重要な問題となるのが検索エンジンへの反映がどうなるのか、といったことです。

Googleの場合は、これに対処するための方法が「Google インデックスのサイト情報」に書かれています。

○→ Google インデックスのサイト情報

ここの「URL を変更したのですが、どうすれば Google で登録されますか」という項目で、サイトの移転をスムーズに行う手順として挙げられている事項は以下の通りです。


1.HTTP 301 の(永久的な)リダイレクトを使用して、以前の URL から新しいサイトにリダイレクトするように設定する。
2.リンクしているサイトの運営者様サイトのアドレスを変更したことを通知する。(相互リンク相手にリンクを修正してもらう)

1番目、「HTTP 301 の(永久的な)リダイレクトを使用」するとはどういうことでしょうか。

「HTTP 301」というのは「HTTPレスポンスヘッダステータス」のことです。
HTTPレスポンスヘッダステータスとは、ブラウザがサーバーに対してコンテンツの送信要求を行ったときにサーバーが要求されたコンテンツに先立って送信するコンテンツの状態コードのことです。

何のことか分からない方のために、実際にHTTPレスポンスヘッダを取得してみます。

レスポンスヘッダを取得するために、ここでは telnet を使います。

telnet は、Windows95,98,Me では MS-DOS、Windows2000,Xp では MS-DOSコマンドエミュレータ CMD で実行できます。

Windows メニューの「スタート」→「ファイル名を指定して実行」からそれぞれ「command」「cmd」と入力して実行するとコマンドウィンドウが開いて、コマンドの入力待ちになります。

ここで、www.so-desuyo.net の index.html のHTTPレスポンスヘッダステータスを取得してみます。

C:> というコマンドプロンプト表示状態(コマンド入力待ち)で telnet で

www.so-desuyo.net のポート 80 へ接続します。その後で index.html のヘッダを要求します。

C:>telnet www.so-desuyo.net 80 (Enter)
C:>HEAD /index.html HTTP/1.0 (Enter)
C:> (Enter)

HTTP/1.1 200 OK
Date: Thu, 16 Feb 2006 03:52:32 GMT
Server: Apache
Last-Modified: Fri, 07 Oct 2005 22:54:37 GMT
ETag: “ab0062-272-4346fcad”
Accept-Ranges: bytes
Content-Length: 626
Connection: close
Content-Type: text/html

と返信が表示されます(一例です)。この「HTTP/1.1 200 OK」がヘッダステータスです。

HTTP/1.1 の後に続く 200 というステータスは「コンテンツがありますよ」という意味です。

ステータスコードには以下の種類があります。

200 : OK
201 : 作成済み
202 : 承認済み
204 : コンテンツなし

300 : 複数選択
301 : 永久に移動
302 : 一時的に移動
304 : 修正れていない

400 : リクエスト不良
401 : 認証されていない
403 : 禁止
404 : 存在せず

500 : サーバー内部エラー
501 : インプリメントされていない

さて、ヘッダステータスは分かりましたが、Google が推奨する移動手順「HTTP 301 の(永久的な)リダイレクトを使用して、以前の URL から新しいサイトにリダイレクトするように設定する」は、どのようにして可能になるのでしょうか。

それには「.htaccess」というサーバー制御ファイルを使います。以前このメルマガで「 apache をパソコンに設置しよう」との記事を配信しましたが、その apache の構成ファイルに以下のようなディレクティブがありました。

# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess

この「.htaccess」の使用が可能で、RedirectPermanent が使えることが「HTTP 301 の(永久的な)リダイレクト」が使用できる条件です。

RedirectPermanent は、レスポンスヘッダステータス 301 の「永久に移動」つまり「そのファイルは他のところに移動して、もう戻ってくることはありません」ということを意味します。

RedirectPermanent の書式は以下のようになります。

RedirectPermanent url-path url

で、ルートインデックスを移動したような場合では以下のようになります。

RedirectPermanent / http://NewURL/

このような形式で全てのファイルについて新しいURLを指定し、.htaccess というファイル名でウェブサイトの直下に置きます。一部のファイルだけを引越す場合はそのファイルだけを書きます。こうした方法は、サイトの分割などに使えます。(.htaccess は通常のテキストファイルです)

したがって、サイト全体が引っ越すときには、以下のようにします。

RedirectPermanent / http://NewURL/
RedirectPermanent /file2.htm http://NewURL/file2.htm
RedirectPermanent /file3.htm http://NewURL/file3.htm
RedirectPermanent /dir1/index.html http://NewURL/dir1/index.html
RedirectPermanent /dir1/file2.htm http://NewURL/dir1/file2.htm
RedirectPermanent /dir2/index.html http://NewURL/index.html
(以下全ファイル)

ファイルの書き出しが面倒なときは、ファイルの保存フォルダに移動して

C:>dir /b > list.txt

という(MS-DOS)コマンドで、list.txt にファイル一覧を作成できます。後は、Excel などで編集してテキストファイルに貼り付けるとあっという間にできあがります。

なお、相互リンク相手には早めにリンクの更新をお願いしておきましょう。でないと、元のサイトが消えた途端に .htaccess ファイルもなくなります。

[`evernote` not found]

シェアする

  • このエントリーをはてなブックマークに追加

フォローする