This article covers different ways to internationalise a WooCommerce store. One of WordPress’ strengths is its incredible flexibility and the huge ecosystem of potential plugins and solutions available. However, one result of this is that there are usually a number of different ways to address any given requirement and it can be hard for non-expert users to know which is the best option for them.
There aren’t many decisions that can be more impactful to the scalability of a WooCommerce store than this question of architecture. Here at Angry Creative we’ve seen it done in multiple ways and have reached a firm conclusion about the best approach for running more than a single store. Whilst this article focuses on internationalisation, many of the same considerations apply if you are running any network of WooCommerce stores (e.g. under different brands).
For the impatient reader, our recommendation is always to use a multisite approach with MultilingualPress.
Locales, markets and languages
Firstly, let’s consider what we actually need. A typical internationalisation requirement would be that you have a single store and that your customers are mainly in the UK where you’re based. However you’ve got a growing following in Canada and you want to create a store that sells to that market so that you can use local currency, taxes, shipping and marketing.
So you now have two markets – UK and Canada and two languages, English and French because Canada has two official languages.
English | French | |
UK | UK English | N/A |
Canada | Canada English | Canada French |
What you actually need is three sites that are a combination of market and language. We call these locales and in this example we’d end up with three locales:
- UK – English (en-en)
- Canada – English (ca-en)
- Canada – French (ca-fr)
These are typically referred to using ISO code combinations such as indicated above. So now we’re clear on what we need in terms of locales, we can move on to look at technical options.
URL strategy
There are several URL strategies for internationalised sites.
URL strategy | Example | Pros | Cons |
---|---|---|---|
Top level domains | example.co.uk example.ca | Can make each locale feel very native to users helping to build trust | Your SEO authority is spread over multiple domains making each relatively weaker |
Subdirectories | example.com/en-en example.com/ca-en | Generally seen as the strongest SEO strategy as all authority accrues to a single subdomain | Can prevent some integrations or connected services from being able to distinguish one site from another |
Subdomains | en-en.example.com ca-en.example.com | Some site owners prefer the aesthetic, makes each locale distinct for connected services | Riskier SEO strategy as Google has not dealt with subdomains consistently in the past (i.e. authority could be spread over each subdomain) |
Combination | example.com en-en.example.com example.com/ca-fr | Ultimate flexibility | Not supported by Multisite natively, can dilute SEO authority, can be confusing to manage |
We recommend using subdirectories unless there is a good reason to do otherwise.
WordPress terminology
We also need to be clear about the terms we’re using from a technical perspective.
- Install – a single WordPress application – i.e. a single filesystem and database.
- CMS – an individual WordPress site which is what you get with a default WordPress install – i.e. a single WP Admin.
- Site – what a visitor to the website experiences – so in the case of an internationalised site, one site/store = one locale.
- Multisite – a way of configuring WordPress to run a network of sites all within a single install. Because these are all part of the same application, the CMSs are connected but each site within the multisite network has its own CMS. You can further use multisite to create a network of networks or a multisite-multisite.
Using this terminology carefully, these are the sensible options:
- Single install with a multilingual plugin
- Multiple single installs
- Multisite install
- Simple multisite
- Clustered multisite
- Multi-multisite
- Multiple single/multisite installs in combination
Let’s review each in turn.
Single install with a multilingual plugin
There are a number of WordPress plugins such as Polylang or WPML that are designed to allow you to run multilingual sites (and stores) all from within a single WordPress site/install.
Pros
- Provides a single CMS experience through which all content and site settings can be managed
- Different locale versions of content are linked and accessible both within the CMS and on the site for CMS users, visitors and bots
- There’s a single install and code base to manage
Cons
- Make the CMS very crowded and complicated to use
- More susceptible to plugin and theme conflicts
- Causes scalability and performance issues
We do not recommend this approach and have spent many thousands of hours remediating sites that have taken this approach only to regret it later.
Multiple single installs
This is straight-forward – one just runs multiple independent installations. These can be totally disconnected and hosted in separate environments entirely, or they can be within a single hosting environment using different folders to house the WordPress installation filesystem and connecting to separate databases.
Either way, in this paradigm, each of the WordPress sites is a totally separate application and does not ‘know’ about any of the others.
Pros
- Provides a simple CMS experience for each site (one CMS = one site)
- Use any URL strategy
- Each install can run totally separate codebases
- Installs can be geographically hosted in each market
- Each site can have its own integrations and performance optimisation
- If one site has issues, the others are unaffected
Cons
- Adds significant admin overhead to manage different codebases, applications and hosting environments
- No easy way to connect sites in terms of user journey or SEO HREFLANG links
- Most advantages can be delivered through a multisite approach without the cons
We do not recommend this approach as it has little to offer by way of unique advantages and the cons are significant.
Multisite installs
With WordPress Multisite, we can build a network of websites that are linked because they are part of the same WordPress application. We can then use MultilingualPress to create and maintain the connections between the locales and content within the network. This combines many of the advantages of both running independent sites and multilingual plugins whilst avoiding many of their disadvantages.
Pros
- Provides a connected CMS experience through which all content and site settings can be managed for one or more sites depending on which CMSs a user has permissions for
- Different locale versions of content are linked and accessible both within the CMS and on the site for CMS users, visitors and bots
- There’s a single install and code base to manage
- Each site can run individual sets of plugins and theme but with the ability for network super-admins to enforce policy across the network
- Can use CDNs to deliver geographically-optimised performance
- Highly scalable – each site can be as different and connected as desired without impacting performance
- Compatible with Qala modules (see below)
Cons
- Can be an over-engineered solution if the sites are exact clones of each other except for translations and are content-only (not transactional)
- Needs customisation to allow a combination URL strategy
- All sites are the same application so if one goes down or is ‘noisy’ in terms of traffic, it can affect the others
- No way to manage all orders from one interface
- No way to manage all coupons from one interface
- Synchronizing product information is not very flexible
- Images need to be managed individually from site to site, creating large amounts of images.
- No way to automatically synchronize stock (Can be solved with WooCommerce Stock Synchronization)
A quick note on Qala
At Angry Creative we strongly believe in the multisite approach but also recognise some of the disadvantages. This has led us over time to create Qala which is a WordPress system which is designed around multisite and MultilingualPress, particularly for international ecommerce. Various Qala modules add functionality like stock sync, network reporting and multimarket user journeys as well as a range of general ecommerce enhancements.
Simple multisite
This is by far the most common approach among our customers and is usually a good fit for most requirements.
For example, if we sell office accessories from Sweden to all EU countries, China and Russia, we would need a single WordPress install with a multisite configuration. In this multisite, we would then create four CMSs.
We recommend this approach when each locale either represents an individual business or business unit OR all locales are managed by a single business or business unit.
But what about if we have a corporation with three four separate businesses or business units?
Clustered multisites
Thanks to the fantastic MultilingualPress plugin from Inpsyde, we can cluster and create relationships between multisites. This allows us to build clusters of different CMSs/sites in the multisite installation. The architecture of it is basically flat, and we then create the hierarchy through the links between each CMS/site. Often each cluster will run a different subdomain or domain on the front end.
For example, you can have a website called en.eu.myshop.com that is connected to de.eu.myshop.com and it.eu.myshop.com so that you have three CMSs/sites for the EU business. Then in the same installation, you might have en.asia.myshop.com connected to jp.asia.myshop.com and zh.asia.myshop.com, so that you have three CMS/sites for the Asian business and so on.
Each CMS/site will be able to have its own language, currency and all the necessary settings for its market. What can be clumsy is the synchronisation between products. Natively, it is also not possible to configure items per “relationship group” (e.g. EU store or Asia store), and it is not possible to synchronise the product (i.e. copy posts) between “relationship groups” with MultilingualPress, both of these functions are in progress on the plugin’s roadmap.
Angry Creative’s Qala platform includes several modules which help fill the gaps in MultilingualPress such as stock sync within clusters.
A clustered Multisite also gives us the best possible compatibility with both the WordPress core and plugins from WordPress.org.
We recommend this approach when there are multiple businesses/business units that each need to manage one or more sites.
Multi-Multisites
If we want a clearer hierarchy, the Multi-Multisite approach may be relevant. This option is provided by using a plugin such as WP Multi-Network. With this approach, we create several multisites within the installation, and within each multisite, we have multiple CMSs/sites, using MultilingualPress to manage languages.
With this approach, we have 4 Multisite instances running, which in turn have a total of 9 websites running within these multisite instances.
We only recommend this approach when there is no alternative.
Multiple single/multisite installs in combination
We have seen examples of this but they are so specific in terms of requirements that there’s no sensible way to summarise why you would do this unless you are absolutely forced to do so. One or other of the multisite configurations will almost always cover whatever you’re trying to achieve here!
External support systems
When WooCommerce stores scale up like this, we must understand that it will create a lot of manual work if we do not have the right support systems as WooCommerce in itself has some limitations “out of the box”. Even with Qala in place, most ecommerce businesses will require support systems. Getting the right support system(s) in place early, it will be much easier to manage when the business starts growing more quickly.
Most businesses usually need an ERP system and a PIM system such as Pimcore. Different systems provide different functions, but the basic ERP systems can at a minimum usually manage orders. If the ERP does not manage items and inventories, you will need to obtain a WMS system. A standard PIM system can provide all images, translations, and discount codes in one central location, which will save you a lot of time. Read more in this article on ERP for WooCommerce.
Conclusion
We’ve seen that there are several ways to implement internationalisation; however, the multisite approach is the one we’ve found allows us to do it in a scalable manner. We hope this guide has been useful to understand why we recommend this approach.
Good luck with scaling your future multi-market & multilingual WooCommerce store!
You may also be interested in these articles
Brexit for WooCommerce sellers
The impact of Brexit is huge. There are very many implications for those in e-commerce businesses…
Read moreBrexit for WooCommerce sellers
Cynefin: a valuable framework to classify, communicate and respond to tasks in digital projects
Cynefin. At Angry Creative we think it’s a vital part of digital projects. It helps us to underst…
Read moreCynefin: a valuable framework to classify, communicate and respond to tasks in digital projects
Web fonts for WordPress
Fonts control how your text is displayed – how the letters actually look. web-safe fonts. W…
Read moreWeb fonts for WordPress
Subscribe to our newsletter for tips, inspiration and insight about WordPress and WooCommerce and the digital world beyond.
Time to take the next step towards a more effective website?
Contact us, and we can talk more about how we can take your business to the next level together.