Mehrere Websites in einer Odoo-Datenbank
Kurz gesagt
Mehrere Websites laufen in einer Odoo-20.0-Datenbank: Sie legen sie unter Website > Konfiguration > Einstellungen über + Neue Website an und geben jeder im Feld Domain ihre Adresse. Die Dokumentation verlangt dafür mindestens eine Domain. Bei Odoo Online und Odoo.sh kommen ein CNAME-Eintrag auf die Datenbankadresse und zwei Zuordnungen hinzu, zur Datenbank und zur Website; eine Adresse ohne www braucht eine Weiterleitung aus http und https, ein Zertifikat erzeugt Odoo für sie nicht. Bei einer eigenen Installation ordnet der vorgeschaltete Reverse Proxy den Hostnamen zu, die Option db-filter wählt die Datenbank.
Das Wichtigste
- Odoos Dokumentation verlangt für mehrere Websites mindestens eine eigene Domain.
- Bei Odoo Online und Odoo.sh muss der CNAME-Eintrag vor der Zuordnung stehen, sonst kann die Zertifikatsprüfung fehlschlagen.
- Das Feld Domain unter Website > Konfiguration > Einstellungen gilt je Website und bestimmt auch die Links in Angeboten.
- Bei Odoo Online und Odoo.sh braucht eine nackte Domain ohne www eine 301-Weiterleitung aus http und aus https; Odoo erzeugt für sie kein Zertifikat.
- Neue Websites starten mit Standardeinstellungen; Einstellungen werden nicht von der ersten Website übernommen.
- Die meisten im Frontend erstellten Datensätze (Produkte, Kurse, Forenbeiträge) erscheinen zunächst auf allen Websites, bis Sie sie über das Feld Website einschränken; Preise steuern Sie über Preislisten je Website.
Eine einzelne Odoo-Datenbank kann mehrere Websites tragen, jede mit eigener Startseite, eigenen Einstellungen und eigener Adresse. Bei Odoo Online und Odoo.sh führt der Weg über drei Stationen: den DNS-Eintrag beim Domain-Anbieter, die Zuordnung zur Datenbank und den Eintrag im Feld Domain der jeweiligen Website. Diese Reihenfolge ist keine Formalie; bei Odoo Online und Odoo.sh entscheidet sie, ob am Ende ein gültiges Zertifikat ausgeliefert wird. Bei einer eigenen Installation entfällt die Zuordnung zur Datenbank: Den Hostnamen übernimmt der vorgeschaltete Reverse Proxy, die Option db-filter bestimmt, welche Datenbank auf ihn antwortet.
Was Sie vorab brauchen
- Die App Website ist installiert. Für Preise je Website kommt die App E-Commerce (eCommerce) hinzu. Der Editionsvergleich führt den Website Builder in der Community- und in der Enterprise-Spalte; die Dokumentation kennzeichnet mehrere Websites nicht als Enterprise-Funktion.
- Mindestens eine eigene Domain. Die Dokumentation 20.0 nennt als zweite Möglichkeit ausdrücklich eine Subdomain der vorhandenen Domain. Wer noch keine hat, kann bei Odoo Online eine Domain registrieren; dieses Angebot gilt nur dort, für One-App-Free-Tarife, ist auf eine Domain je Kunde und eine Neu-Registrierung beschränkt und ist im ersten Jahr kostenlos (danach Verlängerung über den Registrar zum dortigen Tarif). Eine Verifizierungs-E-Mail muss bestätigt werden.
- Zugang zu den DNS-Einstellungen Ihres Domain-Anbieters. Dort entsteht bei Odoo Online und Odoo.sh der CNAME-Eintrag; bei einer eigenen Installation legen Sie den Hostnamen stattdessen am vorgeschalteten Proxy und in der Option db-filter fest.
- Zugriff auf die Einstellungen (Administratorrechte) und, für die Reihenfolge mehrerer Websites, der Entwicklermodus.
- Die Adresse Ihrer Datenbank: bei Odoo Online die beim Anlegen vergebene Subdomain (etwa firma.odoo.com), bei Odoo.sh die Projekt- oder Branch-Adresse.
Welche Domain gehört zu welcher Website
Drei Dinge sind auseinanderzuhalten: der DNS-Eintrag, die Zuordnung zur Datenbank und die Zuordnung zur Website. Die folgende Tabelle zeigt für typische Adressen, was jeweils zu tun ist.
| Adresse (Beispiel) | Rolle | DNS-Eintrag beim Anbieter | Ziel des Eintrags | Wo in Odoo eintragen |
|---|---|---|---|---|
| firma-a.de | nackte Domain, nur als Weiterleitung | 301-Weiterleitung aus http und https; Odoo beschreibt dafür Cloudflare (CNAME mit Name @, Proxy an) | https://www.firma-a.de | nicht in Odoo |
| www.firma-a.de | Hauptadresse der ersten Website | CNAME mit Name www | Datenbankadresse, etwa firma.odoo.com | Website > Konfiguration > Einstellungen, Feld Domain |
| www.firma-b.de | zweite, eigene Domain | CNAME mit Name www | dieselbe Datenbankadresse | Einstellungen der zweiten Website, Feld Domain |
| shop.firma-a.de | Subdomain der ersten Domain für eine weitere Website | CNAME mit Name shop | dieselbe Datenbankadresse | Einstellungen der weiteren Website, Feld Domain |
| firma.odoo.com | Systemadresse der Datenbank | entfällt | entfällt | automatisch vergeben |
Der CNAME-Eintrag zeigt Ihre Adresse auf die Datenbank; fehlt er oder steht er falsch, kann Odoo bei Odoo Online und Odoo.sh das Zertifikat nicht prüfen. Danach ordnen Sie die Domain der Datenbank zu, erst zuletzt der Website. Die DNS-Schritte dieser Tabelle gelten für Odoo Online und Odoo.sh; bei einer eigenen Installation bestimmen der Reverse Proxy und die Option db-filter, welche Datenbank auf einen Hostnamen antwortet. Nackte Domains nimmt Odoo.sh nicht an, weil sie nur über A-Einträge mit einer IP-Adresse verbunden werden könnten, die sich ändern kann.
Zuletzt die Website: Im Feld Domain unter Website > Konfiguration > Einstellungen steht die Adresse der ausgewählten Website. Der Eintrag entscheidet, welche Website auf eine Adresse antwortet und welche Adresse in Links aus Odoo erscheint, etwa im Kundenportal.
Schritt für Schritt: zweite Website mit eigener Domain einrichten
Schritt 1: DNS-Eintrag anlegen
Legen Sie beim Domain-Anbieter einen CNAME-Eintrag an, dessen Ziel die Adresse Ihrer Datenbank ist. Die genaue Schreibweise hängt vom Anbieter ab. Verwalten Sie die DNS-Einträge einer kostenlosen Odoo-Domain, tragen Sie das Ziel im DNS-Editor des Datenbankmanagers mit abschließendem Punkt ein, etwa firma.odoo.com.
Ergebnis: Der Eintrag steht in den DNS-Einstellungen. Über die Verbreitung entscheidet das DNS; die Dokumentation nennt bis zu 72 Stunden bis zur weltweiten Verbreitung.
Schritt 2: Domain der Datenbank zuordnen
Bei Odoo Online: Öffnen Sie den Datenbankmanager, klicken Sie auf den Namen der Datenbank, wählen Sie Domain Names und dann Use my own domain, geben Sie die Adresse ein und bestätigen Sie mit Verify und I confirm, it’s done. Bei Odoo.sh: Branches > Branch > Einstellungen > Custom domains, Adresse eintragen, Add domain. Bei einer eigenen Installation entfällt dieser Schritt: Den Hostnamen ordnet der vorgeschaltete Proxy zu, die Option db-filter wählt die Datenbank darauf ab.
Ergebnis: Die Datenbank nimmt Anfragen für diese Adresse an.
Schritt 3: Zweite Website anlegen
Öffnen Sie Website > Konfiguration > Einstellungen und klicken Sie im Banner auf + Neue Website. Im Fenster Website hinzufügen tragen Sie Website-Name ein, bei Bedarf das Feld Website-Domain, in einer Mehrgesellschaftsumgebung das Unternehmen und in einer mehrsprachigen Datenbank die Sprachen samt Standardsprache. Klicken Sie auf Erstellen.
Ergebnis: Die neue Website steht in der Website-Auswahl. Sie startet mit Standardeinstellungen; Einstellungen der ersten Website werden nicht übernommen.
Schritt 4: Domain der zweiten Website zuordnen
Öffnen Sie Website > Konfiguration > Einstellungen, wählen Sie oben links in der Auswahl die zweite Website und tragen Sie im Feld Domain ihre Adresse ein, etwa https://www.firma-b.de. Speichern Sie.
Ergebnis: Beide Adressen liefern unterschiedliche Websites aus. Bei Odoo Online und Odoo.sh erzeugt Odoo für jede zugeordnete Domain ein eigenes Zertifikat über Let’s Encrypt; die Dokumentation nennt bis zu 24 Stunden und weitere Prüfversuche über fünf Tage (die Odoo.sh-Dokumentation spricht abweichend von einer Stunde). Vorgeschaltete CAA-Einträge müssen Let’s Encrypt zulassen, sonst kann die Erzeugung fehlschlagen.
Schritt 5: Nackte Domain weiterleiten
Richten Sie beim Domain-Anbieter eine dauerhafte Weiterleitung (301) von http://firma-a.de und von https://firma-a.de auf https://www.firma-a.de ein. Beide Ausgangsadressen sind nötig: Bei Odoo Online und Odoo.sh erzeugt Odoo für eine Adresse ohne Subdomain kein Zertifikat, ein Aufruf von https://firma-a.de hat dort also keine gültige Verbindung. Nicht jeder Anbieter leitet eine nackte Domain auf HTTPS um; Odoo beschreibt für diesen Fall die Einrichtung bei Cloudflare (CNAME mit Name @, Proxy aktiv, Redirect-Regel auf https://www.firma-a.de, Verschlüsselungsmodus Full).
Ergebnis: Wer die kurze Adresse eintippt, landet auf der www-Adresse. Die Warnung an der nackten Domain verschwindet nur, wenn Ihr Anbieter die Weiterleitung auf HTTPS-Ebene ausliefert; kann er das nicht, bleibt der Aufruf von https://firma-a.de fehlerhaft.
Schritt 6: Inhalte, Preise und Konten je Website trennen
Die meisten Website-Einstellungen gelten je Website; geteilte Einstellungen sind in der Oberfläche mit einem Info-Symbol gekennzeichnet. Die meisten im Frontend erstellten Datensätze wie Produkte, Kurse oder Forenbeiträge erscheinen dagegen zunächst auf allen Websites. Sie schränken sie über das Feld Website ein, bei Produkten über den Reiter E-Commerce (eCommerce). In einer Mehrgesellschaftsumgebung lässt sich jede Website einem Unternehmen zuordnen, sodass nur dessen Daten erscheinen. Preise steuern Sie je Website über Preislisten: Unter Website > Konfiguration > Einstellungen aktivieren Sie die Option Preislisten (Pricelists) und setzen in der Preisliste im Reiter Konfiguration das Feld Website. Dieselbe Kundenanmeldung auf allen Websites erlaubt die Option Websiteübergreifende Kundenkonten (Shared Customer Accounts).
Ergebnis: Jede Website zeigt die Inhalte, Preise und Kundenkonten, die Sie ihr zugeordnet haben.
Schritt 7: Weiterleitungen für die alte Adresse anlegen
Beim Umzug einer bestehenden Website legen Sie unter Website > Konfiguration > Umleitungen fest, wohin alte Adressen führen. Die Dokumentation unterscheidet 404 Not found, 301 Moved permanently für dauerhafte Umzüge, 302 Moved temporarily für kurzfristige und 308 Redirect / Rewrite für umbenannte dynamische Seiten. Beim Ändern einer Seitenadresse mit aktiviertem Alte URL weiterleiten (Redirect Old URL) legt Odoo den Eintrag selbst an.
Ergebnis: Alte Links laufen nicht ins Leere, und Suchmaschinen tragen die neue Adresse nach.
So prüfen Sie das Ergebnis
- Rufen Sie jede Adresse einzeln auf. Jede muss die vorgesehene Website zeigen, ohne Zertifikatswarnung.
- Tippen Sie die nackte Domain ein. Sie muss auf die www-Adresse umleiten.
- Öffnen Sie eine Website, wechseln Sie über die Website-Auswahl oben rechts zur nächsten und vergleichen Sie Startseite, Menü und Fußzeile.
- Prüfen Sie einen Datensatz, der nur auf einer Website erscheinen soll: Er darf auf der anderen nicht auftauchen.
- Legen Sie ein Testangebot an und kontrollieren Sie die Adresse im Portal-Link. Zeigt sie auf die falsche Website, ordnen Sie die Reihenfolge unter Website > Konfiguration > Websites im Entwicklermodus neu.
Wenn etwas nicht klappt
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Browser warnt vor dem Zertifikat | CNAME fehlt oder wurde erst nach der Zuordnung gesetzt; bei einer Adresse ohne Subdomain erzeugt Odoo kein Zertifikat | CNAME und Zieladresse prüfen, danach bis zu fünf Tage abwarten; für die nackte Domain eine 301-Weiterleitung aus http und https auf die www-Adresse einrichten |
| Zweite Adresse zeigt die erste Website | Domain nur der Datenbank, nicht der zweiten Website zugeordnet | Feld Domain in den Einstellungen der zweiten Website prüfen |
| Domain lässt sich nicht zuordnen | CNAME fehlt, oder es wurde die nackte Domain eingetragen | www-Adresse verwenden; Odoo.sh lehnt nackte Domains ab |
| Links in Angeboten führen auf die andere Adresse | Mehrere Websites je Gesellschaft: Odoo nutzt die zuerst angelegte | Reihenfolge unter Website > Konfiguration > Websites im Entwicklermodus ändern |
| Neue Website zeigt dieselben Produkte | Die meisten im Frontend erstellten Datensätze gelten für alle Websites, solange das Feld Website leer ist | Feld Website am Produkt setzen, bei Produkten im Reiter E-Commerce (eCommerce) |
| Beide Websites zeigen dieselbe Startseite | Jede Website braucht eine eigene Startseite | Startseite je Website festlegen |
| Menüpunkt Preislisten fehlt | Option nicht aktiviert | Unter Website > Konfiguration > Einstellungen die Option Preislisten (Pricelists) einschalten |
Wann Sie Hilfe holen sollten
Holen Sie Unterstützung, wenn Sie eine gewachsene Website mit bestehenden Rankings umziehen, Adressen aus einem Altsystem übernehmen oder mehrere Gesellschaften und Sprachen zusammenbringen. Bei einer eigenen Installation entscheidet die Option db-filter, welche Datenbank auf einen Hostnamen antwortet; die Verschlüsselung entsteht über einen vorgeschalteten Proxy, der auch unverschlüsselte Anfragen umleitet. Für den Aufbau lesen Sie Odoo-Website aufbauen, für die Sichtbarkeit bei Google Odoo-Website in Google sichtbar machen. Wollen Sie Kundenkonten über mehrere Websites zusammenführen, klären Sie die datenschutzrechtliche Seite mit Ihrer Datenschutzberatung.