連携方法
CSS Selectorを推奨します。商品情報をHTMLに表示していないサイトでは、JSON-LDやJavaScript変数のほうが安定します。以下は推奨順です。
CSS Selector(推奨)
ページのHTMLに<a id="product_no">PerfittShoe</a>のようなタグがあれば、CSS Selectorとして#product_noを記入します。Perfittはその要素のテキストを読み、<input>は値を、<img>は画像URLを読みます。セレクタをカンマ区切りで複数書くと、先に見つかったものを使います。
セレクタの書き方はMDN CSSセレクターを参照してください。
一致する領域がないため、読み取る値がありません。
商品ページの構造が変わるとセレクタが壊れます。サイトをリニューアルする際は、事前にPerfitt担当者にお知らせください。
JSON-LD(schema.org)
検索エンジン向けに<script type="application/ld+json">を入れているサイトは多くあります。その中の最上位のキー名(sku、name、imageなど)を記入すると、Perfittが値を読みます。ページデザインが変わっても壊れにくい方法です。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"sku": "PerfittShoe",
"name": "パーフェクトフィット ニットブースト ワン",
"image": "https://shop.example.com/images/perfitt-shoe.jpg"
}
</script>brandのように値がオブジェクト({ "name": "..." })のキーは、そのままでは読めません。そのような項目は別の方法を使うか、担当者にご相談ください。
JavaScript変数・関数(window)
ページのスクリプトがグローバル変数に商品情報を持っている場合、変数名とその中のキーを記入します。下の例ではproductInfoとidです。値が変数そのものなら変数名だけを記入します。
グローバル関数が値を返す場合(例:window.getProductId())は関数名を記入します。返された値は文字列として使います。
window.productInfo = {
id: 'PerfittShoe',
brand: 'PERFITT',
name: 'パーフェクトフィット ニットブースト ワン',
};URLクエリ
ページのURLがhttps://shop.example.com/product?product_no=PerfittShoeなら、キー名としてproduct_noを記入します。
ブラウザストレージ(localStorage · sessionStorage · Cookie)
ページがブラウザストレージに値を保存している場合、そのキー名を記入します。保存された値がJSONなら、内側のキーまで指定して1階層下の値を読めます。Cookieの場合はCookie名を記入します。開発者ツールのApplicationタブでは次のように見えます。
| Key | Value |
|---|---|
| product_no | PerfittShoe |
| product_name | パーフェクトフィット ニットブースト ワン |
固定値(VALUE)
ページから読み取れない項目は固定値として設定します。例えば単一ブランドのサイトは商品ページにブランド名がないため、brand項目をPERFITTのような固定値にします。
値の描画が遅いページ
商品情報をJavaScriptで後から描画するサイトでは、ページを開いた直後に値がないことがあります。そのような項目にはPerfittが待機時間(通常5秒)を設定し、0.5秒ごとに読み直します。待機時間を過ぎても値がなければ、その項目は空のまま進みます。描画が遅い項目があれば担当者にお知らせください。さらに遅い場合は手動実行モードで値を直接渡すほうが確実です。
サイズ選択の領域(任意)
商品ページのサイズ選択領域(セレクトボックスやサイズボタン)のCSS Selectorを教えていただくと、Perfittがその商品の販売サイズと在庫切れの有無も読み取ります。推薦サイズを実際に販売しているサイズの範囲内に限定し、在庫切れのサイズを除外するために使います。
- サイズ選択領域のCSS Selector(例:
.product-size-options li) - 在庫切れサイズの表し方(例:クラス
.sold-out)