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-VALUEandSIGNATURE-HEADER-VALUEshould 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
Updated about 7 hours ago