綾小路龍之介の素人思考

[Web] 検索エンジンが自分のサイトをどのように認識しているか

検索エンジンから流れてくるユーザがどのような情報を元に自分のサイトに来ているのかを知ることは重要だ。google と yahoo の検索演算子をつかって、検索エンジンが自分のサイトについてどのような情報を持っているのか知ることが出来る。

目次

定点観測

このような情報は定点観測するべき情報だと思うのではてなアンテナに登録しておくべきだろうな。はてなアンテナの登録は検索を提供しているGoogleやYahooの仕様変更にそってアドレスを変更しなければいけないという点で面倒。Googleアラートへの登録はキーワードしか設定できないために検索結果ページの詳細な設定が出来ない。どちらも一長一短なので、両方に登録しておくのが吉。

googleのsiteとlink、yahooのsiteとdomainlinkとlinkを使ってこのサイトについて検索してみた。まずはAdvanced Google Search Operatorsのページを元にgoogleで検索

za.toypark.in
http://www.google.com/search?num=100&filter=0&q=za.toypark.in
site:za.toypark.in
http://www.google.com/search?num=100&filter=0&q=site%3Aza.toypark.in
link:za.toypark.in
http://www.google.com/search?num=100&filter=0&q=link%3Aza.toypark.in
cache:za.toypark.in
http://www.google.com/search?num=100&filter=0&q=cache%3Aza.toypark.in
info:za.toypark.in
http://www.google.com/search?num=100&filter=0&q=info%3Aza.toypark.in
related:za.toypark.in
http://www.google.com/search?num=100&filter=0&q=related%3Aza.toypark.in

次にYahoo!検索 ヘルプ - コマンド(link:, site: など)の使い方を元にyahooで検索してみた。

za.toypark.in
http://search.yahoo.co.jp/search?n=100&dups=1&p=za.toypark.in
site:za.toypark.in
http://search.yahoo.co.jp/search?n=100&dups=1&p=site%3Aza.toypark.in
link:za.toypark.in
http://search.yahoo.co.jp/search?n=100&dups=1&p=link%3Ahttp%3A%2F%2Fza.toypark.in
linkdomain:za.toypark.in
http://search.yahoo.co.jp/search?n=100&dups=1&p=linkdomain%3Aza.toypark.in

[SEO] 検索エンジンのキャッシュに登録されているかをチェック

またもはてなアンテナ。はてなアンテナではアンテナを立てるURLを指定できるので、このURLにgoogle検索のURLを入れてみる。例えば、このページについてやってみた。キャッシュされているかのチェックはうまく行くような気がする。しかし内容チェックに関してはうまくいかないかもしれない。ドメインの部分とq=の後ろが固有のものなのかそれとも変わりうるものなのかが良くわかっていないからだ。これらがタイミングなどによって変化してしまうとうまくいかないと思う。

キャッシュ内容が更新されたかチェック
http://72.14.235.132/search?q=cache:8a7inhswb8EJ:za.toypark.in/CssMarginPadding.html
キャッシュ内容が更新されたかテキストのみバージョンでチェック
http://72.14.235.132/search?q=cache:8a7inhswb8EJ:za.toypark.in/CssMarginPadding.html&strip=1
キャッシュされているかチェック
http://www.google.com/search?q=site%3Aza.toypark.in+inurl%3ACssMarginPadding.html

ドメイン部分についていえばどうやらwww.google.comで置き換え出来そうなので置き換えてみた。

キャッシュ内容が更新されたかチェック
http://www.google.com/search?q=cache:8a7inhswb8EJ:za.toypark.in/CssMarginPadding.html
キャッシュ内容が更新されたかテキストのみバージョンでチェック
http://www.google.com/search?q=cache:8a7inhswb8EJ:za.toypark.in/CssMarginPadding.html&strip=1

72.14.235.132とgoogle.comは可換?

