Overslaan naar inhoud

Het Website Model: Inzicht in Odoo’s Website Configuratie Architectuur

Uitgebreide handleiding voor het websitemodel in Odoo: alles wat ontwikkelaars en functionele consultants moeten weten
11 maart 2026 in
Het Website Model: Inzicht in Odoo’s Website Configuratie Architectuur
Dasolo
| Nog geen reacties

Introductie


In Odoo bepaalt een model de structuur en opslag van gegevens in de database. Alle zakelijke informatie—pagina's, producten, instellingen—leeft binnen zo'n model.


Kennis van Odoo-modellen is zowel voor ontwikkelaars als voor functionele consultants onmisbaar. Modellen vormen het fundament van de Odoo-data-architectuur en leggen velden, relaties en bedrijfslogica vast.


Deze tekst zoomt in op het website-model: het onderdeel dat de siteconfiguratie regelt. Of je nu meerdere sites beheert, branding aanpast of koppelt aan externe systemen, je komt altijd het website-model tegen.

Wat is het website-model


Het website-model is in Odoo het gegevenselement dat een website beschrijft. Alles wat bepaalt hoe een site eruitziet en zich gedraagt—domein, talen, huisstijl, sociale koppelingen en menustructuur—wordt in dit model bewaard.


Het model hoort bij de Website-app en geldt voor elke Odoo-website. In omgevingen met meerdere websites bestaan er evenveel website-records als sites; elk record kan een eigen domein, bedrijf, talenpakket en thema hebben.


Veel andere modellen verwijzen naar het website-model via het veld website_id. Dat veld beperkt content tot een specifieke site en is essentieel voor hoe Odoo modelovererving en de api samen content scopen.

Belangrijke velden in het model


Onderstaande velden zijn de kern die je moet kennen om sites correct te configureren en te beheren.


1. name

Type: Char. Verplicht. Bewaart de naam van de website. Verschijnt in backend-menu's en configuratieschermen en fungeert als voornaamste herkenning van de site.


2. sequence

Type: Integer. Standaard 10. Bepaalt de volgorde bij meerdere websites; lagere waarden komen eerst.


3. domain

