Setting up Magento 2 Multi Stores tutorial – Part 1

One of the most exciting features of Magento 2 is the ability to set up multiple websites or store views from a single Magento 2 backend and codebase.

For example, you might have different sites per market -- a men’s clothing store, a woman’s clothing store, and a kid store; and each store uses different languages, domain names and categories as shown below:

Websites Website_id Store Group_id Storeview Store_id Domain
Main website 1 Main Website Store (ROOT catalog EN)
1 Menclothing 1
Main website 1 Main Website Store (ROOT catalog EN)
1 Womanclothing 2
Kidstore website 2 KidStore (ROOT catalog KID)
2 Kidstore 3

* Website_id, group_id and store_id are automatically generated by Magento 2

The tutorial will focus on Magento 2 multi-store functionality, with two parts. The first part presents you with an overview of areas you need to consider if looking to start multiple websites, stores and store views in Magento 2. In the second part of the tutorial, we will be looking at how to set up multi-store in Magento 2.

Before diving into how to set up multiple websites, or stores, let’s go over what is the difference between Websites, Stores, and Store Views, and why is it important in Magento 2.

Understanding Magento 2 Website, Store, and Store View structure

Set up Magento 2 multi stores

Set up Magento 2 multi stores


A website is the top-level container of the entire store. It defines domain names, different shipping methods, payment options, customers, orders, and so on.

Many websites can be used on a single Magento 2 installation, and each website can maintain a different base of articles, customer data, checkouts, and shopping cart which will not be shared with other websites in your Magento 2. One website can have one or more stores.

Technically, a website refers to the domain you use -- the main URL, domain, or subdomain of the store. You can point multiple domains to the same Magento 2 installation. These domains can share the full or in part catalog, all running from the same database.

A sample use case of multi-websites is when you wish to have two shops that do not interact with each other, for example Store A for men’s clothing and Store B for kid’s clothing. By creating such different websites, you have the ability to maintain different sets of customer data.


Store is the level where you manage your product catalog. One website can have multiple stores.

A store is always connected to a Root Category that holds all the categories and subcategories. That means it allows multiple stores under the same website to have different Root Catalog.

When using multiple stores, you can apply the same design, or a completely unique look and feel for each store. However, it is not possible to share one basket. The main reason for this has to do with the configuration setup, where shipping, catalog, customer, inventory, taxes, and payment settings are not shareable between different sites.

Store view

A Store View is the lowest level in the Magento set-up and mostly used to handle different localizations.

Every store view can have different language, layouts, and designs while sharing articles, customer data, checkout, and shopping cart. Store views are quite handy for merchants to localise content per market.

Magento 2 multi stores feature matrix

The multi-store functionality gives you great flexibility when setting up your store, but it’s important to know the possibilities and limitations before you plan out your website structure.

We put together a feature matrix which allows for quick and easy comparison between the three levels -- websites, stores, and store views.

Feature Different Websites Different Stores Different Store Views
Domain Can be on separate domains Can be on separate domains Can be on separate domains
Categories Different root categories Different root categories Same root categories for all store views
Block HTML output block_html Page blocks HTML After modifying the view layer
Products Different products Different products ( Due to the different root categories in different stores) Same products
Prices Different prices across each website Same prices Same prices
Currencies Different base currency in Backend and Frontend Same base currency Same base currency
Shipping methods Can be different Same origin Same origin
Payment methods Different methods Same method Same method
Languages Different languages Different languages Different languages
User accounts Admin can control to grant access to other websites or not Registered in one store view can access all store views Registered in one store view can access all store views
Design (theme) Different themes Different themes Different themes

Feature matrix -- Websites, Stores, Store Views in Magento 2

Please note at present the native Magento 2 does not provide multiple inventories capabilities. If you need different inventories across websites and stores, you will need customisations or third-party extensions.

What’s next?

The next part in this tutorial is coming out within next few days. It will guide you through all steps to set up multiple websites, stores and store views in Magento 2.

Update: Check out the part 2 of 2 in the series: Setting up Magento 2 Multi Stores Tutorial

If you have any questions or comments on this tutorial, please tell us about it in the discussion below.

Written By