2011年02月23日
モバイル向けにサイトを最適化するためのいくつかの情報をGoogle Webmaster Centralブログが公開しました。
重要ポイントをまとめるのでモバイルサイトの運用者は参考にしてください。
Googleはモバイルフォンを2つのタイプに分類しています。
- 従来の携帯電話: 一般的なデスクトップPC用のウェブページをレンダリング(表示)できない携帯端末。cHTML (iMode)、WML、WAPなどに向けたブラウザを含む。
- スマートフォン: 一般的なデスクトップPC用と同じか、ある程度同じようにレンダリングできる携帯端末。Windows Phone 7やBlackberry端末, iPhone、Android端末などで、電子書籍リーダーも含む。
2は、HTML5をサポートするブラウザを使う端末とサポートしないブラウザを使う端末にさらに分けられます。
モバイル向けサイトを運用する際には2種類のクローラが関係してきます。
- Googlebot: デスクトップ向けコンテンツをクロールする。
- Googlebot-Mobile: モバイル向けコンテンツをクロールする。
Googlebot-MobileのUser-Agent(ユーザーエージェント)にはいくつか種類があり、次のような形式になります。
僕のサーバーログに残っていた具体例です。
今のところ、ユーザーエージェントにスマートフォンの名前を使ってクロールしていません。
しかし今後は変わるかもしれません(この記事の最後に注釈あり)。
Googlebot-Mobileには従来の携帯電話だけに向けたコンテンツを見せるようにします。
スマートフォンにはデスクトップ向けコンテンツを提供することをGoogleは想定しています。
ただスマートフォン向けのコンテンツを作ってはダメということではなく、そうしたほうがユーザーの役に立つならスマートフォン用コンテンツを作っても構いません。
次はモバイル向けコンテンツのURL構成についてです。
モバイル向けのコンテンツを準備せずデスクトップ向けだけの場合は、Googlebot-Mobileも他のユーザーエージェント同様に扱います。
つまり、すべてのブラウザに同じURLでコンテンツにアクセスさせます。
ただし従来の携帯端末では表示できないかもしれないし、スマートフォンの場合はブラウザの能力に依存してきます。
モバイル向けのコンテンツを提供する場合、デスクトップ向けURLとモバイル向けURLを同じにするか、それとも別のURLにするかという問題が出てきます。
別々にするときはたとえば、デスクトップ向けにはwww.example.com、モバイル向けにはm.example.comのようになります。
どちらでもよくて、必ず守らなければならないのはユーザーと同じコンテンツを見せることです。
www.example.comにアクセスしたモバイルユーザーをm.example.comに転送するように設定しておけばGooglebot-Mobileも転送を認識して、デスクトップ用とモバイル用の両方のコンテンツがクロールされます。
このケースではユーザーとGooglebot-Mobileを301リダイレクトします。
(【追記】日本版GoogleヘルプフォーラムではGoogle社員さんは302を推奨しています。石川さんから情報提供いただきました。)
同じURLでデスクトップ向けコンテンツとモバイル向けコンテンツを提供する場合でも、ユーザーエージェントによって振り分けていればGooglebotとGooglebot-Mobileによって正しくクロールされます。
クローキングとしてみなされることはありません。
Googlebotにはデスクトップ向けコンテンツを、Googlebot-Mobileにはモバイル向けコンテンツを見せるようにすればいいわけですね。
モバイルサイトマップについては今年の最初のエントリで確認しておいてください。
最後にポイントを簡単にまとめます。
- Googleは、現状ではモバイル端末を、古いタイプの従来のケータイと新しいタイプのスマートフォンの2種類に分けている。
- スマートフォンは、今はデスクトップと同じように取り扱っている。
- デスクトップ向けコンテンツとモバイル向けコンテンツのURLは、同じでも別々でもどちらでも構わない。
- Googlebotにはデスクトップ向けコンテンツを、Googlebot-Mobileにはモバイル向けコンテンツを見せ、ユーザーと同じように扱う。
【補足】
今回の公式アナウンスでは、スマートフォンをモバイルのUAとして使っていないとのことでした。
しかしGooglebot-MobileがiPhoneを名乗っているというのをTwitterで見かけて、ポールさんにログのUAを見せてもらいました(ポールさん、ありがとうございます!)。
本物なのかどうか、Google Webmaster Centralの公式ヘルプフォーラムで質問したところ、Google社員のJohn Mueller(ジョン・ミューラー)氏から回答をもらえました。
We’re constantly working on expanding our systems and run numerous experiments over time. That looks like an experiment which we mostly did a while back. At the moment, it’s not something that we’re generally using when crawling, though I wouldn’t be surprised to see that or other mobile user-agents in the future as further experiments.
As with other mobile user-agents, we recommend not treating these in a special way, and instead just showing the content in the way that you would normally show users with those user-agents.
しばらく前からやっている実験なのではないかということです。
でも現状では、クロール時に広く使ってはいないそうです。
さらなる実験として、iPhoneやその他の新しいモバイルUAが将来出てきても不思議はないだろうと言っています。
僕のサーバーログでは、iPhoneに偽装したGooglebot-Mobileは見つかりませんでした。
もし見つかった人がいたら見せてください。
IPを逆引きしてGoogleのものかどうかを判断できるかもしれません。
ちなみに英語版のGoogleの公式ヘルプフォーラムでは、ジョンさんを筆頭にして複数のGoogle社員が積極的にユーザーをサポートしてくれます。
どこかの国のヘルプフォーラムとはエライ違いです。
ユーザー同士の助け合いは大切だけれど、Googleの中の人にしか分からないことってたくさんあるはずです。
「すべてを明かせ」ということではありません。
でももう少し親身になってヘルプしてくれたら嬉しいのにと思うのは僕だけでしょうか?
P.P.S.
Special thanks to Barry at SER.




