Your shopping cart is empty. Browse our Store

Magento

Open Source eCommerce Evolved

Overview: How Multiple Websites & Stores Work

Global | Website | Store | Store View

One of Magento’s advanced features allows for management of multiple websites and stores within one installation, and we have an amazing system to support this:  GWS - aka “Global, Website, Store.”

  • Global: This refers to the entire installation.
  • Website: Websites are ‘parents’ of stores.  A website consists of one or more stores. Websites can be set up to share customer data, or not to share any data
  • Store (or store view group): Stores are ‘children’ of websites.  Products and Categories are managed on the store level.  A root category is configured for each store view group, allowing multiple stores under the same website to have totally different catalog structures.
  • Store View: A store needs one or more store views to be browse-able in the front-end.  The catalog structure per store view will always be the same, it simply allows for multiple presentations of the data in the front.  90% of implementations will likely use store views to allow customers to switch between 2 or more languages.

image

Example scenario

Let’s say you want to sell appliances, consumer electronics, and DVD’s and CD’s.  For the purpose of this example we’ll separate the catalog into two stores and three websites.  The appliance line will be sold on its own website, and the remaining items on another website.  You bought appliances.com and coolstuff.com for this purpose.  You don’t want customer data and order data to be shared between the two websites, so data sharing will be turn off in the configuration between them.

Under coolstuff.com you create two stores - Electronics, and Media.  Consumer electronics will be sold through the electronics store, and the media items through the Media store.  Since each line of items is very extensive, it makes sense to create a separate category structure for the Media store and the Electronics store… otherwise the category tree would be large and cumbersome.  When the stores are created, you simply assign a different root category to each store.

In addition, you want to feature your catalog for both websites in English and Spanish.  To do this, you will create an English and Spanish store view for each of the three stores.  When entering catalog data you can switch store views in the admin to create the additional product titles, descriptions etc…

Configuration

The configuration of Magento uses GWS as a kind of tree when setting up the stores.  When it is initially installed, all configuration settings point to “default”, meaning the global installation.  A check box next to each configurable item can be un-checked in a particular website or store view, to indicate that this item will be specific to this website or store view.  For example, you will offer authorize.net as a payment module on both websites, but you only want to offer google checkout on coolstuff.com.  In the configuration, you’d select coolstuff.com in the store view drop-down, find the google API settings, and un-check “use default” in the google checkout tab.  For this specific website you can now enable or disable google checkout.

All modules in the configuration function the same way.

Moving on to store views - after a store view has been created, you can configure the layout and visual settings of the store view however you’d like - a drop-down allows customers to switch between store views.  This will reload the current page with the alternate view.  This can be used for multiple languages, but can also be a way to easily do A-B testing between several design packages to see if one yields more conversions.  The possibilities are endless!

The above is meant as a basic overview of this functionality - the best way to learn how to set it all up is to install Magento and get in there and start playing around.

I also created two short videos that go into a little more detail regarding the configuration.  Enjoy!
Video: Creating Multiple Online Storefronts, Part 1
Video: Creating Multiple Online Storefronts, Part 2

RSS comments feed for this entry

User Comments

