Setting up multi-website with multiple (sub)domains in Odoo

In this tutorial I will learn you how to setup multiple website in Odoo and linking them to multiple (sub)domains. This allows you to setup multiple websites – and webshops – from one shared Odoo database and having those websites run on multiple (sub)domains.
In this tutorial I will setup two websites that link to two subdomains. Let’s assume that you want to have two separate websites where one is an informaton center and one is a shop.
We’ll host the information center on and the shop on

1. Creating multiple websites

The first step in adding an extra website (after the initial one) is by going to Website > Configuration > Settings and clicking on the button “Create a new website”. After clicking on this button you will get a pop-up:

Website configuration pop-up when opened

The website name is just informative and will be shown throughout Odoo so give it a good name, such as “Information portal” in our case. The second field, “Website Domain” will tell Odoo to which (sub)domain all pages related to this website should link. Enter the website URL here without www or https:// in front of it and no slashes, so like this:

Website configuration pop-up after configuration

When this is done click on “Pick a theme”, choose one, save and your second website is set up.
The next step is that you most likely want to configure extra options for your website such as the languages, social media accounts and so on. You can do this from Website > Configuration > Settings again. Keep a close eye out though! The options configured here are website specific! Be sure to first select the website you want to configure at the top before configuring your website further:

Website switcher in website configuration

Repeat this step for as many websites as you like. Once you’re done it is time for the next step, setting up the DBS records.

2. Setting up the DNS

Now that you’ve setup your website(s) in Odoo it is time to configure the DNS. By configuring the DNS you will tell Odoo that when the user enters a website URL in the web browser (for example to which server it should connect to get the data from.
Luckily this step is pretty forward. Login to the portal where your DNS is managed – usually your hosting provider – and add an A-record to your DNS list which connects the URL to the IP of the server. Your configuration will look something like this:

Sample DNS A-record

3. Configuring NGINX

Alright, so now we’ve told Odoo that we want a website and where it points too and we told our DNS which URL should go to which server (IP). The final step is to tell Nginx (or whichever alternative you use) which domain should link to where. You should already have an Nginx configuration file with a server block. The easiest is to make a duplicate of this block in the existing configuration file. Make sure that this duplicated code block it’s “server_name” points to the domain you’ve setup in the frontend of Odoo (so “”). Typically it would look something like this:

That’s it! Just don’t forget to reload and restart your Nginx to apply these changes (sudo service nginx reload and service nginx restart). If you do this configuration you can setup multiple websites with a separate design (theme) running on separate (sub)domains!

4. Conclusion

Thanks to the default built-in features from Odoo setting up multiple websites, webshops or portals is pretty easy! By just creating a second website, adding a DNS records and an Nginx server block you can have a new website running in a matter of minutes!
Has this tutorial helped you, do you have any feedback or questions? Post away!

Leave a Reply