Con App Router, noi scegliamo tra app/robots.txt statico e app/robots.ts o app/robots.js generato.
Preferiamo statico quando basta
Una policy semplice riduce dipendenze runtime e rende il controllo più facile.
Per la generazione usiamo MetadataRoute.Robots
import type { MetadataRoute } from 'next'
export default function robots(): MetadataRoute.Robots {
return { rules: { userAgent: '*', allow: '/' }, sitemap: 'https://example.com/sitemap.xml' }
}
Controlliamo cache e comportamento dynamic
Le metadata route generate possono avere cache diversa in base all’implementazione. Confrontiamo sempre source e risposta pubblica.
I preview privati usano access control
Usiamo autenticazione e impediamo che Sitemap: punti a un preview host.
Verifichiamo il deployment
Apriamo /robots.txt, usiamo il validator e testiamo URL con il tester.