Short description of issue
On our collection pages, the product grid/facets are updated by JavaScript by fetching a Liquid-rendered section (?section_id=…) and replacing parts of the DOM. On initial page load, users see a loader/skeleton first and the full product grid appears after JS runs. We’re concerned some crawlers may not execute JS reliably, so important content might not be fully seen for SEO.
Reproduction steps
Reproduction steps:
-
Open a collection page with JavaScript disabled (or simulate a crawler).
-
Initial HTML mainly shows loader/skeleton (or incomplete content).
-
Product grid only appears after JS fetches the section HTML and injects it.
Additional info
Questions:
-
Can Shopify themes/Liquid access request headers (like User-Agent) to detect Googlebot/Bingbot and conditionally render server-side HTML?
-
If theme/Liquid can’t read User-Agent, what’s the recommended Shopify-native approach to keep collection content crawlable?
-
If bot detection must happen outside Shopify (CDN/edge/app proxy), what’s the recommended method to verify a “real” Googlebot vs a spoofed user agent?
What type of topic is this
Troubleshooting