import type { MetadataRoute } from "next";

/**
 * robots.txt :
 * - Tous les bots peuvent crawler le site public.
 * - Les zones admin / espace client ne sont pas indexées (déjà robots
 *   noindex dans les metadata des layouts, mais on ajoute aussi ici en
 *   defense-in-depth pour les crawlers qui ignorent les meta tags).
 * - On déclare explicitement les bots AI : Cloudflare a tendance à
 *   injecter des directives `Content-Signal` non standard quand il
 *   détecte une absence ; en les définissant nous-mêmes on évite ça.
 */
export default function robots(): MetadataRoute.Robots {
  return {
    rules: [
      {
        userAgent: "*",
        allow: "/",
        disallow: [
          "/socialexadmin",
          "/socialexadmin/",
          "/espace-client",
          "/espace-client/",
          "/api/",
          "/login",
          "/forgot-password",
          "/set-password",
        ],
      },
      // Bots IA : on autorise par défaut (pas de raison de bloquer).
      // Si tu veux interdire ChatGPT/Claude/Perplexity de crawler tes pages,
      // remplace allow par disallow.
      { userAgent: "GPTBot", allow: "/" },
      { userAgent: "ClaudeBot", allow: "/" },
      { userAgent: "PerplexityBot", allow: "/" },
      { userAgent: "Google-Extended", allow: "/" },
      { userAgent: "CCBot", allow: "/" },
    ],
    sitemap: "https://socialex.pro/sitemap.xml",
    host: "https://socialex.pro",
  };
}
