読者です 読者をやめる 読者になる 読者になる

ほろ酔い開発日誌

有意義な技術的Tipsを共有出来たら嬉しいです。Ruby、Railsが好きです。Web開発全般(Rails多め、フロント、サーバー、インフラ)、データ分析、機械学習あたりの記事が中心になる予定です。

GooglebotのUA変更の影響を受けた1%に見事に含まれたお話

Rails SEO

事の発端は、自分のサイトを検索にかけたときにURLの下に「このサイトはスマートフォン対応されていません」のような文言があることに気づいたことです。

このサイトではPCとスマホはViewを切り分けているのでばっちり対応していたので「えっ?」って感じでした。

サイトがスマートフォン対応されていることがSEOに関係することは公式のページを見ても分かるので対応する必要がありました。

Google ウェブマスター向け公式ブログ: 検索ユーザーがモバイル フレンドリー ページを見つけやすくするために

そもそもなんでこんなことになったかというと、2016年3月18日に勧告されているGooglebotのUA変更をもろに受けた結果です。

Google ウェブマスター向け公式ブログ: Googlebot のスマートフォン用ユーザー エージェントの更新について

これまでのGooglebotのスマートフォンUAは「iPhone」でしたが、それが「Android」に変更されました。

ただし、Googleによるとサイトの99%は影響を受けないと言われています。もし、影響を受けるのであればそれは「クローキング」の一形態であるとまで言われています。

Google の評価によると、今回のユーザー エージェントの変更は 99% のサイトで影響がない見込みです。サイトが影響を受ける場合に最も多い理由として考えられるのは、そのサイトが Googlebot の特定のユーザー エージェント文字列を期待している場合です。Googlebot に対するユーザー エージェント スニッフィングは推奨されておらず、クローキングの一形態と見なされます。Googlebot は他のブラウザと同様に扱ってください。

それで今回のサイトがどのようにViewを切り替えているかというと以下のgemの下記メソッドで切り分けています。

request.from_iphone?         # true if it comes from iphone
request.from_ipad?           # true if it comes from ipad
request.from_android?        # true if it comes from android mobile
request.from_android_tablet? # true if it comes from android tablet
request.from_windows_phone?  # true if it comes from windows phone

github.com

ただし、これだとうまくGooglebotに対応してくれないので、以下のようにGooglebot用にメソッドを用意していました。クローキングをしたい訳では全くないのですが個別に対応することになってしまっています。

  def google_mobile_bot?
    request.browser == 'Googlebot' && /iPhone/ === request.user_agent
  end

これを見ると分かるように「iPhone」から「Android」に変わってしまうとこのメソッドはGooglebotのスマートフォンのアクセスに対してfalseを出してしまいます。 対応として「iPhone」、「Android」どちらともいけるようにメソッドを作りました。

  def google_mobile_bot_android?
    request.browser == 'Googlebot' && /Android/ === request.user_agent
  end

  def google_mobile_bot_iphone?
    request.browser == 'Googlebot' && /iPhone/ === request.user_agent
  end

このようにすると無事に以下のフレンドリーテストをクリアしました!

モバイル フレンドリー テスト

今回はGooglebotのUA変更の影響を知らないうちに受けていましたが、ひとまず対応出来たのでよかったです。 気づいていなかったら、スマートフォンの検索順位落とされていたと思うと恐ろしいですね。。

2016年5月12日から、モバイルフレンドリーであることがgoogleの検索順位により大きく影響を受けるようにアップデートされたので未対応の場合は早急に対応が必要ですね。

meshrepublic.com