# fairvalue-calculator.com — robots policy # Served at the domain root after cutover. Paths are stable regardless of the # public URL rollout (only content paths change; these directories do not). User-agent: * Allow: / # Social/AI preview cards: keep the OG image endpoint fetchable even though the # rest of /api/ is blocked (RFC 9309 longest-match — the more specific Allow # wins over the /api/ Disallow below). Twitterbot/Bingbot/Googlebot-Image obey. Allow: /api/og-stock.php # Internal endpoints & non-content — no SEO value, keep out of the index. Disallow: /api/ Disallow: /scripts/ Disallow: /lib/ Disallow: /config/ Disallow: /data/ Disallow: /_archive/ # Internal alias copy of the whole app (Apache Alias) — duplicates every clean URL # and was only saved by the canonical tag. Keep crawlers out of the alias entirely. Disallow: /my/ # Ausnahme: die alten Seitenadressen /my/en/... und /my/de/... leiten per 301 auf die heutigen Seiten # (router.php). Gesperrt koennte Google die Weiterleitung nie sehen und behielte die toten Adressen. Allow: /my/en/ Allow: /my/de/ Allow: /my/fairvalue_calculator Disallow: /*?debug= # Share-Links (utm_source=share) zeigen exakt denselben Inhalt wie die saubere Seite, auf die ihr # Canonical zeigt, tragen aber zusaetzlich einen Zuordnungs-Code (&s=). Der wurde bis 2026-08-17 # bei JEDEM Aufruf neu gewuerfelt, womit eine unendliche URL-Wueste entstand: meta-externalagent # holte am 16.08. 134.606 Seiten (54,8 Prozent der Gesamtlast, 23,9 GB) und brachte null Besucher. # Die Ursache ist in stock.php behoben; dies ist der zweite Riegel, auch fuer die Alt-URLs, die # Crawler schon kennen. Fuer Menschen bleiben die Links uneingeschraenkt nutzbar. Disallow: /*utm_source=share # Aktie-gegen-Aktie ueber die Eingangsseite (/compare/?a=..&b=..): reiner Sprung auf die Paar-Seite, kein Inhalt. # So verlinkt die Aktienseite Paare ausserhalb der Sitemap, ohne einen neuen Adressraum zu oeffnen. Disallow: /compare/? Disallow: /vergleich/? # Generative / AI answer engines welcome (GEO — be citable in AI answers). # Remove a User-agent line here if you prefer to keep content out of a given # engine. NOTE (RFC 9309): a matching named group REPLACES the * group, so all # these bots share this ONE group, which repeats the same rules as * — full # content allowed, internal endpoints excluded. User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: PerplexityBot User-agent: Perplexity-User User-agent: Google-Extended User-agent: ClaudeBot User-agent: Claude-SearchBot User-agent: Claude-User User-agent: Applebot-Extended User-agent: Amazonbot User-agent: Meta-ExternalAgent User-agent: meta-webindexer User-agent: DuckAssistBot User-agent: MistralAI-User User-agent: CCBot User-agent: cohere-ai Allow: / Allow: /api/og-stock.php Disallow: /api/ Disallow: /scripts/ Disallow: /lib/ Disallow: /config/ Disallow: /data/ Disallow: /_archive/ # Internal alias copy of the whole app (Apache Alias) — duplicates every clean URL # and was only saved by the canonical tag. Keep crawlers out of the alias entirely. Disallow: /my/ # Ausnahme: die alten Seitenadressen /my/en/... und /my/de/... leiten per 301 auf die heutigen Seiten # (router.php). Gesperrt koennte Google die Weiterleitung nie sehen und behielte die toten Adressen. Allow: /my/en/ Allow: /my/de/ Allow: /my/fairvalue_calculator Disallow: /*?debug= # Derselbe Riegel wie in der *-Gruppe, und hier der WICHTIGE: Meta-ExternalAgent steht in dieser # Gruppe, und nach RFC 9309 ERSETZT eine benannte Gruppe die *-Gruppe. Nur in der *-Gruppe haette # die Regel genau den Crawler nicht erreicht, der die Last verursacht hat. Disallow: /*utm_source=share # Aktie-gegen-Aktie ueber die Eingangsseite (/compare/?a=..&b=..): reiner Sprung auf die Paar-Seite, kein Inhalt. # So verlinkt die Aktienseite Paare ausserhalb der Sitemap, ohne einen neuen Adressraum zu oeffnen. Disallow: /compare/? Disallow: /vergleich/? # ── Aggressive commercial scrapers / SEO harvesters — fully disallowed ──────── # (Operator 2026-07-05) These crawl our ~26k valued-stock pages purely to resell # the data; they bring no traffic and no citations. RFC 9309: a named group # REPLACES the * group, so each bot below gets ONLY this "Disallow: /". Search # engines (Google/Bing/DuckDuckGo/Apple) and the AI answer engines above are NOT # in this list and stay fully allowed. The server-side scraper guard in # PublicApiGuard is the real enforcement for the JSON data endpoints — robots is # advisory and only the polite crawlers obey it. User-agent: AhrefsBot User-agent: SemrushBot User-agent: MJ12bot User-agent: DotBot User-agent: BLEXBot User-agent: DataForSeoBot User-agent: PetalBot User-agent: Bytespider User-agent: SerpstatBot User-agent: ZoominfoBot User-agent: MegaIndex User-agent: Barkrowler User-agent: magpie-crawler User-agent: Dataprovider User-agent: SEOkicks User-agent: LinkdexBot User-agent: rogerbot User-agent: exabot Disallow: / # Sitemaps (the migrated content URLs already use the final production paths). # Note: /sitemap.xml is an alias of sitemap-migration.xml, so it is not listed # separately here to avoid submitting the same file twice. Sitemap: https://www.fairvalue-calculator.com/sitemap-migration.xml # Per-stock SEO landing pages (/stock/ en, /aktie/ de) — ~26,000 valued stocks each. Sitemap: https://www.fairvalue-calculator.com/sitemap-compare.xml Sitemap: https://www.fairvalue-calculator.com/sitemap-stocks.xml Sitemap: https://www.fairvalue-calculator.com/sitemap-stocks-de.xml Sitemap: https://www.fairvalue-calculator.com/sitemap-etf.xml