User-agent: * Allow: / Allow: /pricing Allow: /articles Allow: /articles/ # Research feed — aggregators and readers must be able to reach it, and the # catch-all Disallow rules below are prefix matches. Allow: /feed.xml Allow: /rss.xml Allow: /feed Allow: /llms.txt Allow: /llms-full.txt # Keep static assets crawlable — the favicon is what Google uses for the # search-result icon, and the catch-all `Disallow: /*?*` below would otherwise # block any versioned (?v=) asset (favicon, CSS, JS) from Googlebot. Allow: /static/ # SHARE URLS CARRY QUERY STRINGS (found 2026-08-13, the X card that never # rendered): every link the rollout distributes is utm-tagged, and the # catch-all `Disallow: /*?*` below blocked Twitterbot from crawling exactly # those URLs — so a shared paper could not produce its card. Longest-match # wins under Google-style robots matching, so these carve the public reading # surfaces (with or without query) out of the catch-all while everything the # catch-all actually protects stays blocked. Allow: /research Allow: /research/ Allow: /research/*?* Allow: /articles/*?* # `Allow: /?*` USED TO SIT HERE AND DID NOTHING (2026-09-08). Google picks the # LONGEST matching rule: /?* is three characters, `Disallow: /*?*` below is four, # so the catch-all won and Search Console reported /?ref=producthunt blocked with # /*?* named as the rule. Campaign and share links land on the ROOT, and the root # with a query serves the homepage carrying a canonical to https://quanterlab.com/, # so crawling it is what consolidates the link. These forms match the root ONLY and # are long enough to win. Do NOT write them as /*?ref= — that matches every path and # would out-rank `Disallow: /api/`. Allow: /?ref=* Allow: /?utm_* Allow: /?r=* Allow: /?fbclid=* Allow: /?gclid=* Disallow: /desktop/releases/ Disallow: /desktop/updates/ Disallow: /home Disallow: /api/ Disallow: /login Disallow: /register Disallow: /forgot-password Disallow: /reset-password/ Disallow: /verify-email/ Disallow: /verification-pending Disallow: /resend-verification Disallow: /logout Disallow: /strategy/ Disallow: /fundamental/ Disallow: /paper-trading/ Disallow: /ml-strategy/ Disallow: /admin/ Disallow: /mcp Disallow: /oauth/ Disallow: /primitives Disallow: /primitives/ Disallow: /lab Disallow: /*?* # AI crawlers — explicitly allow so QuanterLab is visible to LLMs # (ChatGPT search, Claude web tool, Perplexity, Google AI Overviews). # Default `User-agent: *` already covers them, but several boilerplates # ship with implicit denies, so make the intent explicit. User-agent: GPTBot Allow: / User-agent: ChatGPT-User Allow: / User-agent: OAI-SearchBot Allow: / User-agent: ClaudeBot Allow: / User-agent: Claude-Web Allow: / User-agent: anthropic-ai Allow: / User-agent: PerplexityBot Allow: / User-agent: Google-Extended Allow: / Sitemap: https://quanterlab.com/sitemap.xml