What Is OpenCart Multi-Store?
OpenCart's multi-store feature allows you to run multiple online stores from a single OpenCart installation and admin panel. Each store can have its own domain name, theme, product selection, pricing, language, and currency settings while sharing the same database, customer accounts, and order management system. This is ideal for businesses that sell to different markets, operate multiple brands, or want to create niche stores from a single product catalog.
When to Use Multi-Store
- Regional stores: Sell to different countries with localized pricing, languages, and payment methods.
- Brand separation: Run different brand websites that share backend inventory and order management.
- B2B and B2C: Maintain separate storefronts for retail customers and wholesale buyers.
- Niche storefronts: Create focused product category stores that link back to a main catalog.
- Test environments: Run a staging store on a subdomain alongside your production store.
Prerequisites
- Domain or subdomain: Each additional store needs its own domain or subdomain pointed to your OpenCart installation directory.
- SSL certificates: Each domain needs its own SSL certificate or a wildcard/multi-domain certificate.
- Hosting resources: Multi-store uses the same codebase but increases database and memory usage proportionally with the number of stores.
Step-by-Step Setup
Step 1: Point Your Domain
Configure DNS for your additional domain or subdomain to point to the same server and directory as your main OpenCart store. In your web server configuration (Apache or Nginx), add a virtual host or server block for the new domain that points to the OpenCart root directory.
Step 2: Create the Store in Admin
- Log in to your OpenCart admin panel.
- Navigate to System > Settings.
- Click the Add New button.
- Under the General tab:
- Enter the store name.
- Set the Store URL to the full URL of your new domain including the trailing slash (e.g.,
https://store2.example.com/).
- Configure the remaining tabs (Store, Local, Option, Image, Mail, Server) for the new store. Each setting can differ from the default store.
- Click Save.
Step 3: Assign Products
By default, products are assigned to all stores. To control which products appear on which store:
- Edit a product in the admin panel.
- Go to the Links tab.
- In the Stores field, select which stores should display this product.
- Repeat for each product that needs store-specific availability.
Step 4: Configure Themes
Each store can use a different theme. In the store settings under the Store tab, select the theme template for each store. This allows completely different visual branding across your stores while sharing the same products and backend.
Step 5: Set Up Languages and Currencies
Configure language and currency settings for each store under the Local tab in store settings. A store targeting France might default to French language with Euro currency, while a store targeting Japan uses Japanese and Yen.
Step 6: Configure Payment and Shipping
Payment methods and shipping options can be configured globally or per-store. Review each payment gateway and shipping method extension to ensure they are enabled and correctly configured for the new store's target market.
Managing Multiple Stores
The admin panel provides a store selector for managing content that varies between stores. When editing products, categories, and information pages, you will see store assignment options. Orders from all stores appear in a single order list, with a column indicating which store the order came from.
Common Issues and Solutions
- Store showing default store content: Verify the Store URL in settings exactly matches the URL in the browser, including protocol (https) and trailing slash.
- Login not working across stores: Customer accounts are shared, but login sessions are domain-specific. Customers need to log in separately on each domain.
- Images not loading on secondary store: Ensure your image URLs use the correct domain. Check the image settings in the secondary store configuration.
- SEO URLs not working: Each store needs its own .htaccess or nginx rewrite rules configured for the domain. Ensure SEO URLs are enabled in the store's server settings.
Performance Considerations
Multi-store does not duplicate the codebase, so disk usage is minimal. However, database queries increase because OpenCart checks store assignments for products, categories, and settings. On shared hosting, more than 3-4 stores may cause performance issues. For larger multi-store setups, use VPS or dedicated hosting with proper database optimization.