Getting the Most out of Multi-Store Management
Speaker: Chris Marshall, Business Development Manager @ VarienTopics include:
- Websites, Store and Store Views and how they work
- Configuring Magento for multiple online-storefronts
- Utilizing Multi-Store functionality to manage multiple brand storefronts
- Utilizing Multi-Store functionality to manage locale specific (language and currency) storefronts
- Tips and Tricks on getting the most out of the Multi-Store management tool
- Questions and answers
Full Webinar Transcript
Chris Marshall: OK, well I think we will begin. Welcome to the first in our series of webinars on maximizing Magento. This webinar we are going to focus on Magento’s multi store management and how it can help your online business grow.
My name is Chris Marshall, business development manager here at Varien, the Magento company, and today I will be going through the multi store management terminologies, going through example cases of setting up Magento installations using the multi store functionality, sharing some tips and tricks on getting the most out of the multi store management and finally going through questions and answers with you.
If you are interested in multi store management functionality to help your business grow please feel free to contact me at, chris (at) varien.com
Also is you are an existing Varien support customer and have a question related to your specific Magento installation and multi store management please feel free to open a ticket and we’ll certainly assist.
Finally before we jump in to the multi store management webinar do want to invite you to join the conversation around Magento. You can follow us on our Magento blog where we frequently update news, examples of Magento installations and much, much more. You can also follow us on Twitter. You can join us both on Facebook and Linkedin.
Today on the webinar we will be going through as I said and explaining the terminology around the multi store management of Magento. We will be going through examples of Magento’s multi store functionality to maximize the software. We will also be sharing tips for store owners related to this feature. Finally going through questions and answers, so please feel free to ask questions throughout the webinar. We will get to those at the end.
We do also want to remind that this webinar will be recorded and available for replay later. Please stay tuned to the blog for more information on that. Let’s start by explaining by what we mean by multi store management. Multi store management functionality of Magento is very flexible. It allows for store owners to run multiple online store fronts from one central admin panel. This said, this feature is very flexible. It allows store owners to run multiple store fronts in different languages and currencies.
[ Back to Top ]
It also allows a store owner to have separate sites for different catalogs, we see here an example of different niche catalogs all of them from one central admin panel.
We’ll go through these examples further in the webinar, for now let’s jump into the terminology which will help you understand how to configure Magento by using the multi store management feature.
There are four tiers within Magento which enable the flexibility we just described. They are, as you can see, global, website, store and store view. Three of these tiers are considered scopes. Which means you can edit information whether those are configuration values, product descriptions and much, much more on those tiers. Those are global, website and store view.
The first scope is global and just as it sounds all settings and information which are global, will be used for all online store fronts. Magento installation does require a global default setting to be created when you install Magento. The default countries and your local option. Now before we get further into explanation of global as well as the other tiers, we want to take this minute, explain the scope drop down.
If you have installed Magento and used it I’m sure you’re familiar with this drop down. You see it throughout the admin panel and using this drop down you are able to select which scope you are editing information for. We’ll be referring to setting the scope throughout this webinar. You see here in this screen shot the default values, website or store view so again store is not a scope.
Once that’s selected you can elect to override using the default settings by deselecting those check boxes and enter interface information for that specific website.
A website is a collection of stores that share the customer accounts, orders and shopping cart. This is the second scope in Magento.
Websites can either be with unique domain or non-unique domain. Whether you have it with the unique domain or you have multiple websites with non unique domains will really be up to you, your business cases. So please don’t confuse our term of website with that need to be on a unique domain, it’s really up to you.
Let’s take a look at two examples of setting up multi store fronts. See how they would differ in their account sharing which will help explain a bit more how websites treat customer information.
[ Back to Top ]
This example, you see we have an installation, multiple online store fronts and this is accomplished with one website or stores each of the store view underneath. This example in case, as later on in the webinar, you see we have a mall type main store selling a variety of products with three niche store fronts showing smaller product catalogs.
This example would allow customers to add products from the different store fronts to a shopping cart and place one order with items from all store fronts.
This actually is exactly what the GAP has done with their eCommerce platform.
They allow customers to browse multiple online storefronts, GAP, Old Navy, Banana Republic and Piper Lime, to add products from all these storefronts to their shopping cart. We see here products from GAP and Old Navy and place one order.
The example we just looked at, the mall store with three niche sites could easily be GAP, Old Navy, Banana Republic and Piper Line. Visit gap.com and see how their shopping cart functions and try that out on your own.
Now take a look at another representation of an installation. In this case we have two websites of the store view underneath. In this case customers would not be able to place an order from both store fronts as the session information is not shared between websites.
So again website is a collection of stores which share the customer account, shopping cart and order information. So when you have two websites customers cannot go between the two, adding items and placing one sale order.
You would want to create multiple websites anytime you’re not looking to take advantage of data sharing between store fronts.
Another example, you’d want to create multiple websites if you want to offer different shipping methods or payment methods say through different payment gateways. Say for an international and a US store.
Now store, the third tier in Magento, the collection of store views when you have the same root category in catalog. We saw examples of our shopping mall and its stores. Could set up something along the lines of how GAP is set up as well in a store functionality.
A store’s role really is to define, specify which root category in the catalog stores underneath it will use.
Our example of that is multi store within three niche sites. You see again how these three different store fronts have different products shown but have the customer count information shared and shopping carts shared allowing customers to place one order.
That brings us to store views. No matter how you have Magento configured you will be required and if you have installed Magento you will see how you have you a default website. Default store and default store you’ve created.
[ Back to Top ]
Common examples of using stores for the most common used case; is to use a store view for a language specific view of a store. You can see here in an example of one website with one store shown in three different store views, in this case a local. A locale is more than just a language. It also specifies how, pricing and dating. Time information is displayed to customers along with language translation but the store view functionality is not limited only to the language locale specific representation.
Another example is you could use store views for a jewelry company, creating one store view for him, one store view for her. One geared towards men shopping for a gift, one geared toward women shopping for themselves. Then use your advertising to target these demographics and send them to the store view you feel will best convert them to sales.
We are now going to move to our technical demonstration of Magento installation using the multi store functionality and see how using this functionality you really can maximize Magento, help your online business grow.
We’ll go through three examples today of Magento installations. The first will be multiple language representation, three store front. This will be one website, one store and three store views. Our second example will be a mall and a niche catalog site. This will be one website, four stores, one store view per each store and our third example will be targeting different demographics. This will be set up with two websites, each with a store and a store view underneath.
Before we begin this demonstration we do want to remind you, please feel free to ask questions throughout the webinar. We will certainly get to those after our demonstration and after sharing our tips on the multi store functionality.
Let’s start with our first example. In this example as I said before, we are looking at a store front with three different locales. As I mentioned before locale is more than just a language translation but certainly the first thing people think of when setting up store views using locales.
To configure Magento for this type of installation, go to system; manage stores within the admin panel. You see here how we would have the main default website, store. To create our additional store views whether it’s two as we see here or ten, you simply select the create store view. Select the fresh store view that we’ve already created. It shows you the information that you would need to enter.
You see here that we select the store that the store view’s representing, in this case there’s only one store to select. You would then enter the name of the store, the unique code that is used throughout the system so it does have to be unique as well as separate status. Certainly if you are setting it up you would most likely want the status to be disabled until you are complete and the sort order which is used to determine the order that these store views are displayed on the store front end.
In this case we did that in both French and Spanish and once this is complete you would want to go to the configuration section and set up your locales. I want to explain in a bit more detail about the scope drop down, which I believe will help everyone better understand different tiers and how that those multi store manager functionality can help how it can be set up.
[ Back to Top ]
You see when we land; we’re able to edit the default the global configuration values for this Magento installation. You see here we set our default country, our allowed countries, time zone and local.
We move down a level, to the website. We’re able to override the default global setting and specify new values to be used for the website. Again you will not be able to select store. Moving down to store view we can see how you can elect to override the website values and in this case we’ve done that for our store views. Instead of using the Spanish store view, we overrode it and selected the Spanish locale. We did this the same for the French store view simply by selecting French store view and again overriding the default setting.
In this case we also overrode the website skin, images and CSS being used. We’ll see why on the front end in a few minutes but we used custom skin for our French and Spanish sites. In this case we’ll see for custom logos and the search buttons. You can certainly do this to create completely different looking skill zones for your different store views as well. You then want to configure whatever additional values you want that’s specifically for these store views.
We will now look at managing a catalog for your specific store view. Accessing the category section of the admin panel and see how we have our category tree, we are able to edit that for all store views. To translate this information simply select the store view from the scope drop down, then concept is in the configuration section. Elect not to use the default values to override these and enter our own translation. See how these are entered? You do the same for descriptions if you were using them, beta information.
You can see here with disabled categories we have not translated these for the Spanish store view yet. Again to show the example of how this is accomplished, select the category what you want within that store view and enter your translation.
Moving to attributes we can see how we can do the same for attribute values. We’ll move some attributes that we will be looking at a bit later. You see here how we’ve entered our translations before our attribute options. Do the same for your French store view as well, which in this case we have not done yet and certainly any other store views that you have created.
[ Back to Top ]
There’s your categories and attributes translated. We move to the product section. Select store view from the drop down and then begin editing product or simply select that we’ll do here. See we have our default values for name, model. Select the store view for which we want to edit and we can see now not use the default values, again same concept and have entered our translations.
So again, instead of having to manage multi admin panels, Magento’s multi store management functionality allows you to easily translate all this information. Moving to the front end you can see how by selecting a locale, you have the system information translated, my cart, my account, etc., selecting a custom skin we are able to define a custom logo as well as a search button as I mentioned. Then going into the category section, we are able to edit our category information. We also edited the translations for the products themselves; selecting locale as well will change the display of those products.
Moving to our French store view you can see how we did the same. System information is translated, the skin is defined, custom logo, search button and again the product category information was edited. We now move to our second example. In this example we will be looking at an installation as one website with four underneath. Again, I want to remind you can you please ask questions? We will certainly get to those at the end of the webinar.
As you can see here we have our installation. We saw this earlier within the webinar. We have our one default website, store in store view, when you installed Magento. We see here how we created additional stores, each with a store view underneath for this type of installation, which again, is a mall type store selling a variety of products with our niche catalog stores underneath.
Now in this example, the first step would not be to simply create your new stores and we will see why in just a second. It would be to go to the category section and create root categories for your additional stores. Again, a store defines root category as the catalog tree people are looking at.
As you can see here, we created a root category for our apparel store, electronics, our furniture store. Underneath those we’ve then defined additional categories. Just continue this, creating your own completely separate category hierarchy of structure for these additional stores.
[ Back to Top ]
Moving back to the demand store session panel, you can see that we simply selected ‘create store’ – the electronics store that we created this for, for example. First select the website you’re creating the store underneath. So again, this store will share that customer information, address books, and shopping carts with all other stores, which are underneath this main website. We entered our name, we entered our root category with default store we used created later. In this case we selected that root electronics category that we created.
Once we have our stores set up, created store views just as we saw in our first example of a Magento installation. Once this is complete, we would then want to move to the admin configuration section where we could change any values we need specifically for these stores. And in this case if your number can’t select a number from the scope drop down, we would select a store view. In the electronics example we can see how, if necessary, you can override the website information for the specific store view.
Moving back to the category section; again, you can see we’ve created our root categories for each store. Underneath that are subcategories. This will function just like the categories do for other Magento installations, even if you have a one website, one store, one store view installation. And then define the products as we would for others for these categories as well as set our visibility for these products for each store view.
Moving to the front end; with our Magentomodel.com selling a variety of products. Moving to our Magento electronics store; as you can see, we have a completely different look and feel, completely different category structure, completely separate branding as well. As you can see here, we’ve simply replaced the logo. Again, we did a custom skin for this.
This could be much further and much more flexible and much more unique. Again, this tool is very, very flexible. We can have that completely separate look and feel within that electronics store. We now have completely different visibility for our products as we do on that main store.
We’ll now move to our third example. We’ll be targeting different demographics using Magento. In this example we’re going to be looking at an installation that has two websites, each with a store, one store view underneath them.
Again, please continue to ask questions. We’ll certainly get to those after our demonstration and after sharing some additional tips on utilizing Magento’s multi-store functionality.
[ Back to Top ]
We can see here, for this installation we had our default website. Again, that will always be present when you go on Magento. In this case, we are looking to install a separate website because we do not want to take advantage of the data sharing with this outlet store selling the same products but with different pricing, different promotions structures. Therefore, we do not want to take advantage of the customer account and shopping cart sharing between storefronts.
So in this case, we will be creating a new store so you want to create a new root category before even creating your website. You can certainly create the website first, then create the root category, then create the store. Go to the category section of the admin panel and create that in your root category, as we saw in our previous example.
Once that is complete, you simply select the ‘create website’ button and we’ll use an example of one we already created. See here, we’ve created our name and unique code to define that website. Once we’ve created that, we would create a store view to define those defaults just as we saw in our previous example.
Once you’ve created a new website, the first step will be to associate products to your new website. Products are associated on a website level. You can do this on a batch process by simply selecting the products you want to associate to the new website, selecting ‘attributes’ and selecting to associate them to this new website.
Once that is complete, you could additionally edit the information shown on this website beyond just prices we’re saying for this example, but also using completely separate product descriptions and using that in your root category as we saw in our previous examples, as well.
We do want to have a bit deeper on the technical aspects of Magento also and look at a question we receive very often, which is setting up multiple websites on unique domains. Again, you do not have to multiple websites set up on unique domains certainly – a very common use case when creating multiple websites.
We’ll look at one way you can do this right now. First step, setting up websites on unique domains would be to access your Magento installation, create a new a sub directory in your Magento root folder stores. You see here our Magento root folder. Create a new sub directory store. Underneath that create a new sub directory of different websites. You see here Magento outlet, Magento store. Within each we created a copy, place a copy of our PHP file from the root directory. From there we selected the index PHP file, we edited it in two locations. But first we had to specify where to find the PHP file, for now, two levels down in that root. We had to find that app folder. We were specifying the root of the directories. One, two…
[ Back to Top ]
We also specify the code of the website and the designation that we’re looking to separate for unique domain. In this case that code is outlet. Place this with parenthesis and designation, which in this case is website. You could certainly do the same for a store or store view. This designation would be store go to the website here. Now that it’s complete, just save it, upload it back to Magento installation and move the configuration section of the admin panel.
We are skipping a step here, which would be creating a virtual host in your Apache configuration file. Certainly, if you’re not comfortable with editing river files that we would recommend getting a system administrator to assist with that step. If you are comfortable we’re assuming that you know how to do this and are skipping that step at this point.
See here now that we’re selecting the website that we’re looking to edit. Look in the web section under configuration. We’re going to specify a new, instead of using [inaudible, 28:05] for both secure and unsecure, in this case magentooutlet.com for this specific website. You can also see here we specified the port we’re using. If you want you would not need to have that but you can see by simply selecting and not using the default, enter the new base link URL for this new website you can see we have our one website running on magentooutlet.com our other website running on magentostore.com.
That is third example in our technical demonstration here, setting up multiple websites. We’ll now continue. I do want to mention first that we do offer support services for Magento, the suite of full gear we’ll be here to ensure ongoing success of Magento installation when they aren’t business critical implementation. We do also offer consulting services to assist with development, optimization and much, much more. Please do contact us for further information if you would like on that. You can find that contact information on our magentocommerce.com website.
We do now want to go into our top five tips for maximizing Magento functionality. We’ll then go into a question/answer session so please continue to ask questions. We’ll get to those in just a few minutes.
First tip is that you can manage prices globally or per website. You can see in that last example that we’ve chosen that we want to manage those prices per website. Certainly using a configuration value though in the admin panel you are able to elect to manage them globally, allowing you to only have to manage prices once per Magento installation. If that fits your business game required in editing and managing pricing.
[ Back to Top ]
Our second tip is that it is actually possible to share user account information and address books across websites. You did see you know that we mentioned that you can certainly share discussion information across boards underneath the same website. There is a configuration value though that does allow you to share account login information and address books, so this is different. They still would not share discussion information, shopping cart but you manage and use the same customer account login and address book information across websites, very similar to what Target and Amazon has done.
The third tip is you can limit promotions on a website level. This is very helpful for your marketing promotions. Able to target more effectively promotions to separate demographics, this is again in a configuration option when setting up your price rules. They have two websites, one for retail customers and one for your distributors and then limit promotions only to a specific website.
Our fourth tip on maximizing Magento is to select the store view and creating an order from the admin when you’re in the call center functionality of Magento. This really helps with your reporting, allows you to get greater insight into your store’s operation. By selecting these store views you’re able to maintain the consistency and validity of your store.
Our fifth tip is that design exceptions allow store owners to specify alternative team versus specific user agent. A greater example of this is of our iPhone optimizer. Using design exceptions you are able to specify that anyone visiting from the iPhone that will see this store view. This limits the amount of store views that you need to manage very greatly by simply doing it through design exception.
We are now going to move into the question and answer section of the webinar. Certainly continue to ask questions as we move through some of these questions. I will be joined by Yoav Kutner, CTO here at Varien, throughout this question and answer phase of the webinar.
Yoav Kutner: So hello everybody, my name is Yoav. Like Chris said, I’m the CTO here at Varien and we have a few questions we are going to go through. There are a lot of other questions here, we felt that we selected the ones that are more general and will serve the larger audience although there are a lot of very good questions out there right now but with more specific kind of tone to them.
The first question that we selected here, this is a question from Paul. I’ll read it just or everybody can see. That’s actually better so I’m taking number 11 starting from the, yes.
[ Back to Top ]
How can I set up one store but offer the same range of products supplied from two locations, Europe and USA and two separate prices, currencies, non simple exchange calculations but different core pricing based on local cost, tax, etc., with separate delivery cost based on location? Customer can choose whether they order from either location but cannot mix locations.
This is a great question and Magento does support that. If anybody’s familiar with sites like Lenovo or IBM where they actually serve an international community, the first page you usually land on is to select your location. We would recommend creating some kind of a page like landing page for that where a customer, if it’s Europe or USA by choosing that you will be redirected to a website that specifically has the products and again entered with the local prices. You would probably, like Chris showed you before probably manage prices on a website level not on a global level. Then you can actually enter prices for the European website in Euros and for the US website in US dollars.
Once they select the current website they’re in they will see the currencies in the base currency like we call it for that website. You can even offer different currencies on top of that if they just want to see it but the calculation would be made on what we call the base currency for that website. In the checkout you can actually limit specific shipping methods, tax rules, payment gateways, etc., for that specific website.
In the website you will have the payment gateways and shipping options that match the European market. In the US website you will have the payment gateways and shipping options that match the US market. This is definitely doable with Magento. Again probably just want to have one landing page to allow a customer to actually select which website he will be redirected to based on his location.
Let’s move to number 10.
John is asking here,
Can a store have a unique domain so that data sharing is shared across their different domain?
This is a very good point and Chris was showing it in his presentation so I hope it’s clear that Magento does support different domains per store. There will be very small setups that you will have to have in your environment to support that. Like creating some virtual hosts, pointing them to a specific directory, exactly the steps. From there just the steps that Chris showed you. It does support having a unique domain per store or per website and this definitely doable.
[ Back to Top ]
Let’s go to number nine. Alright so John is asking,
How can the emails generated at customers be branded for each store? It appears that the wording in the emails are not read from the database but hard-coded.
So this is actually something we solved in Magento. We do supply templates that are files, but if you go to your admin panel, to “System,” and then to “Transactional Emails,” you can create as many emails as you need and specify them in different languages, have different styles, or, actually, full HTML, if you wish to, create as many of those templates as you need.
And then, through the configuration, while selecting the store–or website, if you just want to have it on a website level–you’ll be able to control the emails, like email to a friend, sales emails, customer emails, etc., that are auto-generated from the system. So you’re basically assigning a template to a specific store view or website. And thus, if you have one store view in Spanish and one store in English–it depends on the store view that the customer signed up from or created an order from–that email would be sent to them.
So you can achieve a lot through this. And again, you can control it on a website level or on a store-view level, or if you don’t need, you can just customize the templates that Magento has and just have one, if that’s the one you want to send.
Let’s go to the next one. So, James is asking here:
There is a security option to give permission to a store in their products.
OK. So Magento doesn’t offer, out of the box, any support for segregating the admin panel into a specific store view, so you cannot control which user has permission to which store, website, etc. This was done by design for version one, and it’s definitely something that can be customized with some work if anyone chooses to do that immediately. But we are looking into adding this somewhere down the road in the future. And just look at our road map and see if this feature comes up, and probably more information on when it can be released.
All right. Seamus has a question:
Can you have different prices for each separate store?
So, the way we are managing prices, you can actually have separate… Right now–and again, this is for the out-of-the-box installation–you can manage the store either globally or on a website level. This is, again, to allow for users to be able to add to one shopping cart from different stores and store views.
[ Back to Top ]
So we have to have one base price for the item in a specific website. This can be, actually, manipulated, but not as a user–rather a little bit of configuration values that have to be changed on the system level. And it might require a bit of programming, but it’s definitely something that is doable.
Go to Steve. OK:
Can you control CMS blocks for each view?
So, the CMS, again, falls, just like everything else that we created, and you can actually associate a CMS to it, so you can have different landing pages, different home pages, based on the store, store view, etc. And again, this is all managed through the CMS control panel in your Magento admin, basically. So it does allow for different CMS blocks for each store view.
Chris: I do just want to step in and say we did show an example of this, whereby we had one store view without a home page, just to show you how you could have different look-and-feels configured.
Yoav: All right. Thank you. Let’s go to number five. So, Jonathan has a question:
Are there any practical or known limits to how many stores or store views can you have in Magento?
So, the application itself does not impose any limits on the number of website stores. We actually, on the demo, the magentocommerce.com store, which is our official demo store, we actually use, with two websites at this time–and it’s 60, so I think about 40 or 30-something are enabled at this time, and that’s just to demonstrate all the different translations that we have.
So, again, the application doesn’t put any limit on that. Although, depending on size of catalog, and if you’re intending to run hundreds of stores, I would probably say that you will have to look into having good hardware to support that, probably work with some database clustering, etc. But again, the application does not put any limit on that.
Number four, Brian:
Are the products in different stores exclusive to each store, or can they be shared across stores?
So, it’s definitely up to the Magento stores to present the products listings to different stores. So this actually uses the attribute that we call “visibility,” and you can set this attribute on a store-view level.
So you can have, in one store view, an item as visible everywhere, and another store view have this item as visibility nowhere. So that means that if I’m in an English store, I can see an item, and then, if I switch to a Spanish store, for instance, I am not going to see that item there, but still allowing a customer to add a product to one shopping cart and checking out. So, actually, that association of product is done to the website, and after that the visibility is determined by the visibility attribute on the store-view level.
Let’s go to the next one. Sarah:
For sites with different domains, do we need a different SSL certificate for each domain store?
Well, the answer is yes. Unless you have a wildcard, or if you’re using subdomains, you will usually need to have an SSL certificate per domain.
[ Back to Top ]
Go to number two. David:
Should I be able to use the multi-store functionality to only display the product and prices on one domain and actually sell the products at another domain? This is for the trade and retail section of a client of mine.
So, actually, we do not allow, by configuration, to disable the whole checkout process. But that’s something you can definitely do. Well, the easiest way I can see is just creating a custom theme for your one store or website and not having the checkout available there at this time.
OK. So Christiana has a question:
When two stores are created, do they run in the one database, or are separate databases required?
So, actually, Magento is running on one database by default, and at this time this is the most recommended way of doing that. Creating a new store is actually the same database. So you only have one database at a time. I’m just going to touch on this really quick. Although there are ideas here that we are checking and looking into, being able to support different catalogs from different databases at the same time on one installation, at this time we recommend running one database.
Chris: Thank you for joining our webinar. I do want to remind you that if you go to magentocommerce.com, you can certainly find more information on both our support packages as well as our consulting services, through our professional services, to provide assistance on Magento.
Again, please stay tuned to our blog as well for more information. We will be replaying this webinar. And certainly stay tuned to the blog, both for an announcement of where you’ll be able to find that as well as additional updates on Magento. And as we mentioned before, certainly feel free to–and please do–join us on Twitter and on Facebook and LinkedIn as well.
Again, thank you all for joining. And stay tuned to the Magento blog for additional information on the next in our series of webinars on maximizing Magento.
[ Back to Top ]