概要

クーポンの統合に参加するパートナーは、まずは Merchant または Entity(パイロット版)ベースの統合ステップのアカウント設定を完了しておいてください。このガイドでは、クーポン統合の実装、テスト、リリースについて詳しく説明します。統合手順を行う前に、この概要とクーポン ポリシーをお読みください。

オファー

クーポン統合を行うと、特定の時間に特定のサービスに適用される販売者プロモーションや割引に関する構造化された情報を伝えることができます。クーポンは、実際のクーポン(割引率、割引など)、有効期間(特定の時間帯、曜日など)、該当する用途(特定のサービスでのみ利用可能)で構成されます。また、制限の複雑な組み合わせも含まれます。

クーポンの例:

  • 12 月の水曜日と木曜日の午後 12 時~午後 5 時には前菜を半額
  • 午後 6 時~午後 10 時に、母の日ディナーでデザート 1 品ご注文の方にデザートをもう 1 品無料で提供
  • 毎週日曜日の午前 10 時~午後 2 時までブランチ アントレを 500 円引き
  • プレミアム定期購入者の 5% 割引と、アプリ経由で支払うユーザーの 5% 割引を組み合わせた、10% 割引のウォークイン特典。

クーポンを統合に含めるには、Google の資格要件を満たすだけでなく、技術データモデルに適合している必要があります。Google のクーポン ポリシーで、統合がポリシーに準拠していることと、クーポンが技術的要件に合わない場合の対処方法をご確認ください。

クーポンの実装

クーポン統合は、毎日または高い精度を確保する頻度(つまり、鮮度を保つ)でアップロードされる 2 つのフィードで構成されます。

OfferFeed

フィールド名タイプ要件説明
dataオブジェクトの配列
(Offer)

特典

フィールド名タイプ要件説明
offer_id文字列

必須

特典の一意の ID。必須。
entity_ids文字列の配列

この特典に参加している販売者のリスト。
add_on_offer_applicable_to_all_entitiesブール値

true の場合、この特典はアグリゲータのすべてのエンティティに適用されます。アドオン特典にのみ適用されます。
offer_sourceenum
(OfferSource)

必須

特典は、アグリゲータ、個々の販売者、またはアドオンとしてサードパーティから提供されることがあります。必須。
action_typeenum
(ActionType)

必須

特典を提供しているサービス。offer_id は 1 つの action_type にのみ属することができます。特典を複数のサービスタイプで共有できる場合は、サービスタイプごとに一意の ID を持つ重複する特典が作成されることが想定されます。必須。
offer_modesenum
(OfferMode) の配列

必須

特典を利用できる方法(来店、予約、オンラインなど)。必須。
offer_categoryenum
(OfferCategory)

必須

クーポンのカテゴリ。必須。
source_assigned_priority数値

ソースによって割り当てられたオファーの優先度を示す負でない整数([1 ~ 100]、1 は最優先)。同じ販売者に複数の特典が設定されている場合、これは特典のランキングのシグナルになります。0 は優先度が設定されていないことを表します。
offer_detailsobject
(OfferDetails)

必須

割引や予約費用など、特典の詳細。必須。
offer_restrictionsobject
(OfferRestrictions)

必須

特典の制限について説明します。たとえば、定期購入や支払い手段が必要かどうか、この特典を他の特典と組み合わせることができるかどうか(組み合わせることができる場合はその種類)などです。必須。
couponobject
(Coupon)

クーポンの詳細。offer_category: OFFER_CATEGORY_ADD_ON_COUPON_OFFER で必須です。
payment_instrumentobject
(PaymentInstrument)

お支払い方法の詳細。offer_category: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER の場合に必須。
subscriptionobject
(Subscription)

サブスクリプションの詳細。offer_category: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER の場合は必須です。
termsobject
(Terms)

必須

特典の利用規約。 必須。
validity_periodsオブジェクトの配列
(ValidityPeriod)

必須

特典の有効期間。特典が有効な期間(開始時間、終了時間、曜日など)を説明します。必須です。
offer_url文字列

販売者の特典ページの URL。offer_category: OFFER_CATEGORY_BASE_OFFER の場合は必須です。
image_url文字列

販売者のクーポンの画像への URL。

OfferDetails

フィールド名タイプ要件説明
offer_display_text文字列

