# TUNA SPORT — čo smie vyhľadávač prehliadať. # # Do 2. 9. 2026 tento súbor NEEXISTOVAL. Neznamenalo to „všetko povolené": # `_redirects` posiela každú neznámu adresu na `/index.html` s kódom 200, # takže `robots.txt` vracal HTML celej appky. Cloudflare k tomu pripája # vlastný spravovaný blok, takže výsledok bol platné direktívy a za nimi # stovky riadkov HTML. Roboti to prežijú, ale je to náhoda, nie zámer. # # ── PREČO SA VÄČŠINA APPKY ZAKAZUJE ───────────────────────────────────────── # # Nie kvôli utajeniu — `Disallow` nič nechráni a chrániť nemá. Ide o to, že za # prihlásením niet čo indexovať: robot uvidí prihlasovaciu obrazovku a tú by # potom ukazoval ako výsledok pre desiatky adries naraz. Verejné je len to, čo # dole `Allow`, a to isté hovoria stránky aj samy o sebe značkou `robots` # (`frontend/src/hooks/useSeo.ts`, ktorý bez výslovného `indexovat: true` # vypisuje `noindex`). # # Ochrana údajov stojí na RLS a na prihlásení, nie na tomto súbore. # # ── AI ROBOTI A KATALÓG (október 2026) ────────────────────────────────────── # # Katalóg športovísk chráni osobitné právo k databáze a výhrada čerpania # údajov (VOP čl. 3, `/licencie/katalog.html`, `/.well-known/tdmrep.json`). # Tento súbor je jej strojovo čitateľná časť: # # · `Content-Signal` (contentsignals.org): vyhľadávanie áno, tréning AI nie. # `ai-input` je zámerne nevyplnené — či AI vyhľadávače smú čítať web # (značku, /info), rozhoduje Ondrej (docs/prevadzka/OCHRANA-KATALOGU.md). # · Trénovacie roboty AI majú zakázané všetko. # · AI vyhľadávače a asistenti majú KÓPIU skupiny `*` a navyše zákaz # katalógu. Robot s vlastnou skupinou skupinu `*` NEČÍTA — preto kópia. # Pri zmene skupiny `*` treba zmeniť aj ju (stráži `robotsAiRoboti.test.ts`). # · Googlebot, Bingbot ani `facebookexternalhit` (náhľad odkazu) tu vlastnú # skupinu nemajú a nesmú mať: platí pre ne `*`. `Google-Extended` a # `Applebot-Extended` sú len značky pre tréning, vyhľadávanie neovplyvnia. # # robots.txt je prosba, nie zámok. Kto ho nerešpektuje, narazí na limity # Workera a pravidlá Cloudflare; právne ho viažu VOP a autorský zákon. User-agent: * Content-Signal: search=yes, ai-train=no # Verejná časť: rozcestník, katalóg športovísk, vizitky, právne texty a web. Allow: /$ Allow: /info Allow: /pre-sportoviska Allow: /sportoviska Allow: /terms Allow: /privacy Allow: /podmienky-prevadzkovatela # Statické stránky obcí, krajov a športu v obci s partnermi TUNA (seo Worker, # 30. 9. 2026) sú pod /sportoviska/ vyššie. Mapa: /sitemap.xml je index. # /sportovisko/ sú kvalitné verejné záznamy katalógu od 1. 10. 2026. # Bez Disallow: konkrétne adresy sú v sitemaps/katalog.xml. # Prihlásenie a registrácia. Robot tu nič nezíska a ako výsledok vyhľadávania # je prihlasovacia obrazovka to najhoršie, čo môže človeku vyjsť. Disallow: /login Disallow: /register Disallow: /forgot-password Disallow: /reset-password Disallow: /check-email Disallow: /doplnit-udaje Disallow: /auth/ Disallow: /invite/ Disallow: /pozvanka Disallow: /welcome Disallow: /onboarding # Appka za prihlásením. Disallow: /home Disallow: /book Disallow: /booking/ Disallow: /center/ Disallow: /search Disallow: /map Disallow: /orders Disallow: /poradovnik Disallow: /profile # Správa športoviska a správcovská časť. Disallow: /manage Disallow: /admin # Ukážkové obrazovky — sú to kópie na predvádzanie, nie samostatné stránky. Disallow: /ukazka/ # Osobný prvý prístup prevádzky (`/pre/`). Do októbra 2026 bol tento # riadok až za `Sitemap` — platil, ale vyzeral, akoby k skupine nepatril. Disallow: /pre/ # JSON API pod adresou webu (proxy vo vývoji a testovaní, overenie IČO). # Ostré API je na api.tuna-sport.sk a má vlastný robots.txt (Worker). Disallow: /api/ # Adresy s jednorazovým kódom. Nikdy sa nesmú dostať do indexu. Disallow: /nastavit-heslo/ Disallow: /rezervacna-ponuka/ Disallow: /*&token= Disallow: /*&code= Disallow: /*?token= Disallow: /*?code= # Filter katalógu po športe. `/sportoviska?sport=tenis` je ten istý zoznam # preosiaty na klientovi — desiatky adries s takmer rovnakým obsahom. Kanonická # adresa ich zlučuje, lenže až v druhom kole, po vykreslení. Tu sa rieši prvé. # # Hľadaný text (`?q=`) sa NEZAKAZUJE: na rozdiel od chýb sa naň dá doraziť # zdieľaným odkazom a zakázaná adresa vyzerá v Search Console ako problém. Disallow: /*?sport= Disallow: /*&sport= Disallow: /*?mesto= Disallow: /*&mesto= # ── ČO TU ZÁMERNE NIE JE ──────────────────────────────────────────────────── # # `/rezervuj/` — odkaz, ktorý si prevádzka dá na vlastný web — a ďalej # `/vstupenka` a `/rezervacia/stav`. Sú to verejné trasy a `Disallow` by na ne # sedel, ale zakázal by aj to jediné, čo od nich chceme: aby si robot prečítal # ich `noindex` (dáva ho `useSeo`, ktorý bez `indexovat: true` vypisuje # `noindex` všade). Zakázanú adresu robot neotvorí, značku neuvidí — a adresa # sa potom môže objaviť ako holý odkaz bez titulku aj popisu. `noindex` bez # `Disallow` je tu teda silnejší, nie slabší. # ── TRÉNOVACIE ROBOTY AI: nič ─────────────────────────────────────────────── # # Zbierajú obsah na trénovanie modelov alebo do verejných dátových súborov # (Common Crawl). Mená overené 8. 10. 2026 (Cloudflare, prevádzkovatelia). # `Scrapy` je nástroj na hromadné sťahovanie; v predvolenom nastavení # robots.txt číta, tak nech vie, že katalóg nie je na zber. User-agent: GPTBot User-agent: ClaudeBot User-agent: anthropic-ai User-agent: CCBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: Bytespider User-agent: meta-externalagent User-agent: FacebookBot User-agent: Amazonbot User-agent: cohere-ai User-agent: cohere-training-data-crawler User-agent: Diffbot User-agent: omgili User-agent: Omgilibot User-agent: Webzio-Extended User-agent: ImagesiftBot User-agent: Timpibot User-agent: AI2Bot User-agent: Ai2Bot-Dolma User-agent: PanguBot User-agent: Scrapy Content-Signal: search=no, ai-input=no, ai-train=no Disallow: / # ── AI VYHĽADÁVAČE A ASISTENTI: web áno, katalóg nie ──────────────────────── # # Odpovedajú na otázku človeka a citujú zdroj. Značku a web (/info, právne # texty) čítať smú; záznamy katalógu (/sportovisko/, mapa stránok katalógu, # súhrn) nie. Ostatné riadky sú KÓPIA skupiny `*` vyššie — bez nej by tieto # roboty nemali zákaz ani na /login či /admin. User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Claude-SearchBot User-agent: Claude-User User-agent: DuckAssistBot User-agent: MistralAI-User User-agent: meta-externalfetcher User-agent: YouBot Content-Signal: search=yes, ai-train=no Allow: /$ Allow: /info Allow: /pre-sportoviska Allow: /sportoviska Allow: /terms Allow: /privacy Allow: /podmienky-prevadzkovatela Disallow: /login Disallow: /register Disallow: /forgot-password Disallow: /reset-password Disallow: /check-email Disallow: /doplnit-udaje Disallow: /auth/ Disallow: /invite/ Disallow: /pozvanka Disallow: /welcome Disallow: /onboarding Disallow: /home Disallow: /book Disallow: /booking/ Disallow: /center/ Disallow: /search Disallow: /map Disallow: /orders Disallow: /poradovnik Disallow: /profile Disallow: /manage Disallow: /admin Disallow: /ukazka/ Disallow: /pre/ Disallow: /api/ Disallow: /nastavit-heslo/ Disallow: /rezervacna-ponuka/ Disallow: /*&token= Disallow: /*&code= Disallow: /*?token= Disallow: /*?code= Disallow: /*?sport= Disallow: /*&sport= Disallow: /*?mesto= Disallow: /*&mesto= # Navyše oproti `*`: katalóg. Disallow: /sportovisko/ Disallow: /sitemaps/katalog.xml Disallow: /katalog-suhrn.json Sitemap: https://tuna-sport.sk/sitemap.xml