|27 comments
  1. Andy

    1Andy |posted August 31 2007

    "Now were ready to drill down to the store level.  The main thing that will be different between collegemedia in English and collegemedia in Spanish is text. In this example, having multiple stores under the same website makes sense, since the URL itself wont actually change when switching languages in the store.”

    I’m a little confused by this statement?  Won’t the URL be different?  In the demostore it looks like the URL contains text from the categories, products, etc...so since that text will be in spanish, it seems like the URL will be different. 

    Oh, I see now what it means.  The URL may change but it will still point to the same place/product.

    One other question. Since some parts of the URL may be hard coded in (like “category” possibly?), will those parts of the URL be able to be changed to reflect the spanish word for “category” (whatever that may be)?

    Thanks!

  2. jorries

    2jorries |posted October 16 2007

    It woule be nice
    to have seperate login location for store managers,
    as admin/developer you setup the store, and the store manager login provides limited access to the client (Store manager) to edit there store,
    perhaps a small page with billing could be implemented by magento team so you could sell ‘store subscriptions’ if this wont be implemented im planning on writing this myself..

    after login , the client (Store manager) sees how long there subscribtion lasts, perhaps the number of products can be limited, etc.
    Would be a nice idea.

    Cheers!

  3. RoyRubin

    3RoyRubin from Los Angeles, CA|posted October 16 2007

    @jorries - such functionality will not be implemented. Please make sure you review the license as OSL3.0 limits distribution through a network. Such functionality would be considered a network distribution.

  4. jorries

    4jorries |posted October 16 2007

    Ok I havent really red it yet, so its not allowed to have this kind of option?
    Perhaps buying a developer license would be an option, which such option would become available. I have no commercial plans yet its just for my own store setup and perhaps lateron for clients. Its a good suggestion for me to read the license indeed. Thanks

  5. o4tuna

    5o4tuna |posted October 16 2007

    Thanks, I was looking for Multistore instead of Multiple websites.

  6. Craig Owen

    6Craig Owen |posted October 22 2007

    I’ve read the notes as to how to work with multiple domains, but are there any instructions about setting up multiple stores on a single domain?

    Also, I want to have a different page in the CMS for each store… when I try to create 2 home pages, each with a different store, the CMS tells me that there’s already a page called home, so I can’t create a second. Is this right, you can’t have a different version of a page on different sites?

    e.g. craigowen.com/magenta/home would be different to quadtech.co.uk/magenta/home where both run out of the same webspace.

    Thanks

    Craig

  7. YoavKutner

    7YoavKutner |posted October 23 2007

    @Craig Owen -Setting up stores on a single domain works exactly like on multiple domain, so there should be not difference in the way it works.

    About your second point we have already created a fix for this that should be released in upcoming releases, but for now you can follow this thread: http://www.magentocommerce.com/boards/viewthread/1008/#t4800

    Thanks

    yoav

  8. Craig Owen

    8Craig Owen |posted October 23 2007

    Hi Yoav,
    thanks for the feedback, the fix that you sent worked for the website - that’s great, I should be able to get on with some customisation for multiple stores now.
    The preview functionality in admin screens doesn’t work though, it always previews the default website, and ignores the domain of the store, not a big problem.

    I know how to configure domains to each show a different store, using the $_SERVER[’HTTP_HOST’] and setting Mage::run($store); but a little confused if I want to have 2 stores on the same domain, like en and de versions, do I have to create subfolders on the server to sit the different sites in and se the Mage::run($store); from there? Where would they appear in navigation on the magento homepage to link to them (do i just have to add it to the body text)? Or have I missed a crucial part in some documentation?

    Thanks for your help
    Craig

  9. YoavKutner

    9YoavKutner |posted October 23 2007

    @Craig - After creating a new store in the admin under System->Configurations change the Base URL and add the sub-directory you are going to add. Then you need to create sub-folders as you describe. Then copy the .htaccess file and the index.php file from one of your existing stores to the new directory. Edit the index.php file to include the new store key here (the one that you entered under Store Code when you added the store): Mage::run(’store_key’);. If you have cache enabled you need to refresh the cache under system->Cache management. Refresh the store front end and you should see in the footer a select box with the new store.

    I hope this helps.

    Thanks

    yoav

  10. Ross

    10Ross from Scarborough, North Yorkshire, UK|posted November 2 2007

    @RoyRubin - With your comments about the license restrictions you are stating that no one can offer a hosted Magento solution (like Shopify etc).  Which I think is fine.
    What I am curious about, are your reasons for imposing this restriction?  Are you planning to launch a hosted solution yourself?

    Another quick question.  Would this mean that you would require any code contributions by outside developers (for the core system, not addons) to have the copyright handed over to Varien?

    Thanks.

  11. RoyRubin

    11RoyRubin from Los Angeles, CA|posted November 2 2007

    @Ross - We do in fact have plans for an on-demand product. An official announcement will be made in the weeks ahead. That said, anyone can start such a product but they would have to meet the license requirements which require access to the source code.

    In regards to contributions, we’ve yet to make any final decisions on this topic. We have the best intentions for all parties so stay tuned.

  12. Mootrealm

    12Mootrealm from Bellingham, WA|posted November 5 2007

    Maybe I missed it, but can you have two stores, each with their own domain name and own unique products. Basically everything would be different e.g. products, prices, CMS pages.

  13. RoyRubin

    13RoyRubin from Los Angeles, CA|posted November 5 2007

    @Mootrealm - YES. You are able to do that.

  14. Mootrealm

    14Mootrealm from Bellingham, WA|posted November 5 2007

    Can each one have it’s own custom design? Man… this thing isn’t coming out soon enough!

  15. RoyRubin

    15RoyRubin from Los Angeles, CA|posted November 5 2007

    @Mootrealm - Each store can have a 100% unique design/layout.

  16. uprocka

    16uprocka |posted November 27 2007

    Hello @all,

    I could not find the information on how to direct to the several stores.

    e.g.:  the main installation is on multimedia.com,where is the spanish shop located?
    How do I manage to point to the same installation via Collegemedia.com, there is some webserver managment involved isn’t it?

    can somebody link the resource or explain it here?

  17. YoavKutner

    17YoavKutner |posted November 28 2007

    @uprocka - Checkout post #9 and see if that helps.

    Thanks

    yoav

  18. Scart

    18Scart |posted December 12 2007

    Is there a way to manage one global stock distributed in several stores (physical, not on-line ones) with little difference between them (models, sizes, quantities) and allow customers (2 languages needed) to buy on-line or to know where they can find one specific product and reserve it if they desire so?

  19. mikemike

    19mikemike |posted December 20 2007

    grrr

  20. Craig Owen

    20Craig Owen |posted January 23 2008

    I’ve just installed the latest Magento.

    I reconfigured for multistores using $_SERVER[’HTTP_HOST’] and setting Mage::run($store); as before. The website knows that the correct store is being requested as it appears in the dropdown list at the bottom, but the CMS page for the default store appears.

    Preview button in the CMS always still shows the default store, and the instruction for naming a CMS page suggests to include the domain name, but this doesn’t work either

    Any help would be appreciated

  21. supremecenterhosting.com

    21supremecenterhosting.com from USA|posted January 30 2008

    When I think of Multiple Stores/Web sites, I think of the ability of having different product choices within one installation. For example. if you had a sports apparel website and wanted to separate your site by major league sports, such as a MLB site, NFL Site or NHL site, each having different products with different SKU’s, is this possible? Or, is this limited to languages only?

  22. RoyRubin

    22RoyRubin from Los Angeles, CA|posted January 30 2008

    @supreme - this is very much possible. It is not limited by language only.

  23. supremecenterhosting.com

    23supremecenterhosting.com from USA|posted January 30 2008

    WoWeee! Most applications require code modifications to make this possible. I have clients using Cre Loaded or osCommerce and, if this is true, you have yourself a whopper of an application. One, I might add, would benefit me personally as I have been looking for a way to get my sports apparel site off the ground without having to spend the time to modify another appliation to accomplish the same thing.

    That being said… when will Magento have a production release ready?

  24. Moshe

    24Moshe from Los Angeles|posted January 30 2008

    @supreme: for even more info on the topic check this out:
    http://docs.google.com/TeamPresent?docid=dqr3hjf_51gvm5hpff

  25. RoyRubin

    25RoyRubin from Los Angeles, CA|posted January 30 2008

  26. supremecenterhosting.com

    26supremecenterhosting.com from USA|posted January 30 2008

    I was watching the webinar and it seemed to focus on languages. Having the ability to separate your store by categories opens up a slew of opportunities. Again, with a site such as a sports apparel site, I like the idea of being able to having different stores for different sports affiliations. it seemingly makes browsing the site easier and would allow the site owner to emphasize products in a more enticing way.

  27. supremecenterhosting.com

    27supremecenterhosting.com from USA|posted January 30 2008

    That’s sweet Roy. I recently made sure our servers had the extensions/addons/modules necessary to run Magento. As a user of Cre Loaded, I think Magento already out does what it, and many other applications offer and would have no problem offering it to my clients over some of the PHP applications that are around today. My favorite part is AJAX.

  • Comments in this section are now closed, please check out the forum for discussions about this topic.

Explore the Knowledge Base

Professional Services from the Magento Team

Professional Installation from the Magento Team

Magento Job Board - Some sort of tag line goes here

Latest Posts| View all Jobs
Sales: Call 877.832.5289 (North America) 310.295.4144 (International) to request a call-back.
© Copyright 2008 Varien. Magento is a trademark of Irubin Consulting Inc. DBA Varien    Privacy Policy|Terms of Service