必須

検索結果ページでお客様に表示するオファー プロバイダのオファー テキスト。必須。
oneOf
(offer_specification)

必須

この oneOf のフィールドは 1 つのみ設定できます。
max_discount_valueobject
(Money)

利用できる最大割引額。例: 10% 割引(最大 100 ドル)。
min_spend_valueobject
(Money)

割引を利用するための最低購入額。たとえば、合計金額が 10, 000 円以上の場合は 10% 割引など。
booking_costobject
(Money)

この特典の予約費用。たとえば、テーブルを $15 で予約すると、最終請求額から $100 割引されます。
booking_cost_unitenum
(FeeUnit)

予約費用の単位。(1 人あたり、1 回の取引あたりなど)。
convenience_feeobject
(Fee)

booking_cost_adjustableブール値

予約料金が調整可能かどうか。つまり、予約料金が最終請求額から差し引かれるかどうか。例: 予約でディナーが 30% オフ。予約料金は $15 で、最終請求額に適用されます。したがって、最終的な請求額は「合計費用 - 30% - $15」となります。
additional_feesオブジェクトの配列
(AdditionalFee)

ユーザーに請求される追加料金。例: 利便性、取り扱いなど。

Money

金額をその通貨タイプで表します。

フィールド名タイプ要件説明
currency_code文字列

ISO 4217 で定義されている 3 文字の通貨コード。
units文字列

金額の整数部分。たとえば、currencyCode"USD" の場合、1 単位は 1 米ドルです。
nanos数値

金額のナノ単位(10 のマイナス 9 乗)の数。値は -999,999,999 以上 +999,999,999 以下でなければなりません。units が正の場合、nanos は正またはゼロでなければなりません。units がゼロの場合、nanos には正数、0、または負数を指定できます。units が負の場合、nanos は負数または 0 を指定します。たとえば、$-1.75 は units = -1、nanos = -750,000,000 と表されます。

手数料

フィールド名タイプ要件説明
unitenum
(FeeUnit)

typeenum
(FeeType)

oneOf
(cost)

この oneOf のフィールドは 1 つのみ設定できます。

MoneyRange

フィールド名タイプ要件説明
min_amountobject
(Money)

max_amountobject
(Money)

AdditionalFee

フィールド名タイプ要件説明
name文字列

必須

追加料金の名前。例: 手数料、事務手数料など。 必須。
feeobject
(Fee)

OfferRestrictions

フィールド名タイプ要件説明
combinable_with_other_offersブール値

この特典を他の特典と併用できるかどうか。 true の場合、パートナーはこの特典を組み合わせることができる特典を指定できます。combinable_offer_categories と combinable_offer_ids の両方が設定されている場合、上記の条件のいずれかに一致する特典は組み合わせ可能です。
combinable_offer_categoriesenum
(OfferCategory) の配列

この特典と組み合わせることができる特典タイプのリスト。たとえば、この特典は他のクーポンと組み合わせることができます。combinable_with_other_offers が true で、このフィールドが設定されていない場合、すべてのタイプを組み合わせることができます。
combinable_offer_ids文字列の配列

この特典と組み合わせることができる offer_id のリスト。一部の特典は、特定の他の offer_ids(親特典と見なすことができます)とのみ組み合わせることができます。combinable_with_other_offers が true で、このフィールドが設定されていない場合、すべての特典 ID を組み合わせることができます。
inclusionsオブジェクトの配列
(OfferCondition)

特典が有効になるために満たす必要のある条件のリスト(例: ノンアルコール飲料、食品)。
exclusionsオブジェクトの配列
(OfferCondition)

特典が無効になる条件のリスト(例: ビュッフェ、セットメニュー、カクテル)。
min_guest数値

特典を利用するために必要な最小人数。
food_offer_restrictionsobject
(FoodOfferRestrictions)

食品特典に固有の制限。

OfferCondition

フィールド名タイプ要件説明
description文字列

FoodOfferRestrictions

フィールド名タイプ要件説明
meal_typesenum
(MealType) の配列

ランチやディナーなど、特典を適用できる食事の種類。設定しない場合、すべての食事タイプに特典を適用できます。
restricted_to_certain_coursesブール値

特典を特定のコースにのみ適用できるかどうか。

クーポン

フィールド名タイプ要件説明
text文字列

