# robots.txt for vtex.com # Last updated: 2026-10-28 # Default: allow all crawlers User-agent: * Allow: / # Disallow sensitive and duplicate paths Disallow: /api/ # Social preview images are public, deterministic, and safe for unfurl crawlers. Allow: /api/social-card Disallow: /sign-in Disallow: /sign-up Disallow: /404 Disallow: /documents/*/legal/ Disallow: /documents/en-us/ParadigmB2B_Combine-26_vendor-Enterprise_VTEX.pdf # Block cookies policy PDF from indexing (redirected to compliance.vtex.com) Disallow: /*/trust/cookies-information/ Disallow: /*/trust/platform/cookies-information/ # Sitemaps Sitemap: https://www.vtex.com/sitemap.xml Sitemap: https://www.vtex.com/en-us/sitemap.xml Sitemap: https://www.vtex.com/pt-br/sitemap.xml Sitemap: https://www.vtex.com/es-mx/sitemap.xml # ─── AI crawlers ───────────────────────────────────────────────────────────── # One page, and one page only: the Cybernews statement. It already carries a # noindex, nofollow directive (metadataConfig) as an HTTP header AND as a meta # tag in the head, which keeps it out of Google and Bing. That does nothing # about AI crawlers, which do not index — they ingest — so the directive they # read is Disallow, and until 2026-09-12 ai.txt handed them a blanket # "Allow: /en-us/" that explicitly covered this page. # # THIS BLOCK REPEATS THE GLOBAL RULES ON PURPOSE. In robots.txt a named # user-agent group REPLACES the "*" group for that crawler — it does not # inherit from it. Listing only the Disallow below would have silently handed # these bots /api/, /sign-in and the rest. # # AND THE "*" GROUP DELIBERATELY DOES NOT GET THIS ENTRY. A Disallow stops the # crawl, so Googlebot would never fetch the page and never read the noindex # that de-indexes it — a blocked URL can still surface as a bare link. Disallow # and noindex are alternatives, not layers; see the note above this function. # Each is aimed at the crawler it actually works on. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: Google-Extended User-agent: CCBot User-agent: anthropic-ai User-agent: ClaudeBot User-agent: Claude-User User-agent: Claude-SearchBot User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Bytespider User-agent: cohere-ai User-agent: Applebot-Extended User-agent: meta-externalagent User-agent: Amazonbot Disallow: /en-us/support/announcement/information-regarding-cybernewsarticle Disallow: /api/ Allow: /api/social-card Disallow: /sign-in Disallow: /sign-up Disallow: /404 Disallow: /documents/*/legal/ Disallow: /documents/en-us/ParadigmB2B_Combine-26_vendor-Enterprise_VTEX.pdf Disallow: /*/trust/cookies-information/ Disallow: /*/trust/platform/cookies-information/ # No blanket "Allow: /" here on purpose. Anything not disallowed is already # allowed by default, and a parser that resolves conflicts by precedence rather # than by specificity could read a blanket Allow as overriding the Disallow # above it. The rule is only worth writing if it cannot be misread. # See also: https://www.vtex.com/ai.txt