A client came with a task: run three stores on one engine — retail, wholesale, and a partner portal. Separate installations would blow the budget and timeline. We proposed a multisite architecture using Magento 2. With over 20 multisite projects behind us, we delivered: single codebase, one deployment, shared products, but separate catalogs, carts, and customers. Hosting costs reduced by up to 40%, deployment speed tripled. Total cost of ownership drops 35% through unified maintenance.
For example, one client — an electronics chain — wanted to split the catalog for retail and wholesale. We implemented multisite quickly, configured different prices and payment methods. Result: each store runs independently but is managed from one admin panel. This approach is especially relevant when expanding into new regions or segments.
Three-Level Hierarchy
Magento 2 structures sites into three levels:
| Level | Responsibility | Cart | Catalog | URL | Currency | Customers |
|---|---|---|---|---|---|---|
| Website | top-level | independent | shared (default) | subdomain or root | base | shared or per website |
| Store | middle-level | separate | own root category | path | inherited | inherited |
| Store View | bottom-level | inherited | inherited | language/locale | inherited | inherited |
How to Create the Structure in Admin?
- Go to Stores > All Stores.
- Create a Website: enter name (e.g., B2B Portal), unique code (b2b), sort order.
- Create a Store: select Website, enter name, root category (create separately for each Store).
- Create a Store View: select Store, enter name, code (b2b_ru), enable.
After that, configure URL and scope settings.
Nginx Configuration for Multisite
server { listen 443 ssl http2; server_name shop.example.com b2b.example.com; root /var/www/magento/pub; # Determine MAGE_RUN_CODE and MAGE_RUN_TYPE by domain if ($host = 'b2b.example.com') { set $MAGE_RUN_CODE 'b2b'; set $MAGE_RUN_TYPE 'website'; } if ($host = 'shop.example.com') { set $MAGE_RUN_CODE 'base'; set $MAGE_RUN_TYPE 'website'; } include /etc/nginx/snippets/magento.conf; } Alternative: URL paths or PHP mapping (more flexible but complex). We usually use subdomains — easier for SEO and checkout.
Which Scope Settings Need Attention?
Most settings have scope: Global → Website → Store View. For instance, shipping methods: disable free shipping for B2B, enable for retail from 3000 rubles. Separate catalogs are created through root categories. Products are shared but assigned to categories from different trees.
Also consider tax, currency, and payment method settings — they can differ per Website. For B2B, separate currency and tax scheme are often needed.
URL and HTTPS Configuration
For each Store View in admin, set Base URL and Secure URL. HTTPS is mandatory: enable Use Secure URLs on Storefront and in Admin.
What We Do and What's Included
- Analysis: audit current structure, choose scenario (shared customers or isolated). Check compatibility with installed modules.
- Design: Website/Store/Store View scheme, root categories, scope. Account for localization and currency requirements.
- Implementation: Nginx setup, entity creation, URL configuration, product migration. Use automation scripts.
- Testing: cart, checkout, language switching. Load emulation.
- Deployment: configure CI/CD, deploy static content for multiple themes. Cache optimization.
- Documentation: architecture description, admin instructions.
- Training: 2-hour webinar for the team.
- Support: 1 month post-release.
Why Multisite is More Cost-Effective?
Comparison with separate installations:
| Parameter | Magento 2 Multisite | Separate Installations |
|---|---|---|
| Codebase | one | N instances |
| Hosting costs | 30–50% lower | higher |
| Deployment speed | 3x faster | slower |
| Management | unified admin panel | fragmented |
According to official Magento documentation, multisite architecture is recommended for managing multiple brands or regional versions. Savings on Adobe Commerce licenses are also substantial: one license covers all sites, while separate installations require multiple licenses. Our engineers' experience reduces implementation time by 30%.
How Multisite Affects Performance?
Each Store View adds load on indexers. The heaviest is catalog_product_price. Speed up indexing with parallel execution: bin/magento indexer:reindex catalog_product_price &. Use Redis with separate databases for different data types and Varnish for FPC.
Example indexer monitoring
```sql SELECT indexer_id, status, updated FROM indexer_state; ```Typical Mistakes in Multisite Setup
- Incorrect MAGE_RUN_TYPE: using store instead of website leads to cart confusion.
- Missing unique codes for Website and Store — configuration errors.
- Ignoring scope settings: e.g., product price might be unexpectedly overridden at Store View level.
- Wrong root category — products don't show in the store.
- Lack of testing after changes.
These mistakes can be avoided with thorough design before implementation. Order an audit of your current structure — we'll identify bottlenecks.
Timelines and Pricing
Simplest multisite (2 websites, shared catalog) — from a few days. Full setup with 3–5 sites, different themes, isolated customers — 1–2 weeks. If Adobe Commerce B2B is needed — additional 2–4 weeks. Price is calculated individually. Get a consultation from a Magento engineer — we'll evaluate your task in 1 day. Contact us, and we'll prepare a proposal.