特典プロバイダがユーザーに表示したいクーポンのテキスト。
code文字列

必須

特典を利用するために必要なクーポンコード。 必須。

PaymentInstrument

フィールド名タイプ要件説明
itemsオブジェクトの配列
(PaymentInstrumentItem)

必須

特典を利用するために使用できる支払い手段のリスト。必須。
provider_name文字列

必須

支払い方法プロバイダの名前。銀行パートナー、銀行名など。例: American Express、HDFC、ICICI。必須。

PaymentInstrumentItem

フィールド名タイプ要件説明
typeenum
(PaymentInstrumentType)

必須

支払い手段のタイプ。必須。
name文字列

必須

クレジット カードの名前など、支払い方法アイテムの名前。例: HDFC Infinia、American Express Platinum。必須。

サブスクリプション

フィールド名タイプ要件説明
name文字列

必須

サブスクリプションの名前。必須。
subscription_auto_addedブール値

ユーザーがこの特典を利用したときに定期購入が自動的に追加されるかどうか
costobject
(Money)

必須

定期購入の費用。必須。
subscription_durationobject
(Duration)

必須

subscription_cost で定期購入が有効な期間。必須。
terms_and_conditions_url文字列

この定期購入に関連するパートナーの利用規約の URL。

所要時間

フィールド名タイプ要件説明
seconds文字列

期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。
nanos数値

期間の符号付き小数以下の秒数(ナノ秒単位)。1 秒未満の期間は、0 の seconds フィールドと正または負の nanos フィールドで表されます。1 秒以上の期間の場合、nanos フィールドのゼロ以外の値は seconds フィールドと同じ符号にする必要があります。-999,999,999 ~+999,999,999 の範囲(両端を含む)にする必要があります。

利用規約

フィールド名タイプ要件説明
url文字列

パートナーの利用規約の URL。
restricted_to_certain_usersブール値

特典が特定のユーザーに限定されているかどうか。
terms_and_conditions文字列

パートナーが提供する主な利用規約のテキスト。
additional_terms_and_conditions文字列の配列

パートナーの主な利用規約に加えて適用される利用規約。

ValidityPeriod

フィールド名タイプ要件説明
valid_periodobject
(ValidityRange)

特典が有効な開始タイムスタンプと終了タイムスタンプ。これらの時間は異なる日を表す必要があります。つまり、開始時間は 00:00(1 日の始まり)、終了時間は有効期間が終了する日の 00:00(含まない)である必要があります。
time_of_dayオブジェクトの配列
(TimeOfDayWindow)

特定の日における有効な時間帯と、特典を利用できる曜日を指定します。例: 月曜日: 午前 10 時~午後 5 時 火曜日: 午前 10 時~午後 2 時 火曜日: 午後 5 時~午後 7 時 水曜日、木曜日、金曜日、土曜日、日曜日: 午後 3 時~午後 7 時 設定されていない場合、特典は valid_period 内のすべての時間帯で利用可能です。
time_exceptionsオブジェクトの配列
(ValidTimeException)

上記の valid_period と valid_time_of_week の例外を指定します

ValidityRange

左閉右開のタイムスタンプ範囲。

フィールド名タイプ要件説明
valid_from_timeobject
(Timestamp)

必須

範囲の開始時間(この時間を含む)。必須。
valid_through_timeobject
(Timestamp)

範囲の終了時間(この時間は含まれません)。設定されていない場合、この期間は終了しないことを意味します。省略可。

タイムスタンプ

フィールド名タイプ要件説明
seconds文字列

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。0001-01-01T00:00:00Z から 9999-12-31T23:59:59Z の範囲(両端を含む)にする必要があります。
nanos数値

非負の小数以下の秒数(ナノ秒単位)。秒の値が負であり、小数点以下を含む場合でも nanos 値は非負である必要があります。この場合 nanos の値は時間を前方にカウントします。0 ~ 999,999,999 の範囲(両端を含む)になります。

TimeOfDayWindow

TimeWindow オブジェクトは、ユーザーの注文を確定または履行できる期間のリストを記述する複合エンティティです。

フィールド名タイプ要件説明
time_windowsobject
(TimeOfDayRange)

必須

注文の受付/履行が可能な時間帯。必須。
day_of_weekenum
(DayOfWeek) の配列

