ストアをクロールする

公開されている Shopify のオンラインストアに独自のクローラー、スクリプト、またはツールがアクセスできるようにするには、Web Bot Auth を使用して安全に承認することができます。Web Bot Auth は、Shopify の管理画面で生成される HTTP メッセージ署名に依存しています。リクエストが承認されたソースからのものであることを検証できるように、各リクエストの HTTP ヘッダーに署名を含める必要があります。

アクセシビリティや SEO 監査、自動テスト、データ分析、および類似のユースケースのためにオンラインストアにアクセスする、自動化されたファーストパーティまたは外部サービスのツールで署名を使用できます。署名がなくても、検索エンジンや大規模言語モデル (LLM) によってストアはインデックスに登録されます。

署名の機能

署名には以下の特徴があります。

  • 安全な認証: クローラー用に暗号学的に安全な署名を生成できます。
  • 有効期限の管理: 署名が特定の期間後に期限切れになるよう設定できます。最大期間は 3 か月です。
  • 一元管理: すべての署名を 1 か所で管理および表示できます。
  • カスタム命名: 各署名を識別するためにカスタム名を付けることができます。
  • ドメインのスコープ設定: 各署名は、Shopify ストアに接続されている特定のドメインに対して使用されます。

署名を作成する際の考慮事項

署名を作成して使用する前に、以下の考慮事項を確認してください。

  • 署名を使用したストアのクロールは、オンラインストアフロントの分析のみを目的としています。チェックアウトには追加のセキュリティレイヤーが設けられているため、署名によって Shopify Checkout へのアクセスが許可されることはありません。
  • 署名には、明確でわかりやすい名前を使用してください。
  • 署名は自動的に失効し、更新することはできません。署名が失効した後は、新しい署名を作成してツールを更新してください。
  • 各署名は 1 つのドメインで使用されるため、接続されているどのドメインで署名を使用するかを指定する必要があります。Shopify に接続されているドメインのみを選択できます。

署名を作成する

署名は、管理画面で直接作成および管理できます。

  1. 管理画面から、[オンラインストア] > [各種設定] の順に移動します。

  2. [クローラーアクセス] セクションで、[署名を作成] をクリックします。

  3. [名前] フィールドに、署名のわかりやすい名前を入力します。

  4. [ドメイン] フィールドで、この署名を使用するドメインを選択します。

  5. [有効期間] セクションで、署名の有効期限を選択します。

  6. [作成] をクリックします。

  7. 任意:新しく作成した Signature-InputSignature の値をコピーするには、それぞれの値の横にある [コピー] をクリックします。

署名は有効期限が切れると無効になります。有効期限が切れた署名を更新することはできませんが、新しく作成することはできます。

リクエストに署名を追加する

署名をコピーして、リクエストの HTTP ヘッダーに追加できます。各署名は、含める必要がある 3 つの HTTP ヘッダーで構成されます。

署名を使用してクローラーのリクエストを認証するために必要な HTTP ヘッダー名と値
ヘッダー名ヘッダーの値
Signature-Input署名インプットの値を追加します。
Signature署名の値を追加します。
Signature-AgentSignature-Agent の値は、エージェントの有効な URI を含む文字列です。この値には、"https://shopify.com" (引用符を含む) を使用します。

カスタムヘッダーを追加する手順については、以下のドキュメントを参照してください。

署名を表示する

管理画面で、既存の署名に関する以下の情報を表示できます。

  • 署名名
  • 関連付けられているドメイン
  • Signature-InputSignature の値の最初の数文字
  • Signature-Agent の値
  • 署名の有効期限とステータス
  1. 管理画面から、[オンラインストア] > [各種設定] の順に移動します。

  2. クローラーへのアクセスセクションで、署名に関する情報を確認します。

署名のトラブルシューティング

署名に関する問題を選択し、トラブルシューティングの手順に従ってください。

認証に関する問題のトラブルシューティング

クローラーでレート制限エラーが発生する場合、署名は有効ではありません。以下の情報を確認してください。

  • HTTP ヘッダーで正しい署名形式を使用していることを確認します。
  • すべてのリクエストで、Signature-InputSignatureSignature-Agent の各ヘッダーが送信されていることを確認してください。
  • 署名の有効期限が切れていないことを確認します。管理画面で有効期限を確認してください。
  • 署名に関連付けられているドメインをクロールします。
紛失した署名を復元する

署名を紛失した場合は、以下の手順を実行して復元できます。

  1. 管理画面から、[オンラインストア] > [各種設定] の順に移動します。
  2. [クローラーアクセス] セクションで、リストから署名を見つけます。
  3. コピーをクリックして、Signature-InputSignature、および Signature-Agent の値をクリップボードにコピーします。
署名の有効期限を変更する

作成後に署名の有効期限を変更することはできません。別の有効期限を設定するには、希望する有効期限で新しい署名を作成し、新しい署名を使用するようにサービスを更新します。

古い署名は引き続き有効で、元の有効期限まで機能し続けます。