googlebot-mobileのUAとDOCTYPEとインデックスの関係についての実験とその結果
長いですが まとめ の通りです。
Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html) をモバイルと判定されるように対処されていますが、NokiaでくるやつはXHTML用なのでmobileと判定してあげるだけではだめですよー、というのが以下に書いてあるはず。
やっぱり読むといろいろ欠けてるところがあるので補足。
携帯から http://google.co.jp/ にアクセスすると3キャリアすべて http://google.co.jp/imode にリダイレクトされます。そしてこのURLの携帯検索ではCHTMLインデックスが使われています。AUの公式の携帯検索もCHTMLインデックスから検索しているようです。
一時期よく http://google.co.jp/xhtml で携帯検索ができますよ、とブログ等で書かれていましたが、このURLの携帯検索ではXHTMLインデックスが使われるため、DOCTYPEがCHTMLになっている日本の携帯向けコンテンツはヒットしないのでご注意ください。また、このURLを直接入力しない限りユーザはXHTMLインデックスで検索することはないので、日本の携帯ユーザを対象にするならばXHTMLインデックスを気にする必要はありません。
Experiments on lazy googlebot-mobile
DOCTYPEの記述が重要かどうか
携帯サイトとしてインデックスされるのにDOCTYPEが担う役割を調べる。
-
DOCTYPEがなくても携帯サイトとして認識されているものも多数あるがDOCTYPEがあれば携帯サイトとして認識されるかを調べる。
google.com/imode では<!DOCTYPE HTML PUBLIC “-//W3C//DTD Compact HTML 1.0 Draft //EN”>
と宣言されている。同様に google.com/xhtml では
<!DOCTYPE html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.0//EN” “http://www.wapforum.org/DTD/xhtml-mobile10.dtd”>
と宣言されている。
これに倣ってDOCTYPEをCHTMLにしたものとXHTMLにしたものを用意する(on ku0522nositemaps.homelinux.net)。これが携帯サイトとしてインデックスされるかどうかを調べる。 -
DOCTYPEが不適切だとインデックスされないかを再確認するため、サイトマップを設定し、わざと一致しないDOCTYPEを設定する。
ku0522xhtml.mine.nuにDOCTYPEをCHTMLにしたものを置く。
ku0522chtml.dyndns.orgにDOCTYPEをXHTMLにしたものを置く。
そして結果を見る。
UserAgentとマークアップ言語の対応
- Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
- DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)
との二つがある。
これがそれぞれCHTMLのコンテンツとXHTMLのコンテンツを調べるためにきているのかどうかを調べる。
-
XHTML sitemap だけを与えたサイト ku0522xhtml.mine.nu と
CHTML sitemap だけを与えたサイト ku0522chtml.dyndns.org とを用意して、
それぞれにどんなgooglebotをやってくるかを観察する。 -
NokiaがXHTML用、DoCoMoがCHTML用だと仮定してDOCTYPEの出しわけを行う。
出しわけしない場合は一方でしかインデックスされないが(mogueで検証済み)出しわけをすると両方でインデックスされるかも知れない。(on 3zai.costcentre.net)
モバイルサイトマップの有効性検証
ku0522xhtml.mine.nu, ku0522chtml.dyndns.org と、
サイトマップを設定していない ku0522nositemaps.homelinux.net を比較し、サイトマップが有効かどうかを検証する。
ku0522nositemaps.homelinux.net, costcentre.netはPC版のindexにも入っておらず、クロールされていない可能性が高いので
サイトの登録
を行った。
| ドメイン | DOCTYPE | charset | chtml sitemap | xhtml sitemap |
| 3zai.costcentre.net | - | sjis | O | O |
| costcentre.net | Compact HTML 1.0 Draft | sjis | ||
| ku0522chtml.dyndns.org | Compact HTML 1.0 Draft | sjis | O | |
| ku0522xhtml.mine.nu | XHTML Mobile 1.0 | sjis | O | |
| ku0522nositemaps.homelinux.net | - | sjis |
実験経過
2006-10-30
そうするとMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
というのがサイトマップファイルの回収に来る。(サイトマップの登録後10分程度の時間できてた)
2006-11-02
ふつうのgooglebotがサイトマップファイルやrobot.txtを取りに来てるけど
googlebot-mobileはまだこない。
2006-11-06
VOXの自分のページからリンク張った。
googlebotは1日1回のペースでサイトマップにアクセスしているがgooglebot-mobileはまだ来ていない。
2006-11-08
googlebot-mobile がきていた。きていたのはCHTMLモバイルサイトマップを登録していた ku0522chtml.dyndns.org のみ。
66.249.66.69 - - [08/Nov/2006:06:01:35 +0900] "GET /nodoctype.html HTTP/1.1" 200 458 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
クロールしているのはCHTMLサイトマップに記述しておいた3ページ。
携帯の検索インデックスにはまだ反映されていなかった。
2006-11-12
このku0522nositemaps.homelinux.netドメインのページがインデックスに反映されて、ふつうのgoogle検索でヒットするようになった。ふつうのgoogle検索であれば、ページのDOCTYPEがCHTMLだろうがXHTMLだろうがヒットするようになった。
2006-11-14
xhtmlのサイトマップだけを登録していた ku0522xhtml.mine.nu に
66.249.66.97 - - [14/Nov/2006:13:24:25 +0900] "GET /nodoctype.html HTTP/1.1" 200 393 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
がきていた。やはりxhtmlサイトはnokiaが見に来るのかもしれない。
11/8にクロールされたCHTMLも未だインデックスには反映されない。
2006-11-17
66.249.65.167 - - [17/Nov/2006:03:30:23 +0900] "GET / HTTP/1.1" 200 504 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
インデックスにはまだ登録されない。
2006-11-22
ku0522chtml.dyndns.orgにDoCoMoのgooglebot-mobileが来た。ランクの低いページは隔週でクロールすることになっているのだろうか。11-08にindex.htmlからリンクをはっておいたfollowme.htmlというページもクロールされていたので、サイトマップに記述したページを起点にしたクロールもしているようだ。(ファイル名を間違って作っていたため404になっていたけど、リンクをたどってはくれている)
66.249.66.79 - - [22/Nov/2006:08:57:50 +0900] "GET /followme.html HTTP/1.1" 404 298 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
今回CHTMLサイトマップを設定したサイトにまたもDoCoMoがきたことで、CHTML-DoCoMoでXHTML-Nokiaという役割分担になっているのはほぼ確実だと思われる。
このページ、googlebot-mobileで検索すると、上から4つめになっててびっくり。その割にアクセスがないのでgooglebot-mobileなんぞ誰も気にしていないのだと思われる。(アクセスがあるとログの解析が面倒になるのでないほうがいい)
2006-11-28
ついに検索でヒットするようになりました! ku0522chtml.dyndns.org/nodoctype.html と http://ku0522xhtml.mine.nu/がヒットするようになりました。それぞれについて細かく見てみます。
- ku0522chtml.dyndns.org
-
このサイトには4つのページがあり、そのうち3つのページをchtmlサイトマップで知らせていました。結果は以下のとおり。
ページ mrestrict=chtml検索結果 DOCTYPE CHTMLサイトマップ index.html ヒットしない HTML PUBLIC “-//W3C//DTD Compact HTML 1.0 Draft //EN 記載 xhtml.html ヒットしない html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.0//EN”“http://www.wapforum.org/DTD/xhtml-mobile10.dtd”記載 nodoctype.html ヒットする なし 記載 followme.html ヒットしない HTML PUBLIC “-//W3C//DTD Compact HTML 1.0 Draft //EN なし DOCTYPEを記述していないnodoctype.htmlのみインデックスされていることから、DOCTYPEがHTML PUBLIC “-//W3C//DTD Compact HTML 1.0 Draft //ENではCHTMLとして扱われないことが伺われる。
サイトマップには記述せず、記述しているページからリンクを張ったfollowme.htmlはDOCTYPEを記述していたため、サイトマップに記述していないがリンクされているページがインデックスされるかどうかは不明になってしまった。これに関してはDOCTYPEを記述しないfollowmenodoc.htmlを新たに作りテストする。 - ku0522xhtml.mine.nu
-
このサイトには3つのページがあり、すべてのページをxhtmlサイトマップで知らせてありました。結果は以下のとおり。
ページ mrestrict=xhtml検索結果 DOCTYPE XHTMLサイトマップ index.html ヒットする(ただし文字化けしている)html PUBLIC “-//WAPFORUM//DTD XHTML Mobile 1.0//EN”“http://www.wapforum.org/DTD/xhtml-mobile10.dtd”記載 chtml.html ヒットしない HTML PUBLIC “-//W3C//DTD Compact HTML 1.0 Draft //EN 記載 nodoctype.html ヒットしない なし 記載 検索にヒットするようになったものの、文字化けしているのはindex.htmlのHTML内で文字コードの指定をしていなかったためだと思われます。
この結果からわかるのは
- サイトマップを設定していてもDOCTYPEが不適切だとインデックスされない(サイトマップで指定したページが無条件でインデックスされるわけではない)
- XHTMLに関しては文字コードを適切に設定する必要がありそう
- CHTMLならDOCTYPEなしが無難
- XHTMLならDOCTYPEの宣言が必要
といったところでしょうか。
サイトマップを送っていないku0522nositemaps.homelinux.netに
219.192.4.59 - - [27/Nov/2006:11:35:48 +0900] "GET / HTTP/1.1" 200 8308 "-" "DoCoMo/1.0/N505i/c20/TB/W20H10 (compatible; Googlebot-Mobile/2.1)"が回ってきていました。
ほかのサイトのログを見てみたところ googlebot-mobile DOCOMO は、PCサイトとしてインデックスされていればたまに(週に1回程度?)回ってくるようです。
ku0522xhtml.mine.nuにも
66.249.66.79 - - [28/Nov/2006:08:17:27 +0900] "GET /robots.txt HTTP/1.1" 404 292 "-" "Nokia6820/2.0 (4.83) Profile/MIDP-1.0 Configuration/CLDC-1.0 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)"
がきていました。
DOCTYPEを設定、サイトマップなしの costcentre.net と、
DOCTYPEを出し分けてxhtml, chtml両方でインデックスさせようとした 3zai.costcentre.net のことをすっかり忘れていました…
インデックスされるようにするべく、CHTMLからはDOCTYPEを除去、XHTMLではインデックスされていたku0522xhtml.mine.nuと比較してDOCTYPEとHTMLタグの間に改行がない、という些細な違いがあったので改行を入れてみました。
2006-11-29
昨日存在を思い出して微妙にHTMLを変えてからはロボットが巡回してきていないので、変更前のHTMLの内容でインデックスされているはずです。
- CHTML, XHTMLサイトマップを設定
- DOCTYPEはDoCoMo/Nokiaに応じてCHTML, XHTMLで出しわけ
DOCTYPEについては、昨日DoCoMoの場合には出力しないように変更したが、この変更後にはgooglebot-mobileは(googlebotも)来ていないのでインデックスされた時点ではCHTMLが出力されていたことになる。DOCTYPEをCHTMLに設定していたけどインデックスされたというこの結果はそのほかのサイトでDOCTYPEをCHTMLにしているとCHTMLサイトとしてインデックスされなかったのと相反する。
XHTMLとしてもインデックスされていることから、出しわけをすれば両方でインデックスされるようにすることは可能なようだ。
インデックスされたこととは関係ないが、昨日の変更は以下のとおり。変更前のものがコミットされていなかったのでメモとして残しておく。
--- /home/kuma/.backup/vim/index.php3.bak Mon Oct 30 18:36:42 2006
+++ index.php3 Tue Nov 28 17:20:27 2006
@@ -1,8 +1,9 @@
<?php
if ( preg_match( '/DoCoMo/', $_SERVER["HTTP_USER_AGENT"] ) ) {
- print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft //EN">';
+ #print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD Compact HTML 1.0 Draft //EN">';
} elseif ( preg_match( '/Nokia/', $_SERVER["HTTP_USER_AGENT"] ) ) {
print '<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">';
+ print "\n";
}
?><html>
<meta http-equiv="content-type" content="text/html; charset=SHIFT_JIS" />
2006-11-30
DOCTYPEがないものと、あるものとでインデックスされる順番が違うのかもしれないが、index/htmlと同じようにDOCTYPEを設定していたfollowme.htmlは現時点でインデックスされていない。ただし、followme.htmlはCHTMLサイトマップに記載していないので、サイトマップにあるものと、そこからクロールしたものとで処理に際がある可能性もある。
とりあえず、昨日の時点で矛盾しているように思えた、DOCTYPEがCHTMLだとインデックスされないが、されているページもある、というのはインデックスのタイミングでそう見えていただけのようだ。
2006-12-06
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">にしてねと書いてあったのでこれにしたimode.htmlというファイルを ku0522chtml.dyndns.org と ku0522xhtml.mine.nu に用意してインデックスされるかを調べることにしました。両方のドメインとも、それぞれのサイトマップに追加しました。
2006-12-07
2007-01-15
年末年始をはさんであいだが空いたあいだにインデックスが更新されていました。
更新されたのは12/28の昼間のようです。前回も11/28に更新がかかっているので毎月28日に更新されるのでしょうか。2月が28日しかないことを考慮した上での月末ということなのかもしれません。
インデックスに追加されていたのは ku0522chtml.dyndns.org で
size1k.html, size5k.html, size10k.html, imode.html の4ページ、
ku0522xhtml.mine.nu で imode.html の1ページです。
この結果から
- 10kのページはインデックスされるが少なくとも20kを越すとインデックスされない
- DOCTYPEを
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">にしているとchtmlでもxhtmlでもインデックスされる
ことがわかりました。
まとめ(2007-01-15)
細かい疑問は残るが、大枠のところで何をすればいいかはわかったかんじ。
- 毎月28日の昼ごろにインデックスが更新されるらしい
- ページサイズは10k程度にする。それを超えるとインデックされなくなる
- モバイルサイトマップを登録しなくてもインデックスされる
- CHTMLインデックスは DoCoMo googlebot-mobile, XHTMLインデックスは Nokia googlebot-mobile という役割分担がある
- 通常のgooglebotはモバイルのインデックスには直接関与しない(googlebot-mobileがクロールするべきページを指示している可能性はある)
- DOCTYPEはchtml, xhtmlの両方のインデックスでインデックスされるため
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">にするのがよい。CHTMLでインデックスさせるにはDOCTYPEをCHTMLにするか設定しないのがよい。XHTMLではインデックスされるにはDOCTYPEが必要。DOCTYPEでXHTMLと明示的に記述していないとインデックスされない - CHTMLインデックスとXHTMLインデックスは切り離されている。DOCTYPEを出し分ければ(もしくは
<!DOCTYPE html PUBLIC "-//i-mode group (ja)//DTD XHTML i-XHTML(Locale/Ver.=ja/2.1) 1.0//EN" "i-xhtml_4ja_10.dtd">)にすればひとつのページをCHTML, XHTML両方でヒットさせることが可能
関係ないこと
サーバからファイルをフェッチするときのUAは
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Google Wireless Transcoder;)
になっている。
About this entry
You’re currently reading “googlebot-mobileのUAとDOCTYPEとインデックスの関係についての実験とその結果,” an entry on ku
- Published:
- 2007.08.09 / 7pm
- Category:
- mobile

2 Comments
Jump to comment form | comments rss [?] | trackback uri [?]