Magento, Multi Store and SEO
One of the biggest challenges to Search Engine Optimisation for any Ecommerce site is the range and variety in the stock. All SEO tutorials and teach yourself books seem to assume you are selling a small range. Typically 'widgits'. They talk about doing keyword analysis on widgets, finding the most popular searches regarding widgets, and writing widget stuffed text on your homepage to emphasise what the site is all about. The problem is that most Ecommerce stores sell a lot more than one product. Indeed we tend to have thousands. Sometimes it is impossible to define your entire range in a simple key phrase, let alone a phrase that people will use to actually search on.
It starts with the site navigation. As in any shop, the products need to be neatly ordered, categorised and placed such that they are easy to find by any visitor. This can be harder than it sounds when you have a diverse range of stock. The problem starts with the top level of categories. It has been said that you should have about 4-6 top level categories. Indeed with many Magento templates with horizontal navigation at the top of the page, you really cannot have much more than 6 top level categories.
If you find it hard to split your product range into 6 top level categories, without creating artificial, non obvious categories, then imagine the confusion your visitors will have trying to work out where to find what they want. Further you need to avoid deep nested categories. You do not want a menu structure where your visitor has to drill down level after level to find any products. Likewise you do not want huge categories with hundreds of products which stretch out over dozens of continuation pages. Another common problem is that with highly ambiguous top level categories, it is always difficult to guess where to place some products, and you end up putting them in two or more categories. Thus creating a potential duplicate content problem.
So what is the solution?
With Magento there is an obvious solution - Multi-Store. This is where you split your inventory up into two or more stores, all being run from a single Magento instance. The advantages are obvious. You have a single administration, a single list of orders, and a single hosting plan. For both visitor navigation and Search Engine Optimisation, the advantages are even greater. By splitting your inventory into more focused areas, you can much more easily target the necessary keywords and phrases. For example, I sell Movie and TV memorabilia and Action Figures, a very wide range of inventory. On inspection however about 40% was all Dr Who merchandise, so I split that out to a second store, called www.doctorwhoonline.co.uk. This immediately simplified the category tree and halved the number of categories required on each site. It also removed the confusion and lack of focus.
By having a site dedicated to a single subject, I can use less categories. Each category can be better named and more obviously define what it includes. This helps both customer navigation and SEO. Having naturally named categories means that they include the main keywords. The category titles can be much better written with SEO in mind, and the category descriptions can be both relevant and keyword rich. In short, the whole site and the categories can be focused on relevant key words and phrases that your customers would actually use.
There are numerous blogs and forum posts describing the various ways in which you can create multiple stores within Magento. All from a very technical angle. None of them take into account the practical realities of Ecommerce. Rather than go into the pros and cons of each highly technical method, I will detail how I set up my shops, and why.
First I use Cpanel hosting. This restricts me to a single dedicated IP address. So I host my main site (kultureshock.co.uk) as the main CPanel site. Then I set the other sites as add-on domains. This means that every site gets their own range of e-mail addresses. This is important because it gives you the ability to have straight forward addresses like sales@yourdomain1 and sales@yourdomain2 each with their own signature (and possibly promotional offers). It also allows the ability to easily have separate newsletters etc for each domain.
Second I purchase a single EV SSL certificate. No matter how you take your payments I am a believer that you should ALWAYS have a secure encrypted checkout. You should value your customers enough to allow them the privacy of an encrypted connection when they enter their personal details. I also believe that an EV certificate is worth the extra money, as the green bar is very reassuring and when you highlight it, it says that the identity of the site has been verified. This helps conversion rates.
Then I use a common theme on all the sites to ensure a common look and feel. I use different top banners, logos and different colour heading and action images (buy now buttons, search icon etc.) but overall it is clear that each site have a common ownership. This helps establish the overall brand. This is important because the one limitation of a single IP address and a EV SSL certificate is that there can only be one checkout url, or you have to get an enormously expensive multi domain EV SSL certificate.
By establishing a brand (your main website) you can have a common set of terms and conditions, a common returns policy, a common guarantee etc. It can also help give the impression that by having one umbrella website, with specific stores beneath, you are a large and thus established and trustworthy organisation. This too helps conversion. These common pages should either be linked with a no-follow, or have a caniconal tag refering the url back to the main site. You do not want google to start to consider that your web sites have duplicate content.
So when you ask your host to help you set up the multi-store environment, you must tell them to use the add-on domain method for http and the sub-directory method for https. By setting it up this way my visitors go to www.doctorwhoonline.co.uk and see the Dr Who theme. When they purchase they checkout via https://kultureshock.co.uk/doctorwhoonline/checkout... still showing the same Dr Who Theme, just with that slight URL change at the top.
The important thing to note is that the URL change should not be a surprise. That the brand should clear, and that the customer should not have any reason to doubt that they are still secure.
This method, although technically awkward to set up, is so flexible that you could do it in any kind of hosting, from shared up to dedicated, using Plex or Cpanel. Thus you can keep using it as you grow. Also there is no theoretical limit to the number of stores you can add on. There is however a practical limit. Although you are using a single instance of Magento, additional stores do add to the processing overhead.
The key to spliting your inventory into multiple stores has to be from the customer point of view. You have to take a good look at your inventory and decide how your customers would view it and whether there is a natural split. What you MUST avoid is putting the same products in two stores. This will give you a duplictate content problem with google and one of your sites will be downgraded. What you want to achieve is for both sites to be on page 1.
Andrew Youderian says:
Great article, Richard! I own multiple eCommerce stores that are run off of Magento and have flirted with the idea of using multiple store instances tied to a single Magento install/admin. However, we decided against it for two reasons:
You split up your domain SEO efforts / authority among multiple domains.
I've heard that many 3rd party extensions don't play well with multiple-store Magento configurations.
Have you had problems / concerns with either of these issues?
Richard Stubbings says:
Starting with the second, some poorly written extensions do not cope with multi store. They are best avoided. Any decent extension should handle multi store. Such extensions tend to be better written and thus less/no trouble when you upgrade.
Regarding the first, done properly each store has its own web site, its own url and thus is multi domain. As far as Google is concerned it is no different than running multiple stores off multiple instances of Magento. With the single exception that you use one IP address.
The whole point of having multiple domains is because you have two distinct stores, and thus two distinct SEO strategies/keywords/links. Yes it can increase the work.
On the one hand, having one huge site with everything on it, means that you can have a wide range of links to it. On the other hand it is harder to say what the site is all about and many links will have a similar wide range of key words.
Having separate sites can reduce the number of inbound links as they would tend to be split between the sites. That said the links will be more focused and more relevant. It may also be easier to get good quality links is the site is more focused.
Finally Google is getting very fussy regarding quality of links and it is no longer a numbers game. I suspect that as time goes by Google will begin to rate the quality of the links using their own data. It will start gathering up the data in all the analytics on all the sites and see which links are ACTUALLY followed, and further their conversion rate and bounce rate. So I am guessing that in time a few good links that bring actual customers to the site will count more that thousands of links on blog sites that never actually get followed.
Richard Bell says:
Hi Richard, and thanks for the informative article. I run a number of niche ecommerce sites, and I'm now toying with the idea of bringing them together under a single brand.
Ideally, I would like to include a link to the main brand site at the top of each niche site, so the shopper could view a wide range of products. The problem is that the main site will be selling the exact same products as all of my other stores.
Is the only way around this to rewrite each product description on the main site so that I don't have issues with duplicate content?
Richard Stubbings says:
There is no certain answer. If you sell the same products on two separate sites, AND have the link/anchor text to the main site, then google will be more likely to consider it as duplicate content and penalize one site. Yes you can mitigate the chances of this by using different product titles, and different product descriptions, but you can never be sure whether you have done enough. Further it is a lot of additional work and one of the sites will have sub-optimal titles and descriptions.
You could consider canonical tags on your sub-sites, referring google to consider the duplicate on the main site as the page to index and not to index this page on the sub site.
At the end of the day you need to consider why you need the duplicate content and sub sites. If it is for the ease of the shoppers, then fine, use canonical tags, but if it is to try to fool google and get two or more sites listed in the top 10, then sooner or latter google will find out.
Richard Bell says:
Thanks Richard (great name by the way!)
the only reason for the sub, niche sites, is because they are easier to rank on google, and tend to convert better as they are dedicated to a particular search term. I'd rather lose a single niche site from Google than lose everything for building "EVIL" links.
I've decided i'm either going to completely noindex the main umbrella site, or use canonical tags that point from every product on the main umbrella site to products on their respective niche stores.
Basically, I have no intention of having Google find any page on my main site - all links will be built to sub sites, and if the user decides to go to the main site via a header link on one of the niche stores then so be it. With this set up can you see any advantage of using canonical tags over simply noindexing the main site completely?
thanks again for your help.
Richard Stubbings says:
There is another way. I am not sure if this "feature" in Magento is a bug or not, but try it out fully as it may be to your advantage. When I said multi store in Magento I was or course suggesting you use the multi WEBSITE feature in magento. Setting each store up as a separate web site. Each having their own URL. Now you CAN set them up as multi STORE, all under one web site. STILL with each having their own URL (indeed their own web site). The big difference is that if you do a product search, products from all stores appear (because as far as Magento is concerned they are all on the same website.) I never liked this feature for me as it was confusing, but try it out. Have the products on the sub sites, and just have categories on the main site with each category being one sub site. Re-direct the category call to the sub site. Then do searches, add items to the basket, and see if Magento can remember items across stores. You may have cookie problems, you may need to use session ids, but give it a try.
Great post, I like your non technical, real world approach. Splitting products out into separate stores is a wise one, you can still cross sell and from an SEO perspective it is going to win every time.
Richard Stubbings says:
Thank you. I find it is best to consider the real world. After all, that's where the customers live.
Finally a post that makes perfect sence. I'm new at magento and not much of a server admin either so I am hoping to get some additional help here. I'm setting up a multi website + multi store (15 domains) on a VPS wich sofar is going great.
I am stuck on one step though and hope you could enlighten me in regards to this Richard. How do I go about creating the the https sub folders for each and every website so I can keep the theme/style per website throughout the checkout, do I have to duplicate all relevant files into these sub folders per website - and how will the payment gateway return urls figure out what website to go back to?
Richard Stubbings says:
Thank you for your comment. I wish you luck with 15 stores! on one implementation. I would hope you have a serious VPS for that as each store does take a little more resources. I am afraid I cannot give you the answer BECAUSE my host has always set up the folders/paths/domains/etc for me. I simply did the parameters in the Magento admin. In System/configuration/web.
I hope you have a specalist Magento host who can assist you here, or at least one who is prepared to learn more. The VPS has to be specially tuned to run Magento. A default VPS setup will be slower.
As for duplicate files etc. in sub-folders, this is not necessary. I do not know how it is done technically but all the magento folders can sit under one domain and the folders for the other domains somehow point back to these originals. It is a very bad idea to duplicate files. A good host should be able to do this very simply.
I too know nothing about server admin. I leave all that to my host.
Thanks for this great post, could you just compare magento with other ecommerce platforms just for knowledge..
I think to manage magento , a strong knowledge is required, it is more beneficial but at the same time more complicated...
Richard Stubbings says:
Magentoplugins, I am sorry, I only use Magento, so have no direct experience with other current carts.
Creative, Magento is feature rich, has many different options, and is very complicated. The downside, as you say, means that you need expert hosting, and occasional expert developer help. Actually running the store is no harder than any other cart. Just don't make any changes in the setup.
Peter Johnson says:
Really a very nice post about the problems of SEO in Magento Multi store. Thanks Rechard for this informative post.
Richard, I am trying to configure migration of several stores to a single store. In this article I saw that it can be done automatically http://www.shopping-cart-migration.com/magento-multi-store-migration , so was ready to do it this way. But before reading your article, I didn't thought about store SEO. Now I think) Will migration influence the store SEO? Your opinion
Richard Stubbings says:
Moving stores around can always give SEO problems, especially if you change URLs. If you move from several stores into a single store then you will certainly change URLs. Consider this extension, http://www.magentocommerce.com/magento-connect/smooth-move-seo-301-redirect-handler-3958.html
But be aware that if you had several sites, and now just the one, SEO will be significantly impacted.
Sankar Datti says:
Can i use two different urls for using multi store. Does it effect SEO ?
All three have great correlation - Magento, Multi store and SEO. The other similar platform that I know is "e-Smart Ecommerce Suite", if you do not know more about this software for ecommerce, you should search the term, find source and what they are offering in their multi store module and the customizing capabilities.
Would you recommend using this setup for 2 different stores that are selling different products? For example my 1 store sells Loose tea and my 2nd store will be selling Herbs. Not quite the same, but not too far out either!
Im considering using your setup as the cost on a monthly basis will be significantly lower. Will have to figure out how to make them feel they belong to same company to avoid any weirdness with the change in the url.
Richard, any chance you can point me to a link with step by step direction on how to setup Multi-Store as a Addon Domain on a shared server account through cPanel. My programmer seem to be at lost with my request. He says it is not possible :(
Richard Stubbings says:
I have no clue how the server set up works. I just know it works. Ask your host provider. Presuming that they know Magento. As for your developer, just tell him my sites have been running this way for years. So it can be done.
John Mazzella says:
This Magento SEO topic seems to be the most on target with the current issue I am having. I sell laptop parts (batteries) where most batteries have at least 100 different aliases that one could search google for. Example by part number or by laptop model name post fixed with battery. Other stores seem to be able to create 100's of product with URLS and product description with target each of these keywords. On the backend the systems don't treat all these as separate products but as one so inventory counts remain accurate.
I'm guessing the solution you described cannot be applied on this scale where 10 products have 1000's of product pages each turned for SEO long tail keywords.
Any ideas on what this type of functionally would be called if I am searching for it?
Any guidance or solutions would be appreciated.