Hoppa till innehåll

Odoo Website Model: Så fungerar webbplatskonfigurationen

En komplett guide till webbplatsmodellen i Odoo för utvecklare och funktionella konsulter
11 mars 2026 av
Odoo Website Model: Så fungerar webbplatskonfigurationen
Dasolo
| Inga kommentarer ännu

Inledning


I Odoo beskriver en modell hur affärsdata är uppbyggd och lagras i databasen. All information du arbetar med — produkter, sidor, inställningar — lever i en modell och dess fält.


Att förstå modeller är nödvändigt både för utvecklare och funktionella konsulter. Modellerna utgör Odoos datalager: här definieras fält, relationer och affärslogik som resten av systemet förlitar sig på.


Den här texten fokuserar på webbplatsmodellen — den del som hanterar webbplatsinställningar i Odoo. Oavsett om du bygger flera sajter, byter utseende eller integrerar externa system kommer du i praktiken att arbeta mot den här modellen.

Vad är webbplatsmodellen


Webbplatsmodellen är Odoos sätt att representera en webbplatskonfiguration. I den lagras allt som avgör hur en sajt ser ut och beter sig: domän, språk, profil, sociala länkar och menystruktur.


Modellen hör till Website-appen och varje Odoo-webbplats har sitt eget modellobjekt. I uppsättningar med flera webbplatser skapar man flera poster — varje webbplats kan ha separat domän, företagstilknytning, språk och tema.


Många andra modeller pekar på webbplatsmodellen via fältet website_id. Det är så innehåll som sidor, blogginlägg eller produkter kan avgränsas till en specifik sajt — en enkel mekanism för att skopsa data inom Odoo.

Viktiga fält i modellen


Nedan listas de viktigaste fälten i webbplatsmodellen. Att känna till dessa gör det lättare att konfigurera och felsöka sajten.


1. name

Typ: Char. Obligatoriskt. Lagrar webbplatsens namn och visas bland annat i backend-väljaren och i inställningsgränssnittet. Fungerar som primärt identifierande namn för sajten.


2. sequence

Typ: Integer. Standard 10. Styr i vilken ordning fler webbplatser visas i listor och menyer — lägre värden visas först.


3. domain