Type: Char. Het domein van de website (bv. https://www.mijndomein.be). Odoo voegt https toe indien nodig. Moet uniek zijn en wordt gebruikt voor routing en SEO.


4. company_id

Type: Many2one (res.company). Verplicht. Verbindt de website met een Odoo-bedrijf. In multi-companyomgevingen toont een site alleen data die bij dat bedrijf hoort.


5. language_ids

Type: Many2many (res.lang). De talen die op de site beschikbaar zijn. Bezoekers kunnen wisselen tussen deze talen; standaard staan alle geïnstalleerde talen aan.


6. language_count

Type: Integer. Berekend veld. Geeft het aantal beschikbare talen weer—handig voor filters en zichtbaarheid in de UI.


7. default_lang_id

Type: Many2one (res.lang). Verplicht. De standaardtaal bij eerste bezoek. Deze taal moet deel uitmaken van language_ids.


8. auto_redirect_lang

Type: Boolean. Standaard True. Schakelt automatische omleiding in naar de browsertaal van de bezoeker wanneer die taal beschikbaar is.


9. cookies_bar

Type: Boolean. Bij True toont Odoo een cookie-banner—handig voor GDPR-compliance. Odoo kan ook automatisch een cookiebeleidspagina aanmaken.


10. logo

Type: Binary. Het logo van de website. Wordt in header en andere plekken weergegeven; valt terug op het standaard Odoo-logo als er geen eigen logo is.


11. favicon

Type: Binary. Het pictogram in het browsertabblad. Odoo schaalt dit naar 256x256 pixels.


12. social_twitter

Type: Char. URL van het Twitter/X-account. Standaard overgenomen van het bedrijf. Wordt gebruikt in footer en bij social sharing.


13. social_facebook

Type: Char. URL van Facebook. Volgt hetzelfde patroon als andere sociale velden.


14. social_linkedin

Type: Char. URL van LinkedIn.


15. social_instagram

Type: Char. URL van Instagram.


16. social_youtube

Type: Char. URL van YouTube.


17. social_github

Type: Char. URL van GitHub.


18. social_tiktok

Type: Char. URL van TikTok.


19. social_default_image

Type: Binary. Standaardbeeld voor social shares. Overschrijft het logo wanneer ingesteld en wordt gebruikt voor Open Graph/Twitter cards.


20. google_analytics_key

Type: Char. Tracking-ID voor Google Analytics. Bij configuratie voegt Odoo het script toe aan de pagina's.


21. google_maps_api_key

Type: Char. API-sleutel voor Google Maps; nodig voor kaartfunctionaliteit en locatieweergave.


22. user_id

Type: Many2one (res.users). Verplicht. De publieke gebruiker gekoppeld aan de site, gebruikt voor portals en anonieme bezoekers; standaard ingesteld vanuit het bedrijf.


23. cdn_activated

Type: Boolean. Als True worden statische bestanden via een CDN geserveerd, wat de laadtijd verbetert.


24. cdn_url

Type: Char. Basis-URL van de CDN; wordt gebruikt wanneer cdn_activated aangevinkt is.


25. cdn_filters

Type: Text. Regex-patronen voor URL's die herschreven moeten worden; standaard gericht op statische paden.


26. menu_id

Type: Many2one (website.menu). Berekend veld. Verwijst naar het hoofdniveau van het menuboek voor deze website.


27. homepage_url

Type: Char. Het pad van de startpagina (bv. /contact of /shop). Moet beginnen met een schuine streep.


28. custom_code_head

Type: Html. Aangepaste code die in de van pagina's wordt geïnjecteerd—handig voor meta-tags, analytics of scripts.


29. custom_code_footer

Type: Html. Aangepaste code onderaan de pagina's; geschikt voor chatwidgets of extra tracking-scripts.


30. robots_txt

Type: Html. Inhoud voor robots.txt, om zoekmachines en crawlers te sturen.


31. theme_id

Type: Many2one (ir.module.module). Het geïnstalleerde thema voor de site.


32. auth_signup_uninvited

Type: Selection. Opties b2b (op uitnodiging) of b2c (vrije registratie). Bepaalt of bezoekers zelf accounts kunnen aanmaken.


33. create_date

Type: Datetime. Aangemaaktatum van het record, automatisch door Odoo beheerd.


34. write_date

Type: Datetime. Laatste wijzigingsdatum van het record, ook automatisch bijgehouden.

Hoe dit model in bedrijfsprocessen wordt gebruikt


1. Multi-site en lokalisatie

Organisaties met verschillende merken of regio's leggen voor elke site een eigen website-record aan. Zo heeft elk platform eigen domein, talen en content. Het website_id-veld op pagina's, blogs en producten zorgt dat de juiste inhoud bij de juiste site hoort.


2. Huisstijl en identiteit

Logo, favicon en sociale links staan per website ingesteld zodat marketingteams makkelijk rebranding of lokale aanpassingen doorvoeren. De social_default_image verbetert de weergave bij gedeelde links.


3. Talen en SEO

language_ids en default_lang_id bepalen het talenaanbod; auto_redirect_lang verbetert de gebruikerservaring voor internationale bezoekers. Een correcte configuratie helpt ook bij hreflang en vindbaarheid.


4. Performance en CDN

Bij stijgende bezoekersaantallen activeer je cdn_activated en stel je cdn_url in om statische assets te offloaden. Met cdn_filters bepaal je welke paden herschreven worden.


5. Compliance en analytics

De cookies_bar regelt toestemming voor cookies; google_analytics_key en custom_code_head injecteren trackingcodes. robots_txt geeft controle over welke pagina's crawlers mogen indexeren.

Hoe ontwikkelaars dit model uitbreiden


Ontwikkelaars breiden het website-model uit met een paar vaste patronen, waarbij modelovererving de meest gebruikte techniek is.


Modelovererving

Je gebruikt _inherit = 'website' om het bestaande model uit te breiden. Zo voeg je nieuwe velden toe, overschrijf je methodes of voeg je validaties toe. Door uitbreidingen in aparte modules te plaatsen blijft upgradebaarheid gewaarborgd.


Velden toevoegen

Nieuwe velden definieer je in je geërfde model: Char, Many2one, Boolean, Integer, Text of Selection. Denk na over website-afhankelijke velden als je multi-site logica wilt ondersteunen.


Python-uitbreidingen

Overschrijf create, write of unlink om extra logica in te bouwen en gebruik super() om de originele implementatie te behouden. Let extra op user_id en company_id bij programmatic aanmaak van websites.


Odoo Studio

Met Odoo Studio voeg je snel velden toe zonder code—handig voor eenvoudige aanpassingen. Voor complexe businesslogica of API-gestuurde configuratie heeft een custom module de voorkeur.

Aanbevolen werkwijzen


  • Zet voor productie voor elke website een eigen domein. Dat helpt routing en SEO en voorkomt verwarring.
  • Houd default_lang_id altijd binnen language_ids; Odoo valideert dit en kan anders fouten geven.
  • Gebruik custom_code_head en custom_code_footer voor externe scripts. Pas liever geen core-templates aan, om compatibiliteit te bewaren.
  • Voor API-integraties gebruik je XML-RPC of JSON-RPC; het website-model is volledig beschikbaar. Zorg dat je website_id correct mapt bij het synchroniseren van content.
  • Geef aangepaste velden een prefix (bv. x_ of je module-prefix) om botsingen met toekomstige Odoo-versies te vermijden.

Veelvoorkomende fouten


  • Dubbele domeinen aanmaken. Het domain-veld heeft een unieke constraint; probeer geen exacte duplicaten te maken.
  • Vergeten user_id te zetten bij API-aanmaak van websites. Dit veld is verplicht en veroorzaakt anders fouten.
  • Een homepage_url instellen zonder leidende schuine streep. Odoo valideert dit en geeft dan een foutmelding.
  • cdn_activated aanzetten zonder geldige cdn_url. Statische bestanden kunnen dan niet laden en de site breekt in prestaties.
  • Core-methodes overschrijven zonder super() aan te roepen. Dat kan andere modules breken of problemen veroorzaken bij upgrades.

Slotwoord


Het website-model is de ruggengraat van siteconfiguratie in Odoo: domein, talen, huisstijl en gedragsinstellingen worden hier bewaard. Als je begrijpt welke velden belangrijk zijn en hoe andere modellen naar website verwijzen, configureer en integreer je Odoo-websites efficiënter.


Of je nu als consultant meer sites moet ontwerpen of als ontwikkelaar modules bouwt, een grondige kennis van het website-model bespaart tijd en voorkomt veelvoorkomende fouten.

Hulp nodig bij je Odoo-implementatie?


Dasolo begeleidt bedrijven bij implementatie, maatwerk en optimalisatie van Odoo. We specialiseren ons in API-koppelingen en ontwikkeling, met veel ervaring in de Odoo-data-architectuur en modellen zoals website.


Heb je hulp nodig bij je Odoo-implementatie, multi-websiteopzet of integraties? Ons team staat klaar om je project te ondersteunen. Boek een demo om je project te bespreken.

Het Website Model: Inzicht in Odoo’s Website Configuratie Architectuur
Dasolo 11 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten