ユーザーエージェント検出を使用して、同じURLでデスクトップユーザーとは異なるコンテンツをモバイルユーザーに提供することは、クローキングの一種と見なされ、Googleによってペナルティが課される可能性があると心配されているようです。
グーグルウェブマスターセントラルブログによれば、モバイルブラウザーの検出を適切に行っていれば、これは当てはまりません。基本的に、Googleのクローラーはデスクトップコンテンツとモバイルコンテンツのどちらを期待するかに応じて、さまざまなユーザーエージェント文字列を使用することを認識しておくことが重要です。たとえば、通常のGooglebotリクエストの一般的なユーザーエージェント文字列は次のようになります。
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
一方、モバイルクローラーからのリクエストの場合は、次のようになります。
SAMSUNG-SGH-E250/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 (compatible; Googlebot-Mobile/2.1;
+http://www.google.com/bot.html)
または(スマートフォンのリクエストの場合):
Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26
(KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible;
Googlebot/2.1; +http://www.google.com/bot.html)
(前者のタイプではなく)後者のタイプのGooglebotリクエストをモバイルとして正しく検出し、モバイルコンテンツをそれらに提供することを確認している限り、すべてが問題ありません。基本的に重要なことは、通常のGooglebotリクエストはデスクトップコンテンツを受信する必要がある一方で、モバイルGooglebotリクエストはモバイルコンテンツを受信する必要があるということです。
これは、上記にリンクしたGoogleウェブマスターセントラルブログの記事からの、これを説明する素晴らしい図です。
また、モバイルブラウザで利用できるコンテンツが異なる可能性があることをGoogleのクローラに知らせるには、でユーザーエージェント検出を使用しているページのHTTPヘッダーを送信Vary: User-Agent
するようにウェブサーバーを設定する必要があります。また、ユーザーエージェントを検出する際によくある落とし穴を避けるようにしてください。