site
La URL pública del sitio, de la que sólo cuenta el origen, para las URL absolutas de sitemap.xml, robots.txt y document.seo.
site es el origen público del sitio ("https://example.com", sin ruta). Es el origen de las URL absolutas que Meeko escribe en el build: las de sitemap.xml, la línea Sitemap: de robots.txt y, con document.seo, <link rel="canonical"> y og:url. Sin site, el build usa MEEKO_PUBLIC_ORIGIN de su entorno.
site se fija en el build y no cambia las comprobaciones de Origin de HTTP y Socket: esas siguen leyendo MEEKO_PUBLIC_ORIGIN o publicOrigin de server/runtime.ts al ejecutarse.
Uso#
// meeko.config.ts
import { defineMeekoConfig } from "@meekojs/meeko/framework";
export default defineMeekoConfig({
site: "https://example.com",
sitemap: true,
robots: true,
document: { seo: true },
});Tipo#
readonly site?: stringOpciones#
| Valor | Tipo | Por defecto | Descripción |
|---|---|---|---|
site |
string |
MEEKO_PUBLIC_ORIGIN del build |
Una URL absoluta http: o https: sin ruta, query, fragmento ni credenciales. |
Resultado#
Con site: "https://example.com":
<!-- sitemap.xml -->
<url><loc>https://example.com/docs/api</loc></url># robots.txt
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml<!-- /docs/api con document.seo -->
<link rel="canonical" href="https://example.com/docs/api">Ejemplos#
Un origen por entorno#
import { defineMeekoConfig } from "@meekojs/meeko/framework";
export default defineMeekoConfig({
site: process.env.SITE_URL ?? "https://example.com",
sitemap: true,
});SITE_URL=https://staging.example.com npm run buildSin site, con la variable del build#
MEEKO_PUBLIC_ORIGIN=https://example.com npx meeko buildLa misma variable fija después, en producción, el origen de las comprobaciones de Origin.
Errores comunes#
Una URL con ruta#
export default defineMeekoConfig({ site: "https://example.com/blog" });meeko dev, meeko build, meeko check y meeko routes se detienen con …/meeko.config.ts: site must be an origin without path, query, fragment or credentials, such as "https://example.com". Un sitio bajo una subruta no se admite.
import { defineMeekoConfig } from "@meekojs/meeko/framework";
export default defineMeekoConfig({ site: "https://example.com" });Un dominio sin esquema#
export default defineMeekoConfig({ site: "example.com" });…/meeko.config.ts: site must be an absolute URL such as "https://example.com".
import { defineMeekoConfig } from "@meekojs/meeko/framework";
export default defineMeekoConfig({ site: "https://example.com" });Esperar que site arregle las comprobaciones de Origin#
site: "https://example.com" y la aplicación tras un proxy TLS, sin MEEKO_PUBLIC_ORIGIN al ejecutarseLas mutaciones (con sesión y, desde 1.8, también sin ella) responden 403 INVALID_ORIGIN: site sólo se usa en el build. El origen de las comprobaciones de seguridad se fija al ejecutarse.
MEEKO_PUBLIC_ORIGIN=https://example.com al arrancar el servidorNotas#
- Sólo build. Un cambio de
siteexige volver a construir; no se lee en producción. - Sin origen. Con
sitemap, o condocument.seoycanonicaluogUrl, y sinsiteniMEEKO_PUBLIC_ORIGIN,meeko buildse detiene antes de compilar;robotssinsitemapno lo necesita.