わかりやすいまとめ記事、ありがとうございます。
ところでadsenseは、PC用のものを貼っていると、スマートフォンでは現在は表示されませんよね。
私のスマートフォンでは、adsense部分が真白に表示されます。
スマートフォンに表示させたいなら、モバイル向けコードを貼らなくてはならないのですよね。でもそうなると、今度はPC向けのサイトでは漏れてしまうのですよね。
アクセス解析で、iPhoneなどスマートフォンからPCサイトにわずかながらではありますがアクセスがあるのを確認するたびに、ここで取りこぼしがあるんだなぁと思ってしまいます。
adsenseコードはPC向けとスマートフォン向け、従来のモバイル向けと、すべてで表示されるように一本化してくれるとよいのですが…。
ヘルプフォーラムは、たぶんgoogleの社員がコメントしてもよいという範囲のガイドラインが社内にあって、そこから逸脱しないようにとの申し合わせがあるんじゃないでしょうか。
フォーラムでは強引に社員のコメントを求めるユーザーもいるようですが、そのほとんどがスルーされているように見えます。
*** Reply from Suzuki Kenichi ***
AdSenseの表示は広告主の設定にも依存するかもしれません。
AdWordsのディスプレイネットワーク広告(AdSense広告)の設定にスマートフォンに表示するかどうかの選択があって、デフォルトでOFFになっています。
「逸脱」するとは到底思えないような質問に無視していることが常なので気になっているのです。
回答できないなら回答できない旨を伝えることはできますよね。
放置状態にしてるのが問題なのです。
「Google社員が答えろ」とユーザーが一方的に要求している質問についてはおっしゃるとおり必ずしも答える義務はないと思います。
Googlebot-Mobile iPhone
2009 2010 2011 のログを洗いましたが、2009年は7回iPhoneクロールがあって、2010・2011はiPhoneクロールが無かったですw
■ログ
66.249.71.136 – - [09/May/2009:08:53:59 +0900] “GET /index.html HTTP/1.1″ 200 5838 “-” “Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)”
66.249.72.73 – - [06/Aug/2009:11:31:47 +0900] “GET /index.html HTTP/1.1″ 200 6282 “-” “Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)”
※見栄えが悪ければ、このコメントを削除して下さい。
*** Reply from Suzuki Kenichi ***
ログ提供ありがとうございます。
今日のエントリで使わせていただきました。
すみません。知識不足なので確認させてください。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android|iPod)
RewriteCond %{REQUEST_URI} !^/i/
RewriteRule ^(.*)\.html$ /i/$1.html [L]
のように指定してモバイルとPCサイトが同じURLを表示させる場合は、リダイレクト、link rel=”canonical”の必要性は特になく
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android|iPod)
RewriteRule ^$ /i/ [R]
のようにPCは「http://URL/」とモバイルは「http://URL/i/」とURLを分けた場合は、リダイレクト、link rel=”canonical”の必要性が出てくるということでしょうか。
*** Reply from Suzuki Kenichi ***
ここでいう「モバイル」とは何を指してますか?
いわゆる「携帯」ですかそれともスマートフォンですか?
そして最終的に何をしたいのでしょうか?