Home / Solutions / WooCommerce / WordPress architecture options for internationalising WooCommerce

WordPress architecture options for internationalising WooCommerce

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.

EnglishFrench
UKUK EnglishN/A
CanadaCanada EnglishCanada French
Table illustrating locales vs markets and languages

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:

  1. UK – English (en-en)
  2. Canada – English (ca-en)
  3. 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 strategyExampleProsCons
Top level domainsexample.co.uk
example.ca
Can make each locale feel very native to users helping to build trustYour SEO authority is spread over multiple domains making each relatively weaker
Subdirectoriesexample.com/en-en
example.com/ca-en
Generally seen as the strongest SEO strategy as all authority accrues to a single subdomainCan prevent some integrations or connected services from being able to distinguish one site from another
Subdomainsen-en.example.com
ca-en.example.com
Some site owners prefer the aesthetic, makes each locale distinct for connected servicesRiskier 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 flexibilityNot supported by Multisite natively, can dilute SEO authority, can be confusing to manage
Table outlining key pros and cons for different internationalised URL strategies

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:

  1. Single install with a multilingual plugin
  2. Multiple single installs
  3. Multisite install
    1. Simple multisite
    2. Clustered multisite
    3. Multi-multisite
  4. 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

  1. Provides a single CMS experience through which all content and site settings can be managed
  2. Different locale versions of content are linked and accessible both within the CMS and on the site for CMS users, visitors and bots
  3. There’s a single install and code base to manage

Cons

  1. Make the CMS very crowded and complicated to use
  2. More susceptible to plugin and theme conflicts
  3. 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

  1. Provides a simple CMS experience for each site (one CMS = one site)
  2. Use any URL strategy
  3. Each install can run totally separate codebases
  4. Installs can be geographically hosted in each market
  5. Each site can have its own integrations and performance optimisation
  6. If one site has issues, the others are unaffected

Cons

  1. Adds significant admin overhead to manage different codebases, applications and hosting environments
  2. No easy way to connect sites in terms of user journey or SEO HREFLANG links
  3. 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

  1. 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
  2. Different locale versions of content are linked and accessible both within the CMS and on the site for CMS users, visitors and bots
  3. There’s a single install and code base to manage
  4. Each site can run individual sets of plugins and theme but with the ability for network super-admins to enforce policy across the network
  5. Can use CDNs to deliver geographically-optimised performance
  6. Highly scalable – each site can be as different and connected as desired without impacting performance
  7. Compatible with Qala modules (see below)

Cons

  1. Can be an over-engineered solution if the sites are exact clones of each other except for translations and are content-only (not transactional)
  2. Needs customisation to allow a combination URL strategy
  3. All sites are the same application so if one goes down or is ‘noisy’ in terms of traffic, it can affect the others
  4. No way to manage all orders from one interface
  5. No way to manage all coupons from one interface
  6. Synchronizing product information is not very flexible
  7. Images need to be managed individually from site to site, creating large amounts of images.
  8. No way to automatically synchronize stock (Can be solved with WooCommerce Stock Synchronization)
Qala 3.1
Qala is optimised for international WooCommerce stores

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.

Multisite
Diagram illustrating a simple WordPress multisite architecture

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.

Cluster
Diagram illustrating a clustered WordPress multisite architecture

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.

Network
Diagram illustrating a WordPress multi-multisite architecture

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

call-me-fred-N99V5GjTi-g-unsplash

Alexander Frost | Reading time 14 min

Brexit for WooCommerce sellers

kelly-sikkema–nz-GTuvyBw-unsplash

Alexander Frost | Reading time 3 min

Cynefin: a valuable framework to classify, communicate and respond to tasks in digital projects

mr-cup-fabien-barral-86075-scaled

Alexander Frost | Reading time 6 minutes

Web fonts for WordPress

Fonts control how your text is displayed – how the letters actually look. web-safe fonts. W…

Read more
mr-cup-fabien-barral-86075-scaled

Alexander Frost | Reading time 6 min

Web 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.

Loading