うちのサイトのデータとしてgoogleがキャッシュしている情報は72.14.235.132にあるということはわかっているのだけれど、検索するタイミングによってはこのアドレスが異なる。この違いがどこから生まれたのか僕はさっぱりわからないのだけれど、もし72.14.235.132が変わってしまう可能性について考えると、せっかくはてなアンテナに登録したURLを変更しなければいけなくなってしまう。物は試しと、http://google.com/searchに行ってみると、同じものが見える。とりあえずはてなアンテナのURLを全部換えて数ヶ月たったが、403 Forbiddonがたまに出てくることを除けば成功しているといえそうだ。ほんとに可換なのか調べてみた。72.14.235.132の逆引きで出てきたfqdnを正引きして複数のIPアドレスが出てきたなら、fqdnを登録しておいたほうがよさそうだ。

まずは逆引きするときのネームサーバをチェックしておく。どうやら、72.14.235.132のネームサーバはns1.google.comでよさそうだ。

$ dig -x 72.14.235.132 ns
; <<>> DiG 9.3.4-P1.1 <<>> -x 72.14.235.132 ns
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16696
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;132.235.14.72.in-addr.arpa.    IN      NS
;; AUTHORITY SECTION:
235.14.72.in-addr.arpa. 4443    IN      SOA     ns1.google.com. dns-admin.google.com. 2008110401 21600 3600 1209600 10800
;; Query time: 8 msec
;; SERVER: XXX.XXX.XXX.XXX#XX(XXX.XXX.XXX.XXX)
;; WHEN: Wed Feb  4 21:22:07 2009
;; MSG SIZE  rcvd: 104

得られたネームサーバを使って72.14.235.132の逆引き。これでtw-in-f132.google.comが72.14.235.132に対応していることがわかる。

$ dig @ns1.google.com -x 72.14.235.132
; <<>> DiG 9.3.4-P1.1 <<>> @ns1.google.com -x 72.14.235.132
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9278
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;132.235.14.72.in-addr.arpa.    IN      PTR
;; ANSWER SECTION:
132.235.14.72.in-addr.arpa. 86400 IN    PTR     tw-in-f132.google.com.
;; AUTHORITY SECTION:
235.14.72.in-addr.arpa. 86400   IN      NS      ns2.google.com.
235.14.72.in-addr.arpa. 86400   IN      NS      ns1.google.com.
235.14.72.in-addr.arpa. 86400   IN      NS      ns3.google.com.
235.14.72.in-addr.arpa. 86400   IN      NS      ns4.google.com.
;; ADDITIONAL SECTION:
ns1.google.com.         345600  IN      A       216.239.32.10
ns2.google.com.         345600  IN      A       216.239.34.10
ns3.google.com.         345600  IN      A       216.239.36.10
ns4.google.com.         345600  IN      A       216.239.38.10
;; Query time: 39 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: Wed Feb  4 21:25:54 2009
;; MSG SIZE  rcvd: 215

次にfqdnの正引き。対応アドレスは72.14.235.132だけ。これで72.14.235.132とtw-in-f132.google.comは一対一にに対応していることがわかる。

$ dig @ns1.google.com tw-in-f132.google.com
; <<>> DiG 9.3.4-P1.1 <<>> @ns1.google.com tw-in-f132.google.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39522
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;tw-in-f132.google.com.         IN      A
;; ANSWER SECTION:
tw-in-f132.google.com.  86400   IN      A       72.14.235.132
;; AUTHORITY SECTION:
google.com.             345600  IN      NS      ns3.google.com.
google.com.             345600  IN      NS      ns1.google.com.
google.com.             345600  IN      NS      ns2.google.com.
google.com.             345600  IN      NS      ns4.google.com.
;; ADDITIONAL SECTION:
ns1.google.com.         345600  IN      A       216.239.32.10
ns2.google.com.         345600  IN      A       216.239.34.10
ns3.google.com.         345600  IN      A       216.239.36.10
ns4.google.com.         345600  IN      A       216.239.38.10
;; Query time: 41 msec
;; SERVER: 216.239.32.10#53(216.239.32.10)
;; WHEN: Wed Feb  4 21:26:51 2009
;; MSG SIZE  rcvd: 191

