Hugo for multi-regional sites?

Hi there. I have just started looking at Hugo and from what I have read it looks amazing. I have done some of the tutorials, but I am not far enough along to know if it can fulfill the need I have in mind.

I am currently working on a WordPress site that has approximately 4000 pages and multiple regions. At the moment, region is detected based on IP and a PHP script redirects to the appropriate region.

Forms are all handled by external software and I am thinking of using lunr for site search.

I believe that I can get region detection working via Javascript, but I need to know:

  1. Can there be a setup where most of the content is replicated for the regions, but some of it is region-specific?

  2. Can certain content be tagged per region and per page (with various criteria?) I believe that it can using the Go HTML templates, for example similar to how tagging works for blog posts, but for different types of data.

I’ll assume you will use the multilingual feature in Hugo and that region = language (one could imagine that you could build some custom stuff, but I’ll ignore that):

  1. No. One language = one site. You can list translations of a given page and all pages for all sites (language), but you would have to be very creative with the queries to get what you want. But see https://github.com/spf13/hugo/issues/2529
  2. Yes, Hugo has a very powerful concept called taxonomies (can be anything; categories, tags, …), and a set of taxonomies is per language (… region)

Thank you for your prompt and clear reply, bep.

That link was extremely interesting, although luckily I don’t have as much of an issue as the poster. Just the Hugo multilingual capability will pretty much do what I want it to (I can run a script to convert markdown for the 1 region that doesn’t want to use US English). I can even duplicate all of the markdown files if I need to and just edit the few that need to change manually where products/services are not applicable.

I need to get my head around the taxonomies, but it’s good to know that they are powerful enough to handle what I have in mind, at the moment I have an SQL table structure that has resources (and regional information), and a then a bridging table that links those resources to WordPress pages.

Sure, but note that a “language” doesn’t have to be a language, it can be anything you want to use to split a site into multiple sites, but language is the common use case.