# /admin/ mit Schrägstrich ist nicht SvelteKit, sondern der SI-Connect-Passthrough # zum Webhost (docs/architecture/si-connect.md). Der antwortet dort mit 403, also # kann die Route kein ausliefern wie der Rest der # NOINDEX_PREFIXES in src/lib/seo/robots.ts (Ausgabe in src/routes/+layout.svelte). # Googlebot hat /admin/ dreimal # gecrawlt (31.08., 02.09., 05.09.2026) und die 403 als Indexierungsfehler in der # Search Console gemeldet. Der Disallow nimmt den Anlass weg. Nur mit # Schrägstrich: /admin ohne Slash geht an SvelteKit und behält sein noindex. # # Zwei Fallen, beide beim Bauen dieser Datei aufgelaufen: # 1. Keine Leerzeile zwischen User-agent und Disallow. Eine Leerzeile beendet die # Gruppe, der Disallow gehörte dann zu keinem User-agent mehr. # 2. Kein "Allow: /" mehr. Google wertet die spezifischste Regel aus und käme mit # Allow klar, aber Parser nach dem Erst-Treffer-Prinzip (u.a. Pythons # urllib.robotparser) nehmen "Allow: /" und erlauben damit auch /admin/. # Ohne die Zeile ist ohnehin alles erlaubt, was kein Disallow trifft. # # /auth/login?redirect= und /auth/signup?redirect= (10.10.2026): die # Anmeldeseiten mit Rücksprungziel. Bis dahin hängte das Max-Widget auf jeder # Seite zwei Links mit ?redirect= an, auf den Anmeldeseiten selbst # verschachtelte sich das endlos, und Metas Crawler holte in 14 Tagen rund # 320.000 Mal Login und Signup. Die Ursache ist im Code behoben # (authReturnPath), die Regel hält den Raum auch dann zu, wenn wieder jemand # einen solchen Link baut. Bewusst nicht /auth/ ganz: die nackten Seiten bleiben # abrufbar, damit Google ihr noindex weiter sieht. Bewusst mit "redirect=" und # nicht nur mit "?": Parser, die das Muster normalisieren (u.a. Pythons # urllib.robotparser), werfen ein leeres "?" weg und sperren dann auch die # nackte Seite. Reine Präfixe ohne Platzhalter. User-agent: * Disallow: /admin/ Disallow: /auth/login?redirect= Disallow: /auth/signup?redirect= Sitemap: https://stein.investments/sitemap.xml