ということで、http://72.14.235.132/searchとhttp://tw-in-f132.google.com/searchは同じページを返す。でも、dns的に同じものをさしていない以上、72.14.235.132とgoogle.comは可換でないはずだ。

  1. Non-authoritative answer - Google 検索
  2. MBA的アドミンシンドローム: 「Non-authoritative answer」って知らない?
  3. dig 逆引き - Google 検索
  4. dig
  5. Kozupon.com - 便利なdigコマンドを使おう!
  6. @IT:DNS Tips:逆引きの設定方法とは
  7. DNS クライアントを作ってみよう (1)

dns問い合わせのトラフィック考えれば72.14.235.132のほうが「軽い」ということになる。googleはすごいね。ここまで軽さを求めるとは。

検索エンジンがインデックス化しているページの取扱

一つ上で、自分のサイトがそれぞれの検索エンジンでどのようにインデックスされているかわかった。このとき気づいたことは、かなり昔に作ったと思われるページまでインデックス化されていたことだ。そのようなページは、4つに分類できた。それぞれについてユーザに対して恒久的に有効な情報を提供するための自分なりの(弱小サイトでページ数も少ない場合の)取扱指針を考えてみる。

  1. 更新が続いているページ
  2. 更新がストップしたページ
  3. アドレスが変わり、変わった先で更新が続いているページ
  4. ページ(内容)自体が失われたページ

更新が続いているページ

基本的に何もすることは無いと思う。このようなページは、ユーザがどのような形でブックマークしていても、どのような形でリンクが張られていても、鮮度の高い情報を提供することが出来る。ただし、リンク元につけられたリンクの説明とリンク先の内容が変化している可能性もある。そのようなことが無いようにする現実的な解法は、内容にぶれが生じないようにページ編集を心がけることだと思う。

更新がストップしたページ

基本的に何もすることは無いと思う。情報の鮮度が低いが、検索エンジンからのユーザはヒットした内容を必要としている。一つの問題点は情報の鮮度が低い点だ、同じアドレスで情報の鮮度を高めることが重要なように思う。その際に情報を付け足すことはあっても削除するようなことがあってはいけないと思う。

アドレスが変わり、変わった先で更新が続いているページ

取扱要注意なページである。このような場合、直リンクをクリックした検索エンジンからのユーザ、ブックマークしたユーザ、どこかのリンク元からのユーザ、はリンク先の文書が見つからないという旨の文書を目にすることになる。このようなユーザはアドレスが変わった先を参照すること無しに別のサイトに流れてしまうかもしれない。そもそもの問題は、アドレスを変えてしまったことと其の事実をユーザが知らないこと、である。httpヘッダで301や302を返したりsitemap protocolを用いて検索エンジンやユーザにアドレス変更の事実を伝えることは出来ても、伝えられた内容をどのように取り扱うかは検索エンジンやユーザに任されているわけで、ユーザや検索エンジンの挙動までサイト管理者の思いのままには出来ない。

そこで、baseタグとシンボリックリンクを用いてモデラートに検索エンジンやユーザの挙動を制御する指針を考えた。もちろん気が付くユーザや検索エンジンもいるだろう。しかし、リンク切れではないし、そこからもし自サイト内の別ページに遷移してそこがブックマーク登録されてもインデックス化されても構わない。

  1. 少なくともアドレス変更後のページ(全てのページであることが望ましい)のヘッダにbaseタグを入れ、ページ内のに含まれる自サイト内リンクの全てをbaseタグのhref属性値からの相対参照アドレスでaタグのhref属性値を記述する。
  2. アドレス変更前のページに対して、アドレス変更後のページからシンボリックリンクを貼る

具体的に言えば、下のようにして行う。

$ 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 

ページ(内容)自体が失われたページ

インデックス化されていることには価値があるので、これを期にコンテンツを復活させる。もしくはユーザを裏切ることになるかもしれないが、サイトのホームかサイトマップにシンボリックリンクを貼るのも一つかもしれない。

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2003-10-13T23:01:59+09:00
  2. Modified: 2003-10-13T13:13:08+09:00
  3. Generated: 2017-07-06T23:09:18+09:00