汎用例と除外ルール

これは、JSONオブジェクトのフィールドとOpen Graphのフィールドを併用した場合の例です。

<script id="liftigniter-metadata" type="application/json">
{
    "title" : "5 Cool Ways to Eat an Apple",
    "tags" : ["apple", "cool", "nutrition"]
}
</script>
<meta property="og:title" content="These 5 Cool Ways to Eat An Apple Left Me Salivating. You'd NEVER Think of #3."/>
<meta property="og:url" content="http://viral-website.com/eating-apples/">
<meta property="og:description" content="Boy, was I wrong to think I knew how to eat an apple!"/>
<meta property="og:image" content="http://cdn.viral-website.com/winking-apple.jpg"/>

リコメンデーションをリクエストする際に、このすべてのフィールドをリクエストしたとします:

$p("setRequestFields", ["url","title","tags","image","thumbnail","description","subtitle"]);
$p("fetch"); 

このアイテムに対するJSONオブジェクトは、下記のとおりになります:

{
  "url" : "http://viral-website.com/eating-apples/",
  "title" : "5 Cool Ways to Eat an Apple",
  "tags" : ["apple", "cool", "nutrition"],
  "image" : "http://cdn.viral-website.com/winking-apple.jpg",
  "thumbnail" : "http://cdn.viral-website.com/winking-apple.jpg",
  "description" : "Boy, was I wrong to think I knew how to eat an apple!"
}

LiftIgniter JSONオブジェクトのtitleフィールドは、og:titleを上書きします。サブタイトルフィールドには値が存在しなかったため、なにも返していません。

特殊なフィールド: title、urlおよびthumbnail

titleフィールドには、下記の順でで優先順位を決定します:

  • WebページのHTMLで、LiftIgniter JSONオブジェクトで指定された[title]。</li> <li>WebページのHTML内の[og:title]。
  • Webページの現在のtitle。

📘

サイト名の表示について

Webサイト名をページのタイトルに含めるケースがよくありますが、リコメンデーションにサイト名を表示したくない場合は、正しいタイトルをJSONオブジェクトとして送るか、リコメンデーションを表示する前にバックエンド側でタイトルからサイト名を削除する処理を行ってください。

urlのフィールドには、正しいURLを認識するために下記の順で優先順位を決定します:

  • WebページのHTML上で、LiftIgniter JSONオブジェクトで指定された[url]。</li> <li>Webページのソース上で、link rel=[canonical]に指定されたhrefフィールド。</li> <li>WebページのHTML上の[og:url]
  • すべてのタグ(?記号のあとにあるタグとハッシュ記号の後のタグ)を除いた、Webページの現在のURL

リコメンデーション同士が重複したり、リコメンデーションがユーザの最近のページ閲覧と重複することを避けるためには、canonical属性(正規化指定)のURLを指定することが特に重要です。

📘

サブドメインの一致

ソーシャルのアイテム共有に関連するWebサイトが、同じ記事に対して異なるサブドメインを使用して、ソーシャルのアイテム共有の転送設定を行うケースがあります。こういったケースにおいては、ページのバージョンが変わっても常に同じcanonical属性(正規化指定)のURLを指定するようにしてください。これは、ソーシャルメディアで共有されたものも含みます。ここで同じ値が指定されていない場合は、ページを正常に特定できなくなることがあります。

カスタムのLiftIgniter JSONオブジェクトでthumbnailが指定されていない場合は、thumbnailのフィールドにimageフィールド(LiftIgniter JSONオブジェクト、[og:image]のタグの値の順に確認を行う)の値をコピーして返します。

汎用的なルール

リコメンデーションで返すアイテムについては、いくつかのシンプルなルールをサポートしています。これらのルールはLiftIgniter側でマニュアルで有効化させる必要があり、それまでに数日を要します。将来的には、さらに柔軟性の高いルールを提供する方向性です。このセクションはルールのシステムをアップデートした際に随時更新します。

現在サポートしているルールは下記のとおりです:

  • 汎用的な除外ルール: 特定の条件(特定のタグ、特定の閾値を超えるまたは満たないスコア数値など)に該当するアイテムを除外します。
  • オプションのパラメータに基づく除外ルール: SDKクエリで渡されたオプションのパラメータに基づいて、その条件に該当するアイテムを除外します。
  • 汎用的なブーストルール: 特定の条件(タグや、タイトルなど)に基づいて、コンテンツのブースト(押し上げる)を行うことができます。しかしながら、現在適用しているブーストの仕組みでは、どれだけの頻度でブーストされたコンテンツが表示されるかは保証していません。
  • オプションのパラメータに基づくブーストルール: お客様から渡されたオプションのパラメータに基づいて、その条件に該当するリコメンデーションをブースト(押し上げる)します。

デフォルトで設定される汎用的な除外ルールがあります。LiftIgniter JSONオブジェクトで、"noShow"のフィールドの値を"true"に設定すると、 アイテムはインベントリに含まれますが、リコメンデーションとしては返されません。

<script id="liftigniter-metadata" type="application/json">
{
  ...
  "noShow" : "true",
  ...
}
</script>

その他の汎用的な除外ルールについては、LiftIgniterにお問い合わせください。お客様のルールのフレームワークを有効化するまでに最大で一週間を要します。

"noIndex"のフィールド値を"true"に設定したWebページは、インベントリにも含まれず、リコメンデーションにも表示されません。しかしながら、品質の低いアイテムに対しては、[noIndex]ではなく[noShow]を使用することを推奨します。そうすることで、そのアイテムをリコメンデーションで表示することがなかったとしても、ユーザがそのWebページを訪問した際や、最近訪問したような場合に、リコメンデーションの精度を上げることができます。

アイテムのインデックス登録を禁止する設定

🚧

noShowの推奨

[noIndex]の関数をサポートしてはいますが、ここではほとんどのケースで、[noShow]を使用することを推奨します。

LiftIgniterの使用を開始する際に、我々はお客様のWebサイトがどのようなタイプで、リコメンデーションを表示したいエリアを判定します。そして正しいインベントリアイテムを選定するようにシステムを設定します。

場合によっては、インベントリアイテムに適しているようなアイテムでも、お客様がインベントリアイテムとして扱いたくない場合があります。例えば:

  • お問合せページまたはWebサイトの情報に関するページ。
  • A/Bテストなどに用いる、試験的な利用目的の一時的なページ。

そのような場合は、カスタムのLiftIgniter JSONオブジェクトに[noIndex]のフィールドを作成し、[true]の値を設定します。

<script id="liftigniter-metadata" type="application/json">
{
  ...
  "noIndex" : "true",
  ...
}
</script>

インベントリに含まれていても品質が低いことを理由に、そのアイテムの表示を避けるために[noIndex]のフィールドを使用することは推奨しません。

"noIndex"のフィールドを追加してから、そのアイテムをインベントリから削除するまでには、最大24時間を要することがあります。