クローラーの判別

概要

x-Servlet Version 2.4.2 からは docomo、au の公式クローラー情報に、
x-Servlet Version 2.6.0 からは SoftBank の公式クローラー情報に対応しました。

HTTPリクエストヘッダのUserAgentでキャリアのクローラーを判別し、useragent.xmlから該当する機種情報を選択します。

種類

キャリア 端末名
docomo i-robot
au KDDI-Googlebot-Mobile
SoftBank SoftBankbot-Mobile(*1)

*1 SoftBankのクローラーはUserAgentで判別できないため、HTTPリクエストヘッダのx-jphone-uidで判別します。

その他のクローラー判別

概要

x-Servlet Version 2.8.0 から任意の UserAgent をクローラーとして判別させることができるようになりました。
x-Servlet Version 2.10.0 からはスマートフォンを名乗るクローラーに対応し、クローラーが名乗る端末情報に対応しました。

設定

xproxy.propertiesのsetBotUserAgentを"true"に設定してください。(初期設定値はtrueです)

機能説明

setBotUserAgentを"true"とすると機種判別を行う前にstaticUA.xmlに設定されている<TerminalID>でUserAgentに対しマッチングを行います。マッチした場合はその機種情報で動作します。
"false"の場合は「キャリアおよび機種の判別」で機種判別が行われます。(従来のバージョンと同じ動作)

設定例

以下に staticUA.xml の設定例を記します。

<!-- モバイル版Yahoo!クローラー -->
<UserAgent>
  <Class>PC</Class>
  <Terminal>
    <Name>YahooBot-Mobile</Name>
    <ID>Y!J-SRD/1.0</ID>
  </Terminal>
  <ServiceName>Bot</ServiceName>
  <Browser>
    <Name>Mozilla</Name>
    <Version>5.0</Version>
  </Browser>
  <MarkupLanguage>
    <Name>CHTML</Name>
    <Version>6.0</Version>
  </MarkupLanguage>
  <ContentType>text/html;charset=Shift_JIS</ContentType>
  <ContentMaxBytes>30000</ContentMaxBytes>
  <Display>
    <Characters>
      <Rows>11</Rows>
      <Cols>12</Cols>
      <Encoding>Shift_JIS</Encoding>
    </Characters>
    <Image>
      <Format>JPG</Format>
      <Pixcels>
        <X>240</X>
        <Y>320</Y>
      </Pixcels>
      <Animation>true</Animation>
      <ColorMode>Color</ColorMode>
      <Colors>65536</Colors>
    </Image>
  </Display>
  <Flash>1.0</Flash>
  <GPS>false</GPS>
  <Attribute name="atmail">FALSE</Attribute>
</UserAgent>

アクセスした端末のUserAgentが以下のような場合、

DoCoMo/2.0 SH902i (compatible; Y!J-SRD/1.0; http://help.yahoo.co.jp/help/jp/search/indexing/indexing-27.html)

setBotUserAgent=true の場合

staticUA.xml に設定された"Y!J-SRD/1.0" がマッチするので機種名(TerminalName)は "YahooBot-Mobile" となる。

setBotUserAgent=false の場合

キャリアおよび機種の判別」の手順に従い、useragent.xml に設定された"DoCoMo/2.0 SH902i" がマッチするので機種名(TerminalName)は "SH902i" となる。

注意点

  • Version2.9.2以下ではスマートフォン向けクローラーに対してはスマートフォンとして認識されず、PCとして処理されていたためPC向けの変換結果が返されます。
TOP