Multi-region website

Hi there,

We've seen that similar questions have come across the following scenario(s) on the forum, however we cannot find any complete proposal/solution for multi-region websites.

Our current challenge scenario is the following:
We need to create a site (containing WooCommerce products) that will be available in several languages, and has to have country specific content.

We have WPML, which is very useful for multi-lingual sites, but not multi-region.

Scenario A:
1) A product that is available for sale in USA, must have USD currency, and needs to be available in English and Spanish (no issue implementing this).
2) The same product needs to appear in Spain, in Spanish, but different description (instead of lb, it needs to be KG, instead of inches, in centimeters) and be in EUR currency instead of USD
3) Some products will be available in USA, but will not be available in Spain. A message should appear "This product is not available in your country, go to US store instead"
4) The product reviews, should be available (and translatable) for all languages and regions: product "A" could have a review in English, and will be displayed in the product available in English, Spanish; Spanish-USA and Spanish-Spain
5) Content "duplication" concerns us: page "A" will have (almost) the same content in Spanish-USA as Spanish-Spain (except for inches and CM, etc). Will Google penalize us for this?
6) Depending on the user's location, he/she should be redirected to the country specific page/product, or:
6a) have a country&language&"remember my settings" selector as entry page (if GeoIP is not available (or user would like to choose his/her custom country). A lightbox popup would be optimal for this.

Scenario B:
Many options from scenario A make us consider multisite, as it would solve "most" of our issues (also stock management, taxes per country, shipping classes, etc). However, we cannot figure out:
7) a way of duplicating the content across the sub-sites (pages can be converted into templates, and duplicated, so that's ok): how can we duplicate products-comments-sidebars-sliders across the country specific sub-sites
8) how do we geo IP content on a regular server? and how do we mark each site/product as country specific?
9) how to we keep track of changes? i.e. product/page "A" is changed in Spanish in the USA sub-site, how do we keep track of pending changes/translations in the Spanish sub-site.
10) Bonus: To make things a little more complicated, we'll need to have each sub-site on a different, geographically based server for latency purposes (i.e. de.example.com in Germany, us.example.com in USA, etc). But I believe this option is not possible at all, as there's only 1 DB for all sub-sites.

Thanks for reading (whoever got to the end) and looking very much forward, and thanking for your suggestions!
M

  • Adam Czajczyk

    Hello M.

    I hope you're well today and thank you for your question!

    This is extremely complex and I think achieving this with "out of the box" available plugins and tools may be nearly impossible, if possible at all. I'm not saying that it's not doable but in my opinion a lot of custom coding/development will be necessary.

    The "first part" is complex but could be achieved with multisite setup, as you already noticed. The sub-sites would server for your "regions" and if there's more than one language "per region" this could be handled by WPML. If a given product would be available for a certain language only, WPML should let you set that up the way it would just "skip" that product and don't display it if it's not available in a currently selected language.

    I admit however that I"m not sure how WooCommerce handles "multiple currencies" in one shop, so it's possible that you'd need to create even more sites with Multisite - so different currencies would be served from different sub-sites.

    That's just a part of the setup though :slight_smile:

    4) The product reviews, should be available (and translatable) for all languages and regions: product "A" could have a review in English, and will be displayed in the product available in English, Spanish; Spanish-USA and Spanish-Spain
    5) Content "duplication" concerns us: page "A" will have (almost) the same content in Spanish-USA as Spanish-Spain (except for inches and CM, etc). Will Google penalize us for this?

    Point 4, if I understand it correctly, would be handled by WPML. Point 5 - in my opinion if the content is in different language Google shouldn't penalize the site. Furthermore, there's always an option (in case of languages so similar that not distinguished by Google) to just set so called "Canonical Links" so Google would know which site is "original" and which is just a "legitimate copy".

    6) Depending on the user's location, he/she should be redirected to the country specific page/product, or:

    There are already some plugins available that can do this. For example this one:

    https://wordpress.org/plugins/geo-redirect/

    6a) have a country&language&"remember my settings" selector as entry page (if GeoIP is not available (or user would like to choose his/her custom country). A lightbox popup would be optimal for this.

    Language should be remembered by WPML but remembering location/redirect may require some additional custom developed code.

    7) a way of duplicating the content across the sub-sites (pages can be converted into templates, and duplicated, so that's ok): how can we duplicate products-comments-sidebars-sliders across the country specific sub-sites

    There are plugin such as e.g. our own Multisite Content Copier. Another one is "Multisite Cloner" available from wordpress.org repository. In my opinion however this would also require custom developed solution because of the complexity of the content and setup. What you are trying to achieve is a complicated platform that would be handling quite uncommon scenario. Most of the plugin are created for more common cases, unfortunately :slight_smile:

    9) how to we keep track of changes? i.e. product/page "A" is changed in Spanish in the USA sub-site, how do we keep track of pending changes/translations in the Spanish sub-site.

    In some limited range WPML can show you that the given content doesn't have any translation yet. In order to be able to fully track changes across all the languages across entire network you would again need a custom code that would hook to the publish/update actions and to WPML so it would detect that the content has been updated and would check for which of the languages this particular content is. This is possible to code and could indeed be a handy tool but I haven't came across any similar solution that would be "ready to use".

    10) Bonus: To make things a little more complicated, we'll need to have each sub-site on a different, geographically based server for latency purposes (i.e. de.example.com in Germany, us.example.com in USA, etc). But I believe this option is not possible at all, as there's only 1 DB for all sub-sites.

    You are right. It would be difficult with Multisite. You could achieve it if each of the sites was a separate single WordPress site but that would make all other parts of the project way more complicated or even impossible.

    However, the good and commonly used solution is a CDN (content delivery network). The purpose of it is to serve cached content from the cache server located as close to the end user as possible and if the cached content is not available to redirect the trafic via a shortest/fastest possible route.

    I think that there are some advanced CDNs that could give you quite detailed control over content distribution routes.

    Best regards,
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.