User-agent: * Allow: / # ⚠️ /contact WAS listed here as a shell path and is now a REAL page (2026-08-04), # as are /support and /about. Point 3 below predicted exactly this, so: the current # shell-only paths are /leaderboards, /blog, /pricing, /press. Re-check before # trusting this list — it is a snapshot, not a guarantee. # # DO NOT add Disallow lines for SPA-shell paths (/leaderboards, /blog, /pricing, # /press, or any other path that falls through the `**` rewrite). # It reads like duplicate-content hygiene and is strictly worse than nothing: # 1. index.html ships # (app/index.html:34, built to firebase/public/index.html:34, with a comment # saying exactly that). Every `**`-rewrite path serves that shell, so Google # already folds all of them onto the root. The de-duplication is DONE. # 2. Disallow blocks the FETCH, not the indexing. A blocked URL that something # links to can still be indexed — as a title-less, snippet-less entry, because # Googlebot was never allowed to read the canonical that would have collapsed # it. Blocking converts a correctly-canonicalised duplicate into an ugly # orphan listing. # 3. It quietly breaks the day one of those paths becomes real. /pricing ships, # nobody remembers this file, and the new page is invisible for weeks. # The correct lever for a path that must not be indexed is a served # `` (see siteChrome.page's noindex # flag) — which requires the crawler to be ALLOWED to fetch it. # # AND the correct lever for a shell path that HAS a real equivalent is a 301, not a # Disallow and not a canonical: firebase.json now redirects /privacy-policy, # /privacypolicy, /terms-of-service, /tos, /legal, /help, /support-center, # /contact-us and /faq to the real pages (2026-08-05). Canonical-to-root was wrong # for those nine — they had true destinations — but it remains RIGHT for the shell # paths above, which have none. The two mechanisms are complementary: 301 when a # real page exists, canonical when it does not. Sitemap: https://konnectgaming.net/sitemap.xml