---
title: "ロボット検出機能の設定"
slug: "configure-robot-detection-functionality"
abstract: "ユーザーエージェントやIPアドレス、またはロボット検出機能を使って望まない訪問者をフィルタリングする方法。"
---
# ロボット検出機能の設定

Sitecoreユーザー *エージェント文字列*を使ってロボットを自動的に検出できます。ロボット検出を有効にするにはデバイス [検出](https://doc.sitecore.com/xp/en/developers/102/sitecore-experience-manager/using-device-detection.html)を有効にする必要があります。カスタムユーザーエージェントやIPアドレスでExcludeRobots設定ファイルを設定し、不要な訪問者をフィルタリングすることでカスタムロボットを識別・ブロックできます。さらに、ロボット検出コンポーネントを使って人間の行動がないかどうかを特定できます。

## ユーザーエージェントとIPアドレスを除外する

Sitecore.Analytics.ExcludeRobots.configファイルで除外するカスタムユーザーエージェントやIPアドレスを割り当てるリストを作成できます。例えば、除外リストに追加されたIPアドレスやユーザーエージェントから訪問者があなたのウェブサイトにアクセスした場合、ページの閲覧リクエストは無視され追跡されません。

ブロックしたいユーザーエージェントを <analyticsExcludeRobots> ノードの下に、IPアドレスを <excludedIPAddresses> ノードの下に手動で追加することで、このリストを手動で編集できます。

ユーザーエージェントでフィルタリングするには:

1.  App\_Config\\Sitecore\\Marketing.Trackingフォルダに行き、Sitecore.Analytics.ExcludeRobots.configファイルを開いてください。
    
2.  <analyticsUserAgents>ノードの下に、ブロックしたい各ユーザーエージェントを別行に入力します:
    
    <excludedUserAgents>
     UserAgent 1.0
     UserAgent 2.0
     UserAgent 2.0
    </excludedUserAgents>
    

IPアドレスでフィルタリングするには:

1.  App\_Config\\Sitecore\\Marketing.Trackingフォルダに移動し、Sitecore.Analytics.ExcludeRobots.configファイルを開いてください。
    
2.  <excludedIPAddresses>ノードの下に、ブロックしたいIPアドレスを別回線に入力します:
    
    <excludedIPAddresses>
     10.1.2.3
     12.9.2.2
     35.2.5.4
    </excludedIPAddresses>
    
    > !注IPアドレスが以下の対応フォーマットに準拠していることを確認しましょう:
    > 
    > IPアドレスの例:10.2.3.4
    > 
    > IP範囲の例:10.1.2.3 - 10.1.2.30
    

## ロボット検知を有効にする

ロボット検出機能はデフォルトで有効ですが、完全に実装するには、ウェブサイトの各ページのレイアウトに訪問者識別コントロールを追加していることを確認してください。

> !注訪問者識別制御はWebsite\\layouts\\systemフォルダに保存されています。

ロボット検出コンポーネントを使って人間の行動を特定する方法:

-   ウェブサイトのすべてのページのレイアウトに VisitorIdentification コントロールを追加してください。

Sitecoreサンプルレイアウトには、ウェブサイトページレイアウトのVisitorIdentificationコントロールの例参照が含まれています。

<head runat="server">
<title>Welcome to Sitecore</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="CODE\_LANGUAGE" content="C#" />
<meta name="vs\_defaultClientScript" content="JavaScript" />
<meta name="vs\_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5" />
<link href="/default.css" rel="stylesheet" />
<sc:VisitorIdentification runat="server" />
</head>

> !注MVCレイアウトを使用している場合は、@Html.Sitecore().VisitorIdentification() ヘルパーメソッドを使ってビジター識別コントロールをレンダリングしてください。

## ロボット検出を無効にする

デフォルトでは、ロボット検出はすべてのサイトでグローバルに有効化されています。例えば、自動パフォーマンステストを行う場合はロボット検出を無効にしたいかもしれません。ロボット検出はグローバルに無効にすることも、特定のサイトごとに無効化できます。

> !重要ロボット検出がグローバルに無効になっている場合、特定のサイトで有効にすることはできません。グローバル設定が優先されます。

すべてのサイトでロボット検知をグローバルに無効にするには:

-   [パッチファイル](https://doc.sitecore.com/xp/en/developers/102/platform-administration-and-architecture/use-a-patch-file-to-customize-the-sitecore-configuration.html)を使ってAnalytics.AutoDetectBots設定をFalseに変更してください。
    
    <setting name="Analytics.AutoDetectBots" value="false" />
    

特定のサイトでロボット検出を無効にするには:

-   configuration/sitecore/tracking/siteSettingsに移動して、以下の構成を追加してください:
    
    <?xml version="1.0" encoding="utf-8"?>
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
     <sitecore>
     <tracking>
     <siteSettings>
     <site name="mySite" autoDetectBots="false" />
     </siteSettings>
     </tracking>
     </sitecore>
     </configuration>
## デフォルトのセッションタイムアウトを変更してください

デフォルトのセッションタイムアウト設定を変更することで、ロボットが開始したやり取りがセッションデータベースに格納される時間を最小限に抑えることができます。デフォルト設定は*1分*に設定されています。人間の接触ではデフォルト設定が*20分*に設定されています。

デフォルトのセッションタイムアウトを変更するには:

1.  App\_Config\\Sitecore\\Marketing.Trackingフォルダに行き、Sitecore.Analytics.Tracking.configファイルを開いてください。
    
2.  Sitecore.Analytics.Tracking.configファイルでAnalytics.Robots.SessionTimeout設定に行ってください。
    
3.  デフォルト設定を変更するには、値属性として分単位の異なる時間値を入力します:
    
    <setting name=”Analytics.Robots.SessionTimeout” value=”1” />

## ロボット訪問に関する統計の生成

デフォルトではIgnoreRobots設定は*true*に設定されており、ロボットの訪問は無視され、xDBに保存されません。この設定を*false*にすると、すべてのロボット訪問が保存されます。

ロボット訪問に関する統計を生成するために:

1.  App\_Config\\Sitecore\\Marketing.Trackingフォルダに行き、Sitecore.Analytics.Tracking.configファイルを開いてください。
    
2.  Sitecore.Analytics.Tracking.configファイルで*Analytics.Robots.IgnoreRobots*の設定に移動します。
    
3.  この設定の値を*false*に変更してください:
    
    <setting name="Analytics.Robots.IgnoreRobots" value="false" />
    

また、以下のパフォーマンスカウンターの統計も生成できます:

-   人間の要望
-   ロボットのリクエスト
-   悪意のあるロボットのリクエスト

> !注デフォルトのロボット検出ロジックを変更したりカスタマイズしたりするには、Sitecore.Analytics.RobotDetection.configファイルとweb.configファイルの両方を編集する必要があります。 Sitecore.Analytics.RobotDetection.configファイルはロボット検出コンポーネントのメイン設定ファイルであり、web.configファイルにはロボット検出コンポーネントのメディアリクエストセッションモジュールが含まれています。