ウィンドウが適用される曜日のリスト。設定されていない場合は、すべての曜日に適用されます。省略可。

TimeOfDayRange

左閉右開の時間帯。

フィールド名タイプ要件説明
open_timeobject
(TimeOfDay)

期間の開始時刻を示す Time(この時刻を含む)。設定しない場合、00:00:00 になります。省略可。
close_timeobject
(TimeOfDay)

範囲の終了時刻(含まれない)を示す Time。設定されていない場合は、23:59:59 を意味します。省略可。

TimeOfDay

フィールド名タイプ要件説明
hours数値

1 日の時間(24 時間形式)。0 以上にする必要があります。通常は 23 以下にする必要があります。API ではビジネスの終了時間などのシナリオにおいて、値 "24:00:00" を許可することもできます。
minutes数値

1 時間の分。0 以上 59 以下の値を指定する必要があります。
seconds数値

1 分の秒数。0 以上にする必要があります。通常は 59 以下にする必要があります。API がうるう秒を許可する場合、値 60 が許可されます。
nanos数値

秒の小数部分(ナノ秒単位)。0 以上 999,999,999 以下にする必要があります。

ValidTimeException

フィールド名タイプ要件説明
exceptional_periodobject
(ValidityRange)

特典が無効になる開始タイムスタンプと終了タイムスタンプ。これらの時間は異なる日を表す必要があります。つまり、開始時間は 00:00(1 日の始まり)で、終了時間は例外期間が終了する日の 00:00(除外)である必要があります。

OfferSource

名前説明
OFFER_SOURCE_UNSPECIFIED
OFFER_SOURCE_AGGREGATOR

ActionType

名前説明
ACTION_TYPE_UNSPECIFIED
ACTION_TYPE_DINING

OfferMode

名前説明
OFFER_MODE_OTHER
OFFER_MODE_WALK_IN
OFFER_MODE_FREE_RESERVATION
OFFER_MODE_PAID_RESERVATION
OFFER_MODE_ONLINE_ORDER

OfferCategory

特典のカテゴリ。基本特典は、すべてのユーザーが利用できる標準の特典です($100 以上のご利用で 10% 割引など)。クーポンまたは支払い方法によって制限されている基本特典には、それぞれのフィールドが設定されます。また、ADD_ON_PAYMENT_OFFER などのアドオン x オファーもあります。このような特典は、他の特典に追加して、追加の割引を受けることができます。

名前説明
OFFER_CATEGORY_UNSPECIFIED
OFFER_CATEGORY_BASE_OFFER
OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER
OFFER_CATEGORY_ADD_ON_COUPON_OFFER
OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER

FeeUnit

名前説明
FEE_UNIT_UNSPECIFIED
FEE_UNIT_PER_GUEST
FEE_UNIT_PER_TRANSACTION

FeeType

名前説明
FEE_TYPE_UNSPECIFIED
FEE_TYPE_FIXED
FEE_TYPE_VARIABLE

MealType

名前説明
MEAL_TYPE_UNSPECIFIED
MEAL_TYPE_BREAKFAST
MEAL_TYPE_LUNCH
MEAL_TYPE_DINNER

PaymentInstrumentType

名前説明
PAYMENT_INSTRUMENT_TYPE_UNSPECIFIED
PAYMENT_INSTRUMENT_CREDIT_CARD
PAYMENT_INSTRUMENT_DEBIT_CARD
PAYMENT_INSTRUMENT_BANK_ACCOUNT
PAYMENT_INSTRUMENT_UPI
PAYMENT_INSTRUMENT_ONLINE_WALLET

DayOfWeek

曜日を表します。

名前説明
DAY_OF_WEEK_UNSPECIFIED曜日は指定されていません。
MONDAY月曜日
TUESDAY火曜日
WEDNESDAYWednesday
THURSDAY木曜日
FRIDAY金曜日
SATURDAY土曜日
SUNDAY日曜日

offer_specification

割引は、総額から差し引かれる割合または固定値にできます。次に例を示します。 1. 最終請求額から 10% 割引されます。2. 注文が $15 オフになります。販売者は、関連する仕様フィールドで「1 つ購入すると 1 つ無料」などのカスタム割引を提供することもできます。必須。

フィールド名タイプ要件説明
discount_percent数値

