Páginas
Páginas es el CMS de lo que no es catálogo, blog ni pie de sitio: «Quiénes somos», «Términos», «Envíos». Se usa para contenido de apoyo que necesita URL propia y edición sin tocar código. Es de propósito más pequeño que el blog y esa es su ventaja: se publica sin pelear con una puerta de SEO.
Qué hace
Sección titulada «Qué hace»- CRUD de páginas por sitio: título, slug, contenido, estado (borrador o publicado) y bloque SEO con
meta_title,meta_description,canonical_url,robots_indexyog_image. - Feed público:
GET /api/site/pagesyGET /api/site/pages/{slug}. El panel trabaja sobre/api/pages. - El slug es único por sitio: si choca, el alta prueba
slug,slug-2,slug-3y así. UnPATCHsolo lo recalcula si mandas un slug distinto del guardado; cambiar el título no lo regenera. - Pasar a publicado sin fecha le pone la de ahora; volver a borrador no borra la fecha del último publicado, que sirve si la republicas.
De qué depende
Sección titulada «De qué depende»- Es núcleo: viene en los cuatro planes y corre como módulo, con su frontera de código.
- De dos compuertas para el feed:
module:pagesytoken.ability:pages. - De un perfil de equipo. Aquí está el hueco: ningún perfil del catálogo incluye
pages. Un dueño del sitio y el staff de Merez pasan; un miembro invitado con cualquier perfil recibe 403 en todo el CRUD, incluido marketing, que sí administra el blog.
Qué pasa cuando se apaga
Sección titulada «Qué pasa cuando se apaga»No se puede apagar: es núcleo, y el panel responde 422. Si el sitio pierde el módulo, el feed devuelve 403 {"module":"pages"} y el contenido sigue guardado. Si conserva el módulo pero la credencial no trae la habilidad, el 403 dice {"ability":"pages"}. Lo publicado no se borra ni se despublica por apagar nada: la fecha de publicación se conserva.
Límites y trampas
Sección titulada «Límites y trampas»- No tiene, a propósito: validación de SEO bloqueante, checklist de redacción, tiempo de lectura, relacionados, redirecciones 301 ni sitemap. Si una página necesita SEO real, la señal es moverla al blog, no hacerle crecer campos.
robots_indexexiste en el modelo y hay un scopeindexable(), pero el feed no lo usa. Hoy no importa porque el backend no generasitemap.xml. Si tu sitio arma su sitemap a partir de este feed, respeta la columna o expondrás páginas marcadas como no indexables.- Orden de las compuertas: rol antes que módulo. No lo inviertas: si se comprueba primero el módulo, un miembro sin permiso se entera de si está encendido.
- En el listado del panel no hay 403 por sitio: el resultado sale ya recortado, y un sitio sin páginas devuelve una lista vacía.
Ver también
Sección titulada «Ver también»- Blog: el motor SEO, con puerta y sitemap.
- Bitácora: contenido corto ligado a la oferta.
- Catálogo público.