import type { BuildRankMathHeadOptions } from "@wp-reactor/editorial" import { publicSiteUrl, runtimeEnv } from "@/env" /** * Options de SEO partagées par les routes de contenu. * * En headless, WordPress vit sur un domaine backend et le site sur un autre. * RankMath fabrique tout (title, canonical, `og:url`, graphe schema.org) depuis * `home_url` : ses URLs d'entités portent donc le domaine **backend**. * `rebaseOrigin` les réancre sur l'origine publique ; les assets `/wp-content/` * restent sur le backend qui les sert (sinon les images tombent en 404). * * La coque possède l'env (contrat ADR 0001) : c'est ICI qu'on injecte les deux * origines. `wordpressHost` est toujours l'hôte PUBLIC de WordPress, jamais * l'URL interne du réseau Docker utilisée en SSR — c'est bien lui que RankMath * a écrit dans le graphe. */ export const seoHeadOptions: BuildRankMathHeadOptions = { titleSuffix: "WP Reactor", rebaseOrigin: runtimeEnv.wordpressHost && publicSiteUrl ? { from: runtimeEnv.wordpressHost, to: publicSiteUrl } : undefined, }