- 更新が続いているページ
- 更新がストップしたページ
- アドレスが変わり、変わった先で更新が続いているページ
- ページ(内容)自体が失われたページ
更新が続いているページ
基本的に何もすることは無いと思う。このようなページは、ユーザがどのような形でブックマークしていても、どのような形でリンクが張られていても、鮮度の高い情報を提供することが出来る。ただし、リンク元につけられたリンクの説明とリンク先の内容が変化している可能性もある。そのようなことが無いようにする現実的な解法は、内容にぶれが生じないようにページ編集を心がけることだと思う。
更新がストップしたページ
基本的に何もすることは無いと思う。情報の鮮度が低いが、検索エンジンからのユーザはヒットした内容を必要としている。一つの問題点は情報の鮮度が低い点だ、同じアドレスで情報の鮮度を高めることが重要なように思う。その際に情報を付け足すことはあっても削除するようなことがあってはいけないと思う。
アドレスが変わり、変わった先で更新が続いているページ
取扱要注意なページである。このような場合、直リンクをクリックした検索エンジンからのユーザ、ブックマークしたユーザ、どこかのリンク元からのユーザ、はリンク先の文書が見つからないという旨の文書を目にすることになる。このようなユーザはアドレスが変わった先を参照すること無しに別のサイトに流れてしまうかもしれない。そもそもの問題は、アドレスを変えてしまったことと其の事実をユーザが知らないこと、である。httpヘッダで301や302を返したりsitemap protocolを用いて検索エンジンやユーザにアドレス変更の事実を伝えることは出来ても、伝えられた内容をどのように取り扱うかは検索エンジンやユーザに任されているわけで、ユーザや検索エンジンの挙動までサイト管理者の思いのままには出来ない。
そこで、baseタグとシンボリックリンクを用いてモデラートに検索エンジンやユーザの挙動を制御する指針を考えた。もちろん気が付くユーザや検索エンジンもいるだろう。しかし、リンク切れではないし、そこからもし自サイト内の別ページに遷移してそこがブックマーク登録されてもインデックス化されても構わない。
- 少なくともアドレス変更後のページ(全てのページであることが望ましい)のヘッダにbaseタグを入れ、ページ内のに含まれる自サイト内リンクの全てをbaseタグのhref属性値からの相対参照アドレスでaタグのhref属性値を記述する。
- アドレス変更前のページに対して、アドレス変更後のページからシンボリックリンクを貼る
具体的に言えば、下のようにして行う。
$ cat after.html <html><head>... <base href="http://za.toypark.in/" /> ....</head> <body>... <a href="html/2003/10-27.html">baseのhref属性値+aのhref属性値の指すアドレス(http://za.toypark.in/html/2003/10-27.html)に飛ぶ</a> ...</body></html> $ ln -s after.html before.html
例えば、このページなら、以前はhttp://za.toypark.in/html/2003/10-27.htmlで書いていた内容がhttp://za.toypark.in/html/2009/03-14.htmlにアドレス変更になり、そこで更新が続いている。このようなページを列記すると下のようになる。
| アドレス変更前 | アドレス変更後 |
|---|---|
| ~/html/2003/10-27.html | ~/html/2009/03-14.html |
この情報を元にシンボリックリンクを張る操作は下のようになる。
$ ln -s ~/html/2009/03-14.html ~/html/2003/10-27.html
ページ(内容)自体が失われたページ
インデックス化されていることには価値があるので、これを期にコンテンツを復活させる。もしくはユーザを裏切ることになるかもしれないが、サイトのホームかサイトマップにシンボリックリンクを貼るのも一つかもしれない。