Ir al contenido

Modelo de Página Web: Comprendiendo la Arquitectura de Odoo

Una guía completa sobre el modelo de página web de Odoo para desarrolladores y consultores funcionales
11 de marzo de 2026 por
Modelo de Página Web: Comprendiendo la Arquitectura de Odoo
Dasolo
| Sin comentarios aún

Introducción


En Odoo, los modelos definen cómo se estructura y almacena la información en la base de datos. Cada pieza de datos empresariales con la que trabajas reside en un modelo.


Entender los modelos de Odoo es esencial tanto para desarrolladores como para consultores funcionales. Los modelos son la base de la arquitectura de datos de Odoo. Definen los campos de Odoo, las relaciones y la lógica empresarial.


Este artículo se centra en el modelo website.page. Este modelo potencia las páginas estáticas en tu sitio web de Odoo. Ya sea que estés creando páginas de aterrizaje personalizadas, gestionando contenido o integrándote con sistemas externos, trabajarás con este modelo.

¿Qué es el modelo website.page?


El modelo website.page representa páginas web estáticas en Odoo. Es parte de la aplicación Website y almacena las páginas que creas manualmente, como Acerca de nosotros, Contacto o páginas de destino personalizadas.


Este modelo en Odoo utiliza la herencia de modelos de Odoo. Hereda de ir.ui.view a través del mecanismo _inherits. Cada registro de website.page se vincula a una ir.ui.view que contiene la plantilla QWeb (arch) y metadatos.

Las páginas dinámicas, como la tienda o la lista de blogs, se generan de manera diferente.


No se almacenan como registros de website.page. El modelo website.page es específicamente para contenido estático que creas y editas a través del constructor de sitios web.

Campos clave en el modelo


Aquí están los campos más importantes de Odoo en el modelo website.page. Comprender estos te ayudará a trabajar de manera efectiva con las páginas web.


1. nombre

Tipo: Char. Este campo almacena el título de la página. Se muestra en la pestaña del navegador, en los menús y en los resultados de búsqueda. Proviene de la ir.ui.view vinculada.


2. url

Tipo: Char. La ruta URL de la página. Debe comenzar con una barra. Ejemplos: /contactus, /about-us. Esta es la ruta que los visitantes utilizan para acceder a la página.


3. view_id

Tipo: Many2one (ir.ui.view). Requerido. Se vincula a la vista QWeb que contiene el contenido de la página. La vista contiene el arch (plantilla XML) y la clave. Eliminar la vista cascada a la página.


4. website_id

Tipo: Many2one (sitio web). El sitio web al que pertenece esta página. En configuraciones de múltiples sitios web, las páginas pueden ser específicas de un sitio web o compartidas (cuando están vacías).


5. está_publicado

Tipo: Booleano. Si la página es visible para los visitantes. Las páginas no publicadas devuelven 404 o redirigen. Usa esto para ocultar páginas sin eliminarlas.


6. sitio_web_indexado

Tipo: Booleano. Controla si los motores de búsqueda pueden indexar la página. Establece en Falso para páginas de agradecimiento o páginas internas que no deseas en los resultados de búsqueda.


7. fecha_publicar

Tipo: Fecha y hora. La fecha de publicación. Se utiliza para la publicación programada y para mostrar cuándo se hizo público el contenido.


8. encabezado_visible

Tipo: Booleano. Si se debe mostrar el encabezado del sitio web en esta página. Útil para páginas de destino o experiencias de pantalla completa donde deseas ocultar el encabezado.


9. pie_de_página_visible

Tipo: Booleano. Si se debe mostrar el pie de página del sitio web. Al igual que encabezado_visible, esto te permite crear páginas sin el pie de página estándar.


10. es_página_principal

Tipo: Booleano. Campo calculado. Verdadero cuando esta página está configurada como la página de inicio del sitio web. Solo una página por sitio web puede ser la página de inicio.


11. es_visible

Tipo: Booleano. Calculado. Indica si la página es visible según el estado de publicación, la fecha y las reglas de visibilidad.


12. menu_ids

Tipo: One2many (website.menu). Los elementos del menú que enlazan a esta página. Una página puede aparecer en múltiples menús o en ninguno.


13. create_date

Tipo: Datetime. Cuándo se creó el registro. Gestionado automáticamente por Odoo. Útil para auditorías e informes.


14. write_date

Tipo: Datetime. Cuándo se modificó por última vez el registro. También gestionado automáticamente. Ayuda a rastrear actualizaciones de contenido.


15. arch

Tipo: Texto. La plantilla XML QWeb. Almacenada en el ir.ui.view vinculado. Contiene la estructura HTML y los fragmentos de Odoo. Editable a través del constructor de sitios web.


16. clave

Tipo: Char. Identificador único para la vista. Se utiliza en XML del módulo y para la herencia. El formato suele ser módulo.nombre_vista.


17. tipo

Tipo: Selección. El tipo de vista. Para páginas web, esto siempre es qweb. Otros tipos incluyen formulario, lista y árbol.


18. activo

Tipo: Booleano. Indicador de eliminación suave. Cuando es Falso, el registro se archiva. Proviene de ir.ui.view. Las páginas archivadas no se sirven.


19. website_meta_title

Tipo: Char. Título meta SEO. Sobrescribe el título predeterminado en los resultados de búsqueda. Importante para la visibilidad SEO.


20. website_meta_description

Tipo: Texto. Descripción meta SEO. El fragmento que se muestra en los resultados de los motores de búsqueda. Mantenerlo entre 150 y 160 caracteres para una mejor visualización.