discount_valueother_offer_detail_text とは相互に排他的です

請求額の割引率。[0, 100] 食事全体に適用される 1+1 または 50% オフの特典(1+1 ビュッフェ、1+1 の請求額全体、1+1 のセットメニューなど)の場合、この値は 50 に設定できます。
discount_valueobject
(Money)

discount_percentother_offer_detail_text とは相互に排他的です

割引の固定値。
other_offer_detail_text文字列

discount_percentdiscount_value とは相互に排他的です

割引を説明する自由形式のテキスト。特定の 1+1 の特典(1+1 ドリンク、+1 メインコース、1+1 の選択メニューなど)については、ここに詳細を記載する必要があります。

費用

フィールド名タイプ要件説明
amountobject
(Money)

amount_range とは相互に排他的です

amount_rangeobject
(MoneyRange)

amount とは相互に排他的です

フィードのアップロード

クーポン フィードは、Generic フィード SFTP サーバーにアップロードする必要があります。手順については、汎用フィード SFTP サーバーの使用方法についてのチュートリアルを参照し、記述子ファイルで namegoogle.offer に設定します。

アップロードの頻度

通常、Google では 1 日に 1 回のフィードのアップロードを想定しています。精度を常に高く保つため、貴社の側で特典を更新する頻度に応じて、アップロードの頻度を増減させることができます。Google の担当者にご相談ください。

データが Google に表示されるまでには数時間かかります。

