How to Manage Multiple Stores
Overview
Why Multi-Store Management Matters
- Reduce operating costs by managing multiple brands from one installation
- Improve customer experience with localized content for each market
- Scale faster with consistent governance across all storefronts
- Centralized inventory and order management across regions
Operate multiple brands, regions, or catalogs from one Magento 2 installation to reduce operating cost, improve customer experience per market, and scale faster with consistent governance.
Magento's multi-store architecture allows you to manage different websites, stores, and store views from a single admin panel. This guide walks you through planning and implementing a multi-store setup that serves different regions, brands, or customer segments while maintaining centralized control.
Note: Plan your multi-store structure carefully before implementation. Changing the hierarchy after launch can be complex and may require data migration.
Prerequisites
Before you begin, make sure you have:
Admin Panel Access
Access to Magento Admin Panel
What You'll Accomplish
By following this guide, you will:
- Successfully configure a multi-store setup with websites, stores, and store views
- Set up separate domains, catalogs, and localization for each storefront
- Configure region-specific settings for tax, payments, shipping, and inventory
- Verify end-to-end functionality for all storefronts
Step-by-Step Instructions
Planning Guidance
Use Websites for separate domains and checkout flows, Stores for different catalogs under the same checkout, and Store Views for language/currency variations. Document your structure before starting implementation.
Plan your multi-store structure
Decide what you need: Websites for separate domains, pricing, checkout; Stores for different catalogs under the same checkout; Store Views for language/currency variations.
Example structure: Create two Websites (US, UK), each with one Store and one Store View.
Note decisions for:
- Price scope (global vs. website-specific pricing)
- Account sharing (shared customer accounts across websites or separate)
- Inventory strategy (shared inventory or separate sources per region)
Estimated time: 10 minutes for planning. Document your decisions before proceeding to implementation.
Create the Website container
Go to Stores › All Stores › Create Website. Enter a Name (e.g., UK Storefront), a unique Code (e.g., uk), and Sort Order.
Save the website configuration.
Repeat for any additional websites you need to create.
Create a Root Category for the new store
Go to Catalog › Categories. Click Add Root Category.
Name it (e.g., UK Catalog Root), set Enable Category = Yes and Include in Menu = Yes.
Save the root category.
Add child categories as needed for your catalog structure.
Create the Store and assign the Root Category
Go to Stores › All Stores › Create Store.
Choose the Website you created, enter a Name (e.g., UK Store), and set Root Category to the one you just created.
Save the store configuration.
Create Store Views for language/currency
Go to Stores › All Stores › Create Store View.
Select the Store, enter Name (e.g., English UK), Code (e.g., en_uk), and set Status = Enabled.
Save the store view configuration.
Create additional views for other languages if needed (e.g., French UK, German UK).
Configure Base URLs for each Website
Go to Stores › Configuration. In the scope switcher (top left), select the new Website.
Navigate to General › Web. Expand Base URLs and Base URLs (Secure).
Enter the full domain URL (e.g., https://uk.brand.co.uk/). Set Use Secure URLs in Storefront = Yes and Use Secure URLs in Admin = Yes.
Save the configuration.
Coordinate DNS/SSL setup and web server vhost configuration if not already done before testing the storefront.
Set locale, time zone, and currency per Store View/Website
For language and formatting, select the Store View in the scope switcher and go to General › Locale Options.
Set Locale (e.g., English (United Kingdom)) and Timezone.
For currency, switch to Website scope: General › Currency Setup. Set Base Currency, Default Display Currency, and Allowed Currencies.
Save the configuration after each section.
Configure tax, payment, and shipping per Website
Switch to the target Website scope in the configuration area.
Go to Sales › Tax to set tax classes and rules per region.
Then go to Sales › Payment Methods to enable region-appropriate methods (e.g., PayPal for UK).
Configure Sales › Shipping Methods for carriers and zones specific to this region.
Save after each section to ensure configurations are applied correctly.
Assign inventory sources and stock to the Website (MSI)
Go to Stores › Inventory › Stocks. Edit or create a Stock that includes the Sources serving this region.
Assign the Website to this Stock.
Ensure Sources have quantity for relevant products (Stores › Inventory › Sources or per product).
Save the stock configuration.
Assign products to the Website and categories
Open a product (Catalog › Products). In Product in Websites, select the new Website.
Assign the product to categories under the Store's Root Category.
If Price Scope = Website, enter website-specific prices.
Save the product.
Repeat for key products (or use bulk actions/import for larger catalogs).
Set default store view and optional URL code behavior
Go to Stores › All Stores. Edit the Website to confirm the Default Store and Default Store View.
If using separate domains, go to Stores › Configuration › General › Web › URL Options and set Add Store Code to URLs = No.
If sharing a domain with paths, set it to Yes and configure rewrites accordingly.
Clear cache and let indexes update
Go to System › Cache Management. Click Flush Magento Cache.
Ensure cron is running so indexers update automatically.
If necessary, schedule a developer to run CLI reindex (bin/magento indexer:reindex). Refresh storefront pages to verify changes.
Verify storefronts end-to-end
Visit each domain. Confirm theme/logo, language, currency, categories, and product pricing display correctly.
Place a test order with website-specific payment and shipping methods.
In Admin, go to Sales › Orders and verify the Website column and order totals are correct.
Check Stores › Currency › Currency Rates to confirm expected conversions are reflected.
Verification
To confirm everything is working correctly:
-
Admin Panel Configuration
- ✓ Navigate to the admin panel and verify all Websites, Stores, and Store Views are visible and configured correctly
- ✓ Check that all scope-specific configurations (URLs, currencies, locales) are saved correctly
-
Storefront Display
- ✓ Each domain displays the correct theme, logo, and branding
- ✓ Language and currency display correctly for each Store View
- ✓ Categories and products are assigned to the correct store catalogs
-
Customer Experience
- ✓ Test the complete checkout flow from a customer perspective on each website
- ✓ Verify website-specific payment and shipping methods are available
- ✓ Product pricing reflects website-specific prices if configured
Common Issues and Solutions
Solution
- Verify products are assigned to the Website in Product in Websites section
- Check that products are assigned to categories under the correct Root Category
- Ensure product status is Enabled and visibility is set appropriately
- Flush cache and reindex (System › Cache Management › Flush Magento Cache)
Solution
- Verify Base URLs are set correctly in website scope (Stores › Configuration › General › Web)
- Check web server vhost configuration points to correct Magento installation
- Confirm DNS records are properly configured and propagated
- Clear browser cache and test in incognito mode
Solution
- Check currency configuration is set at Website scope (General › Currency Setup)
- Verify Base Currency, Default Display Currency, and Allowed Currencies are correct
- If using website-specific pricing, confirm Catalog Price Scope is set to Website
- Update currency rates (Stores › Currency › Currency Rates)
Solution
- Verify Stock is assigned to the Website (Stores › Inventory › Stocks)
- Ensure Sources serving this region are included in the Stock
- Check product quantities are assigned to the correct Sources
- Run inventory reindex (System › Index Management › Inventory reindex)
Solution
- Switch to Website scope and verify methods are enabled (Sales › Payment Methods / Shipping Methods)
- Check applicable countries are configured correctly for each method
- Verify any method-specific requirements are met (credentials, minimum order amounts)
- Clear cache after configuration changes