21. website_meta_keywords

Tipo: Char. Palabras clave meta. Menos importantes para el SEO moderno, pero aún utilizadas por algunos sistemas. Separadas por comas.


22. header_overlay

Tipo: Booleano. Si el encabezado se superpone al contenido. Se utiliza para páginas de estilo héroe donde el encabezado se sitúa sobre el banner.


23. color_encabezado

Tipo: Selección. Esquema de color del encabezado. Opciones como transparente, claro u oscuro. Afecta el contraste y la legibilidad.


24. visibilidad

Tipo: Selección. Control de acceso. Las opciones incluyen Público, Conectado, Grupo Restringido o Con Contraseña. Controla quién puede ver la página.


25. tipo_redirección

Tipo: Selección. Cuando la URL cambia, esto define la redirección: 301 permanente, 302 temporal o ninguna. Importante para SEO al mover páginas.

Cómo se utiliza este modelo en los flujos de trabajo empresariales


1. Páginas de Aterrizaje y Campañas

Los equipos de marketing crean páginas de aterrizaje para campañas. Cada página es un registro website.page. Controlan la URL, el contenido y la fecha de publicación. La publicación programada utiliza date_publish.


2. Páginas Corporativas

Sobre Nosotros, Contacto, Términos de Servicio y Política de Privacidad son típicamente registros website.page. Se crean una vez y se actualizan según sea necesario. La ubicación en el menú se gestiona a través de menu_ids.


3. Páginas de Agradecimiento y Confirmación

Páginas como "Formulario de contacto enviado" o "Tarea recibida" son registros de website.page. Establezca website_indexed en False para que no aparezcan en los resultados de búsqueda.


4. Multi-sitio y Localización

En configuraciones de múltiples sitios, website_id determina qué sitio muestra la página. Puede duplicar páginas por sitio con contenido localizado.


5. Contenido Restringido y Acceso Restringido

El campo de visibilidad le permite crear páginas solo para usuarios registrados, o para grupos específicos. Útil para áreas de miembros o documentación interna.

Cómo los desarrolladores extienden este modelo


Los desarrolladores extienden website.page utilizando varios patrones. La herencia de modelos de Odoo es el principal mecanismo.


Herencia de Modelos

Utilice _inherit = 'website.page' para extender el modelo. Agregue nuevos campos de Odoo, sobrescriba métodos o añada restricciones. El modelo heredado en Odoo mantiene sus cambios en un módulo separado para facilitar las actualizaciones.


Añadiendo Campos

Defina nuevos campos de Odoo en su modelo heredado. Utilice el tipo de campo adecuado: Char, Many2one, Boolean, Integer, Text, Selection. Considere campos dependientes del sitio para múltiples sitios.


Extensiones de Python

Sobrescriba create, write o unlink para agregar lógica. Utilice super() para llamar al original. Tenga cuidado con la relación view_id y el comportamiento de cascada.


Odoo Studio

Odoo Studio te permite personalizar páginas sin código. Es bueno para cambios rápidos de diseño. Para lógica compleja o contenido impulsado por API, los módulos personalizados son más mantenibles.

Mejores prácticas


  • Usa slugs amigables con URL. Evita espacios y caracteres especiales. Usa guiones para mejorar la legibilidad.
  • Establece website_indexed en False para páginas de agradecimiento, páginas de confirmación y páginas internas.
  • Al cambiar URLs, habilita la redirección (301 o 302) para preservar el valor SEO y evitar enlaces rotos.
  • Completa website_meta_title y website_meta_description para cada página pública. Esto mejora la visibilidad SEO.
  • Al crear páginas a través de API o XML-RPC, crea primero el ir.ui.view, luego la website.page con view_id. Asegúrate de que la vista tenga tipo qweb y una clave única.

Errores comunes


  • Creando una website.page sin un view_id válido. La vista debe existir y tener tipo qweb.
  • Usando URLs que no comienzan con una barra. Odoo espera rutas como /contactus, no contactus.
  • Olvidando establecer website_indexed en páginas de agradecimiento. Terminan en los resultados de búsqueda y pueden diluir el SEO.
  • Cambiando una URL de página sin configurar una redirección. Los enlaces antiguos se rompen y los motores de búsqueda pierden la conexión.
  • Modificando el arch de una vista que fue editada en el constructor de sitios web. La bandera noupdate en ir.model.data puede evitar que tus cambios XML se apliquen. Restablécela si es necesario.

Conclusión


El modelo website.page es central para la gestión de páginas estáticas en Odoo. Almacena metadatos de la página, URLs y configuraciones de publicación. El contenido real reside en la vista ir.ui.view vinculada.


Entender sus campos y cómo hereda de ir.ui.view te ayudará a configurar, personalizar e integrar sitios web de Odoo de manera efectiva. Ya seas un consultor funcional o un desarrollador, un sólido entendimiento de website.page te ahorrará tiempo y evitará errores.

¿Necesitas ayuda con tu implementación de Odoo?


Dasolo ayuda a las empresas a implementar, personalizar y optimizar Odoo. Nos especializamos en integraciones de API y desarrollo de Odoo. Nuestro equipo tiene una profunda experiencia con la arquitectura de datos de Odoo y modelos como website.page.


Si necesitas ayuda con tu implementación de Odoo, páginas web personalizadas o integraciones, estamos aquí para ayudar. Reserva una demostración para discutir tu proyecto.

Modelo de Página Web: Comprendiendo la Arquitectura de Odoo
Dasolo 11 de marzo de 2026
Compartir esta publicación
Iniciar sesión para dejar un comentario