User-agent: * Disallow: /admin Disallow: /cart # Robots paths are prefix-anchored, so a bare "Disallow: /cart" misses the # locale-prefixed variant (/en-de/cart). Same for /account and /search below. Disallow: /*/cart Disallow: /orders Disallow: /checkouts/ Disallow: /checkout Disallow: /95457116505/checkouts Disallow: /95457116505/orders Disallow: /carts # Discount links 302 to the target page and set the code as a cookie. Keep them # out of the index so a shared code can't be found via search. Disallow: /discount/ Disallow: /*/discount/ Disallow: /account Disallow: /*/account Disallow: /collections/*sort_by* Disallow: /*/collections/*sort_by* Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /*/collections/*+* Disallow: /*/collections/*%2B* Disallow: /*/collections/*%2b* Disallow: */collections/*filter*&*filter* # Hydrogen faceted-nav + cursor pagination params (brand/category pages). These # already canonical to the clean page — block the crawl of the combinatorial # filter/pagination URL explosion so it can't waste crawl budget (see the SG bot # hammering /brands/*?filter-category=…&cursor=…). Clean, param-free URLs stay crawlable. Disallow: /*?*filter- Disallow: /*?*cursor= # Storefront search tracking params (urlWithTrackingParams in app/lib/search.ts appends # them to every result link), so each click target is its own crawlable URL. They canonical # to the clean product page; block the crawl so it can't waste crawl budget. _psid and _psq # need their own lines — robots patterns match literally, _sid= does not cover _psid=. Disallow: /*?*_pos= Disallow: /*?*_sid= Disallow: /*?*_psid= Disallow: /*?*_psq= Disallow: /*?*_ss= Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*/blogs/*+* Disallow: /*/blogs/*%2B* Disallow: /*/blogs/*%2b* Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* # No trailing slash: the prefix has to cover the /policies index page too, not # just /policies/ — the index links every policy, so leaving it crawlable # is what lets Google discover (and URL-only index) the blocked children. Disallow: /policies Disallow: /*/policies Disallow: /*/*?*ls=*&ls=* Disallow: /*/*?*ls%3D*%3Fls%3D* Disallow: /*/*?*ls%3d*%3fls%3d* Disallow: /search Allow: /search/ Disallow: /search/?* Disallow: /*/search Disallow: /apple-app-site-association Disallow: /.well-known/shopify/monorail Sitemap: https://soohotrightnow.com/sitemap.xml # Google adsbot ignores robots.txt unless specifically named! A crawler obeys only # the most specific group that matches it, so this one inherits nothing from "*" — # it has to repeat the rules. Shopify's default lists the checkout paths alone, # which left adsbot free to crawl the faceted-nav/search-param URL explosion the # "*" group above blocks. The general set is a superset of those checkout paths, # and it blocks no ad landing page (feed links are param-free product URLs). User-agent: adsbot-google Disallow: /admin Disallow: /cart # Robots paths are prefix-anchored, so a bare "Disallow: /cart" misses the # locale-prefixed variant (/en-de/cart). Same for /account and /search below. Disallow: /*/cart Disallow: /orders Disallow: /checkouts/ Disallow: /checkout Disallow: /95457116505/checkouts Disallow: /95457116505/orders Disallow: /carts # Discount links 302 to the target page and set the code as a cookie. Keep them # out of the index so a shared code can't be found via search. Disallow: /discount/ Disallow: /*/discount/ Disallow: /account Disallow: /*/account Disallow: /collections/*sort_by* Disallow: /*/collections/*sort_by* Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /*/collections/*+* Disallow: /*/collections/*%2B* Disallow: /*/collections/*%2b* Disallow: */collections/*filter*&*filter* # Hydrogen faceted-nav + cursor pagination params (brand/category pages). These # already canonical to the clean page — block the crawl of the combinatorial # filter/pagination URL explosion so it can't waste crawl budget (see the SG bot # hammering /brands/*?filter-category=…&cursor=…). Clean, param-free URLs stay crawlable. Disallow: /*?*filter- Disallow: /*?*cursor= # Storefront search tracking params (urlWithTrackingParams in app/lib/search.ts appends # them to every result link), so each click target is its own crawlable URL. They canonical # to the clean product page; block the crawl so it can't waste crawl budget. _psid and _psq # need their own lines — robots patterns match literally, _sid= does not cover _psid=. Disallow: /*?*_pos= Disallow: /*?*_sid= Disallow: /*?*_psid= Disallow: /*?*_psq= Disallow: /*?*_ss= Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*/blogs/*+* Disallow: /*/blogs/*%2B* Disallow: /*/blogs/*%2b* Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* # No trailing slash: the prefix has to cover the /policies index page too, not # just /policies/ — the index links every policy, so leaving it crawlable # is what lets Google discover (and URL-only index) the blocked children. Disallow: /policies Disallow: /*/policies Disallow: /*/*?*ls=*&ls=* Disallow: /*/*?*ls%3D*%3Fls%3D* Disallow: /*/*?*ls%3d*%3fls%3d* Disallow: /search Allow: /search/ Disallow: /search/?* Disallow: /*/search Disallow: /apple-app-site-association Disallow: /.well-known/shopify/monorail User-agent: Nutch Disallow: / User-agent: AhrefsBot Crawl-delay: 10 Disallow: /admin Disallow: /cart # Robots paths are prefix-anchored, so a bare "Disallow: /cart" misses the # locale-prefixed variant (/en-de/cart). Same for /account and /search below. Disallow: /*/cart Disallow: /orders Disallow: /checkouts/ Disallow: /checkout Disallow: /95457116505/checkouts Disallow: /95457116505/orders Disallow: /carts # Discount links 302 to the target page and set the code as a cookie. Keep them # out of the index so a shared code can't be found via search. Disallow: /discount/ Disallow: /*/discount/ Disallow: /account Disallow: /*/account Disallow: /collections/*sort_by* Disallow: /*/collections/*sort_by* Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /*/collections/*+* Disallow: /*/collections/*%2B* Disallow: /*/collections/*%2b* Disallow: */collections/*filter*&*filter* # Hydrogen faceted-nav + cursor pagination params (brand/category pages). These # already canonical to the clean page — block the crawl of the combinatorial # filter/pagination URL explosion so it can't waste crawl budget (see the SG bot # hammering /brands/*?filter-category=…&cursor=…). Clean, param-free URLs stay crawlable. Disallow: /*?*filter- Disallow: /*?*cursor= # Storefront search tracking params (urlWithTrackingParams in app/lib/search.ts appends # them to every result link), so each click target is its own crawlable URL. They canonical # to the clean product page; block the crawl so it can't waste crawl budget. _psid and _psq # need their own lines — robots patterns match literally, _sid= does not cover _psid=. Disallow: /*?*_pos= Disallow: /*?*_sid= Disallow: /*?*_psid= Disallow: /*?*_psq= Disallow: /*?*_ss= Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*/blogs/*+* Disallow: /*/blogs/*%2B* Disallow: /*/blogs/*%2b* Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* # No trailing slash: the prefix has to cover the /policies index page too, not # just /policies/ — the index links every policy, so leaving it crawlable # is what lets Google discover (and URL-only index) the blocked children. Disallow: /policies Disallow: /*/policies Disallow: /*/*?*ls=*&ls=* Disallow: /*/*?*ls%3D*%3Fls%3D* Disallow: /*/*?*ls%3d*%3fls%3d* Disallow: /search Allow: /search/ Disallow: /search/?* Disallow: /*/search Disallow: /apple-app-site-association Disallow: /.well-known/shopify/monorail Sitemap: https://soohotrightnow.com/sitemap.xml User-agent: AhrefsSiteAudit Crawl-delay: 10 Disallow: /admin Disallow: /cart # Robots paths are prefix-anchored, so a bare "Disallow: /cart" misses the # locale-prefixed variant (/en-de/cart). Same for /account and /search below. Disallow: /*/cart Disallow: /orders Disallow: /checkouts/ Disallow: /checkout Disallow: /95457116505/checkouts Disallow: /95457116505/orders Disallow: /carts # Discount links 302 to the target page and set the code as a cookie. Keep them # out of the index so a shared code can't be found via search. Disallow: /discount/ Disallow: /*/discount/ Disallow: /account Disallow: /*/account Disallow: /collections/*sort_by* Disallow: /*/collections/*sort_by* Disallow: /collections/*+* Disallow: /collections/*%2B* Disallow: /collections/*%2b* Disallow: /*/collections/*+* Disallow: /*/collections/*%2B* Disallow: /*/collections/*%2b* Disallow: */collections/*filter*&*filter* # Hydrogen faceted-nav + cursor pagination params (brand/category pages). These # already canonical to the clean page — block the crawl of the combinatorial # filter/pagination URL explosion so it can't waste crawl budget (see the SG bot # hammering /brands/*?filter-category=…&cursor=…). Clean, param-free URLs stay crawlable. Disallow: /*?*filter- Disallow: /*?*cursor= # Storefront search tracking params (urlWithTrackingParams in app/lib/search.ts appends # them to every result link), so each click target is its own crawlable URL. They canonical # to the clean product page; block the crawl so it can't waste crawl budget. _psid and _psq # need their own lines — robots patterns match literally, _sid= does not cover _psid=. Disallow: /*?*_pos= Disallow: /*?*_sid= Disallow: /*?*_psid= Disallow: /*?*_psq= Disallow: /*?*_ss= Disallow: /blogs/*+* Disallow: /blogs/*%2B* Disallow: /blogs/*%2b* Disallow: /*/blogs/*+* Disallow: /*/blogs/*%2B* Disallow: /*/blogs/*%2b* Disallow: /*?*oseid=* Disallow: /*preview_theme_id* Disallow: /*preview_script_id* # No trailing slash: the prefix has to cover the /policies index page too, not # just /policies/ — the index links every policy, so leaving it crawlable # is what lets Google discover (and URL-only index) the blocked children. Disallow: /policies Disallow: /*/policies Disallow: /*/*?*ls=*&ls=* Disallow: /*/*?*ls%3D*%3Fls%3D* Disallow: /*/*?*ls%3d*%3fls%3d* Disallow: /search Allow: /search/ Disallow: /search/?* Disallow: /*/search Disallow: /apple-app-site-association Disallow: /.well-known/shopify/monorail Sitemap: https://soohotrightnow.com/sitemap.xml User-agent: MJ12bot Crawl-Delay: 10 User-agent: Pinterest Crawl-delay: 1