User-agent: * Allow: / Sitemap: https://slidefast.io/sitemap.xml # Authenticated app routes. These serve the SPA fallback, whose static HTML is # the prerendered homepage, so without a Disallow a non-rendering crawler reads # them as duplicates of the homepage. Every one of them also carries # once the app boots # (see src/composables/useRouteSeo.ts); this is the belt to that pair of braces. # # NOTE: /assets is deliberately NOT listed. It is both a dashboard tab and the # directory Vite emits every JS and CSS bundle into, and disallowing it stops # crawlers rendering any page that is not prerendered. The tab is excluded by # the noindex meta alone. Disallow: /dashboard Disallow: /plan Disallow: /presentations Disallow: /editor Disallow: /settings Disallow: /themes Disallow: /brand Disallow: /leads Disallow: /emojis Disallow: /batch Disallow: /onboarding Disallow: /generating Disallow: /oauth Disallow: /export Disallow: /etudiants/nouveau # Share links (/s/*, /c/*) are intentionally left crawlable so the noindex meta # on them can actually be read: a disallowed URL cannot be de-indexed, only # ignored, and some of these are already in the index. # --------------------------------------------------------------------------- # AI crawlers: no restrictions beyond the app routes above. # # Cloudflare's "Managed robots.txt" used to prepend a block disallowing every # AI agent, which made SlideFast uncitable in ChatGPT and Claude however good # the copy or llms.txt was. That toggle is off and no agent is singled out # here, so they all fall through to the `*` group: every public page, none of # the app routes. # # Training crawlers (GPTBot, ClaudeBot, CCBot, meta-externalagent) are allowed # on purpose. The pages they reach are marketing copy, pSEO landings and API # docs, i.e. text whose whole job is to travel; there is no corpus here worth # withholding. A model that has read the site can name SlideFast without # needing to retrieve it, which outlasts any single search result. # # Deliberately no named `User-agent` group for the citation agents either: a # named group replaces the `*` group wholesale rather than extending it, so an # explicit `Allow: /` would hand them the app routes disallowed above. # ---------------------------------------------------------------------------