Troubleshooting Shopify tests that fail with error code 429 (rate limited)

Shopify rate limits requests from unidentified synthetic testing services, crawlers etc adding Web Bot Auth headers allows permitted requests to identify itself

Tests on Shopify sites will fail with a HTTP 429 (Rate Limited) error unless Web Bot Auth signature headers are added to the test script.

Shopify explain more about Web Bot Auth and how to create the relevant header values in this support article: https://help.shopify.com/en/manual/promoting-marketing/seo/crawling-your-store

Follow the process in the Shopify support article to generate values for Signature-Input and Signature.

Once these values have been generated they'll need to be added to the configuration for each URL being synthetically tested.

The script below is an example of what a simple script might look like for this use-case:

addHeader	Signature-Input:SIGNATURE-INPUT-HEADER-VALUE 	%ORIGIN%/*
addHeader	Signature:SIGNATURE-HEADER-VALUE	%ORIGIN%/*
addHeader	Signature-Agent:"https://shopify.com"	%ORIGIN%/*

navigate	%URL%


Note:

  • SIGNATURE-INPUT-HEADER-VALUE and SIGNATURE-HEADER-VALUE should be replaced with the values generated on Shopify
  • Tabs must be used to separate the command parts
  • %ORIGIN%/* ensures the header is applied to all requests that match the URL being tested domain

For more information on the addHeader command see: https://support.speedcurve.com/docs/synthetic-scripting-guide#addheader



Did this page help you?