Typ: Char. Webbplatsens domän (t.ex. https://www.exempel.se). Odoo kompletterar protokoll vid behov och domänen måste vara unik eftersom den används för routing och SEO.


4. company_id

Typ: Many2one (res.company). Obligatoriskt. Kopplar webbplatsen till ett företag i Odoo. I multibolagsmiljö visas bara data som hör till det företaget.


5. language_ids

Typ: Many2many (res.lang). Lista över språk som är aktiverade på sajten. Besökare kan byta språk och som standard är alla installerade språk tillgängliga.


6. language_count

Typ: Integer. Beräknat fält som visar antal tillgängliga språk — praktiskt för vyer och filtrering.


7. default_lang_id

Typ: Many2one (res.lang). Obligatoriskt. Definierar vilket språk som visas vid första besöket. Språket måste ingå i language_ids.


8. auto_redirect_lang

Typ: Boolean. Standard True. Om aktiverat dirigeras besökare automatiskt till sitt browserspråk när det finns tillgängligt.


9. cookies_bar

Typ: Boolean. Visar en cookie-banner när det är aktiverat — användbart för GDPR-efterlevnad. Odoo kan även skapa en cookie-policy-sida automatiskt.


10. logo

Typ: Binary. Sajtlobbyns logotyp som visas i header och andra platser. Om inget sätts används en standardlogotyp.


11. favicon

Typ: Binary. Faviconen som visas i fliken. Odoo normaliserar bilden till exempelvis 256x256.


12. social_twitter

Typ: Char. Länk till Twitter/X-konto. Fältet kan ärvas från företagsinställningar och används i sidfoten och vid delning.


13. social_facebook

Typ: Char. Länk till Facebook-sida. Samma logik som för övriga sociala fält.


14. social_linkedin

Typ: Char. Länk till LinkedIn-profil.


15. social_instagram

Typ: Char. Länk till Instagram.


16. social_youtube

Typ: Char. Länk till YouTube-kanal.


17. social_github

Typ: Char. Länk till GitHub.


18. social_tiktok

Typ: Char. Länk till TikTok.


19. social_default_image

Typ: Binary. Standardbild som används vid delning i sociala medier. Om denna sätts används den före logotypen för Open Graph och Twitter-kort.


20. google_analytics_key

Typ: Char. Nyckel för Google Analytics som Odoo automatiskt injicerar i sidan när den finns konfigurerad.


21. google_maps_api_key

Typ: Char. API-nyckel för Google Maps som behövs för kartfunktioner.


22. user_id

Typ: Many2one (res.users). Obligatoriskt. Anger den publika användaren för sajten — används för portalåtkomst och anonyma sessioner. Sätts ofta från företagsinställningarna.


23. cdn_activated

Typ: Boolean. När aktiverat hämtas statiska resurser från ett CDN för bättre prestanda.


24. cdn_url

Typ: Char. Bas-URL för CDN som används när cdn_activated är satt.


25. cdn_filters

Typ: Text. Regex-mönster som bestämmer vilka URL:er som ska skrivas om till CDN-sökvägar. Standardinställningen riktar oftast mot statiska sökvägar.


26. menu_id

Typ: Many2one (website.menu). Beräknat fält som pekar på webbplatsens rotmeny.


27. homepage_url

Typ: Char. Skrivvägen till startsidan (t.ex. /kontakt eller /butik). Måste börja med snedstreck.


28. custom_code_head

Typ: Html. Fritt fält för att injicera kod i sidans — används för analys, meta-taggar eller tredjepartsskript.


29. custom_code_footer

Typ: Html. Kod som injiceras i sidfoten, exempelvis chattwidgets eller spårningsskript.


30. robots_txt

Typ: Html. Möjlighet att lägga in anpassat robots.txt-innehåll för att styra sökmotorernas åtkomst.


31. theme_id

Typ: Many2one (ir.module.module). Referens till det installerade temat som styr sidans utseende.


32. auth_signup_uninvited

Typ: Selection. Värden: b2b (endast inbjudna) eller b2c (öppet för egenregistrering). Styr om besökare kan skapa konto utan inbjudan.


33. create_date

Typ: Datetime. Tidpunkten då posten skapades — hanteras automatiskt av Odoo.


34. write_date

Typ: Datetime. Tidpunkt för senaste ändring — också automatiskt hanterat.

Hur modellen används i affärsflöden


1. Multiwebbplatser och lokalisering

Företag som agerar i flera länder eller under olika varumärken skapar en webbpost per sajt. Varje post kan ha egen domän, språk och innehåll — website_id på sidor och produkter ser till att rätt innehåll visas per sajt.


2. Varumärke och identitet

Logotyp, favicon och sociala länkar konfigureras per webbplats så marknadsteam snabbt kan byta profil vid rebranding. Fältet för delningsbild förbättrar förhandsvisningar när länkar delas i sociala kanaler.


3. Språk och SEO

language_ids och default_lang_id avgör vilka språk som erbjuds. Automatisk språkredirect höjer användarupplevelsen för internationella besökare och korrekt konfiguration hjälper också med hreflang och sökmotoroptimering.


4. Prestanda och CDN

När trafiken ökar kan man aktivera CDN för att avlasta servern — cdn_activated och cdn_url pekar om statiska filer medan cdn_filters bestämmer vilka sökvägar som omskrivs.


5. Efterlevnad och analys

cookies_bar hanterar cookie-samtycke, google_analytics_key och custom_code_head möjliggör spårning, och robots_txt används för att styra sökmotorers åtkomst på ett kontrollerat sätt.

Hur utvecklare bygger ut modellen


Utvecklare kan bygga ut webbplatsmodellen med Odoos ärvningsmekanismer och några etablerade mönster.


Modellläggning/ärvning

I din modul använder du _inherit = 'website' för att lägga till fält, skriva om metoder eller lägga in valideringar. Genom att hålla ändringar i en separat modul blir uppgraderingar enklare.


Lägga till fält

Definiera nya fält i den ärvda modellen med lämplig typ — Char, Many2one, Boolean, Integer, Text eller Selection. Tänk igenom om fältet ska vara webbplatsberoende i en multi-sajt-miljö.


Python-utvidgningar

Skriv över create, write eller unlink för att lägga in egen logik — anropa alltid super() där det är relevant. Var särskilt uppmärksam på user_id och company_id när webbplatser skapas programmässigt.


Odoo Studio

Odoo Studio är ett bra verktyg för snabba ändringar utan kod, men för avancerad logik eller API-styrd konfiguration är en modulbaserad lösning oftast mer hållbar och versionsbar.

Rekommenderade tillvägagångssätt


  • I produktionsmiljö: sätt alltid korrekt domän för varje webbplats — det förbättrar routing och sökmotoroptimering.
  • Se till att default_lang_id finns i language_ids — Odoo validerar detta och avvikelse ger fel.
  • Använd custom_code_head och custom_code_footer för tredjepartsskript istället för att ändra kärnmallar, så blir det lättare att uppgradera.
  • När du bygger API-integrationer: använd XML-RPC eller JSON-RPC och mappa website_id korrekt så innehåll synkas till rätt sajt.
  • För egna fält: prefixa med x_ eller modulns prefix för att undvika namnkonflikter vid framtida Odoo-uppgraderingar.

Vanliga misstag


  • Att skapa poster med duplicerade domäner — domain-fältet har unikhetsbegränsning och kollapsar om du försöker duplicera.
  • Glöm inte user_id vid skapande via API — fältet är obligatoriskt och orsakar fel annars.
  • Ange alltid homepage_url med ledande snedstreck — utan det kommer Odoo att slå ifrån sig och ge ett valideringsfel.
  • Aktivera inte cdn_activated utan att ange en giltig cdn_url — annars kan statiska resurser sluta laddas korrekt.
  • Att skriva över kärnmetoder utan att anropa super() riskerar att bryta annan funktionalitet eller orsaka problem vid uppgradering.

Sammanfattning


Webbplatsmodellen ligger i centrum för hur sajter i Odoo konfigureras. Den samlar domän, språk, profil och beteende i en strukturerad form, och andra modeller refererar till den för att hålla innehåll på rätt plats.


Oavsett om du kartlägger behov för flera sajter som konsult eller bygger moduler som utvecklare, ger kunskap om webbplatsmodellen mindre felsökning och snabbare implementationer.

Behöver ni hjälp med er Odoo-implementation?


Dasolo hjälper företag med att implementera, anpassa och optimera Odoo. Vi har särskild kompetens kring API-integrationer och vidareutveckling av Odoo-modeller som webbplatsmodellen.


Behöver ni stöd med er Odoo-implementation, multiwebbplatsupplägg eller integrationer — vi kan hjälpa till. Boka en demo för att diskutera ert projekt.

Odoo Website Model: Så fungerar webbplatskonfigurationen
Dasolo 11 mars 2026
Dela detta inlägg
Logga in att lämna en kommentar