クーポンのカテゴリ分け

  • OFFER_CATEGORY_BASE_OFFER: 他の特典と組み合わせずに単独で利用できる特典。これには、次のものが含まれます。
    • 請求額全体に対する一律割引(例: 20% オフ)
    • 定期購入の特典(例: メンバーシップで無料のデザート)
    • レストランに他のベース オファーがない場合の支払い特典
  • アドオン特典: 基本特典の利用を必要とする特典。これには、次の操作が含まれます。
    • OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER(例: 特定のクレジット カードでさらに 10% オフ)
    • OFFER_CATEGORY_ADD_ON_COUPON_OFFER(例: 特定のクーポン コードでドリンク 1 杯無料)
    • OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER(例: (定期購入者はさらに 10% オフ)

その他の考慮事項:

  • レストランに基本特典が設定されていない場合、アドオン特典は表示されません。ベース特典がない場合、別の特典に追加しなくても利用できるお支払い特典、定期購入特典、クーポン特典は OFFER_CATEGORY_BASE_OFFER としてタグ付けする必要があります。
    • タイプに応じて、PaymentInstrumentSubscription、または Coupon の関連データを設定する必要があります。
    • パートナーは、ベースプランとアドオン プランの両方として機能するシナリオに対応するため、これらの各プランを 2 つずつ提供する必要があります。その後、entity_ids または add_on_offer_applicable_to_all_entities を使用して、複数のレストランに対してアドオン オファーのコピーを設定できます。
  • 複数の基本特典を組み合わせることができる場合、すべての基本特典に OFFER_CATEGORY_BASE_OFFER のタグを付け、支払い、サブスクリプション、クーポン特典の基本特典は、関連するアドオン特典タイプとして別途送信する必要があります。
  • ValidityPeriod は、有効なベース オファーがない場合にのみ、アドオン オファーをベース オファーとして有効にするために使用する必要があります。

シナリオ例:

  • 特定のクレジットカードで支払うと 5% 割引、特定のクーポンコードで無料のドリンクが提供されるレストラン

    • クレジット カードの 5% 割引特典は、OFFER_CATEGORY_BASE_OFFEROFFER_CATEGORY_ADD_ON_PAYMENT_OFFER のタグを付けた 2 つのコピーを送信し、PaymentInstrument の詳細を含める必要があります。
    • クーポンコード付きのドリンク無料特典は、Coupon の詳細を含めて OFFER_CATEGORY_ADD_ON_COUPON_OFFER として送信する必要があります。
  • レストランで、予約なしで来店した場合は 10% 割引、特定のクレジットカードで支払った場合は 5% 割引が適用され、両方を組み合わせることもできます。

    • 10% のウォークイン特典は OFFER_CATEGORY_BASE_OFFER としてタグ付けする必要があります。
    • クレジット カードの 5% オフ特典は 2 つのコピーを用意し、1 つは OFFER_CATEGORY_BASE_OFFER、もう 1 つは OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER としてタグ付けする必要があります。
  • レストランでは、平日のランチのみ 10% 割引、特定のクレジットカードで支払うといつでも 5% 割引になります。

    • 10% オフの特典には、ValidityPeriod を設定して、平日のランチタイムのみに適用されるようにする必要があります。
    • クレジット カードの 5% 割引特典は 2 部送付する必要があります。
      • 1 つのコピーには、PaymentInstrument の詳細を含めて OFFER_CATEGORY_BASE_OFFER のタグを付ける必要があります。ランチ 10% 割引が有効な場合は、平日のランチタイムを除外するように ValidityPeriod を設定する必要があります
      • 1 つのコピーには、PaymentInstrument の詳細を含めて OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER のタグを付ける必要があります。
    • このレストランの他のすべての支払い特典には、OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER のタグを付ける必要があります。

開発とリリースのプロセス

統合の過程において、パートナー ポータルでは開発ごとに情報やフィードバックが提供されます。開発プロセスは次の流れになります。

  • 統合は最初にサンドボックス環境で開発されます。Google サンドボックス環境では、本稼働環境のエクスポートを(または本稼働環境データを直接)使用する必要があります。これにより、開発段階ですべてのエッジケースを検出することができます。また、Google によりデータ品質が評価され、データモデルに基づいた適切な支援を受けることができるようになります。
  • Google サンドボックス環境で販売者、サービス、クーポンの完全なフィードを毎日定期的にアップロードすると、Google チームによる評価が行われます。Google チームにより承認されると、コードを本稼働環境にプッシュし、本稼働環境データを Goolge の本稼働環境に送信できるようになります。
  • 本稼働環境の統合を完全にテストした後、Google チームによってもテストされます。すべてのテストが完了すると、統合が開始されます。

モニタリング

ユーザー エクスペリエンスを向上させるため、Google は、提供された特典が有効で正確であり、ポリシーの基準を満たしていることを、リリース前とリリース後に確認します。そのため、Google は人間による審査と自動システムによる審査を組み合わせて使用します。これらの審査の結果は、アクション センターの提案ダッシュボード(本番環境のみ)で確認できます。このモニタリングの結果は、提案のランキングに影響する可能性があります。

自動チェック(クローラー)

Google の品質チームがクローラーを実装します。クローラーは、ウェブブラウザを自動化してクリックを実行し、品質テストのみを目的として特典情報を抽出するスクリプトです。

クエリ数

たとえば、1 日に 5,000 回のチェックを送信することにした場合、1 日に 5,000 回(1 日を通して均等に分散、つまり約 17 秒に 1 回)、クローラーは通常のユーザーが行う次のすべてのアクションを実行します。

  • Google 検索からパートナー リンクをクリックします。
  • 特典情報を探します。
  • 予約が必要な場合は、予約フローに進み、指定した時間に特典を利用できるかどうかを確認します(予約は行われません)。

ウェブ スクレイパーの検出

ウェブ スクレイパーが禁止されないように(禁止されると、ウェブ スクレイパーは特典を利用できないと判断する可能性があります)、システムでウェブ スクレイパーがいつでもページをクエリできるようにしてください。ウェブ スクレイパーを特定するには:

  • ウェブ スクレイパーの User-Agent には「Google-Offers」という文字列が含まれます。
    • 例: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google-Offers) Chrome/104.0.5112.101 Safari/537.36
  • また、「クローラーが Googlebot などの Google クローラーであることを確認する」で推奨されているように、リバース DNS を使用して、呼び出しが Google からのものであるかどうかを確認することもできます。この特定のケースでは、リバース DNS 解決は google-proxy-***-***-***-***.google.com のパターンに従います。

技術的な動作

キャッシュ

パートナーのウェブサイトの負荷を軽減するため、Google のクローラーは通常、レスポンスに含まれる標準の HTTP キャッシュ保存ヘッダーをすべて尊重するように構成されています。つまり、正しく設定されたウェブサイトでは、変更がほとんどないコンテンツ(JavaScript ライブラリなど)を繰り返し取得することを回避できます。キャッシュ保存の実装方法について詳しくは、HTTP キャッシュ保存のドキュメントをご覧ください。