The question:
I am starting three Magento projects. One is local and the two other ones are international.
So I though about creating a store for each country for my Magento setup that are international and then have a view for each language.
Is this over kill?
Is it the best strategy?
By the way I am not the only one working on these websites.
One will have many translators and people that will add content to these stores.
The Solutions:
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
Method 1
Preferred setup:
In general this is probably exactly what you want, where stores are countries; and views are reserved for language/translation:
└── website
├── canada
│ ├── english
│ └── french
├── mexico
│ └── spanish
└── usa
├── english
└── spanish
This type of setup allows you to easily customize the currency at the store level and allow the store view to inherit other settings such as translation/pricing, etc. This is also helpful if you run a single shop with many brands that could be segmented into separate websites. The upside here, too, is that you can categorize products at the website level and it should filter down to the stores so that you create one category per website.
Mobile store with translations
The only exception is if you’ll be serving mobile stores separately and they will also have language packs, in which case, you’d organize the countries become websites and the stores are the viewing medium. Store views are still reserved for language:
├── canada
│ ├── mobile
│ │ ├── english
│ │ └── french
│ └── web
│ ├── english
│ └── french
├── mexico
│ ├── mobile
│ │ └── spanish
│ └── web
│ └── spanish
└── usa
├── mobile
│ ├── english
│ └── spanish
└── web
├── english
└── spanish
This allows you the flexibility to merchandise the mobile store separately but you lose the ability to have a unified cart across countries. Another drawback is that you will have to categorize manually across all of your stores – which may be a dealbreaker.
Alternate Mobile Stores w/ Translations
The only way around the categorization effort would be to install mobile store language views alongside the web views:
└── website
└── usa
├── english
├── mobile_english
├── mobile_spanish
└── spanish
What I don’t like about this type of setup is that you have to duplicate any merchandising to your mobile store views manually instead of doing it at a higher level. If that’s not a problem for you this may be a preferred setup.
Conclusion
Really it’s all about effort and balancing what you’re willing to take on vs. what is a convenience for your customers.
Note about performance
Every store view, store, website adds indexing overhead due to the requirement that the products are duplicated in the index. Take caution that using flat catalog and flat categories increase this overhead substantially. Test, and retest, for performance – because you may reach a point where the number of indexes begin to create a performance burden and disabling flat catalog may actually prove fruitful for you. Everyone’s situation is different – review some of the performance answers from @sonassi for more information here on Magento.SE.
Best of luck!
Method 2
There are multiple options, enterprise sites use single tlds with multi-country (stores/websites) or multiple tlds with language specific content. The other 95% use sub-domains and sub-directories, the problem here is there you have two parts, technical which are focused towards search engines such as Google and business focused towards visitors.
Sub-domains fit the technical box but not the visitor usability, sub-directories are vice versa. Single tlds with multi-country and multiple tlds fit both technical and business perspectives.
What has not been covered is that due to the way Magento works, if you have many stores (10s+) Magento starts slowing to a crawl and you need to increase your hosting allocation, it is reasonable as your are trying to compete in the top 5% & top 1%, most think they can get away with it, you cannot.
With single tld you have issues redirecting users to the correct store and one per country, with multi-tlds you have issues with buying tlds in countries where you need to have a physical presence, both cause Magento speeds issues as they need multi-store.
There are many options on a technical basis, however when you take in to account the business side (visitor usability, cost, return on investment) combined with technical, you are left with very few options, and these require a lot of experience to know how to balance them out. When it comes to this style of site, which needs specialist knowledge and hosting environment, we go to enterprise consultants.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0