Im App Router wählen wir zwischen statischem app/robots.txt und generiertem app/robots.ts oder app/robots.js.
Statisch ist unser Standard, wenn es reicht
Eine einfache Datei hat wenig Laufzeitlogik und lässt sich leicht auditieren.
Für Generierung nutzen wir MetadataRoute.Robots
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return { rules: { userAgent: '*', allow: '/' }, sitemap: 'https://example.com/sitemap.xml' }
}
Wir prüfen Cache und dynamic-Verhalten
Generierte Metadata-Routen können je nach Implementierung gecacht werden. Deshalb vergleichen wir Code mit der ausgelieferten Datei.
Preview braucht Zugriffsschutz
Private Previews schützen wir per Authentifizierung und verhindern Sitemap-URLs mit Preview-Host.
Wir verifizieren das Deployment
Nach dem Release öffnen wir /robots.txt, nutzen den Validator und testen URLs im Tester. Bei Abweichungen prüfen wir Routing, Environment-Variablen, Cache und Deployment.