Why can't content directories overlap in a multilingual site?

I’m working on something that involves making lots of websites using the same content. To do this I am using the multilingual multisite feature where each language is actually a different website instead of a different language. It seemed to be going great but I’ve just realised setting the content directory for each one to be “content” doesn’t work. I looked in the docs and found this saying that 2 languages can’t use the same content directory:

Is there any way to get around this and use the same content for 2 languages? Also I understand why it’s advisable they have different directories but why prevent it from working and reduce the flexibility of HUGO?


You are using it to produce multiple sites, but the feature is made for multiple languages. That works for most folks that keep, ya know, different languages in their project.

What does “different website” mean in this context? Is that sub-domains, or sub-directories?

Yes that’s right - I know it’s not the intended use of the feature. I actually got the idea after bep suggested it could be a way to create multiple websites from one project to another user on this forum. Turns out it’s perfect for my project except for this one hang up so I thought I’d see if anybody has any suggestions.

Different websites.



Why are you doing it this way? I’m not judging, just trying to figure out an alternative for your use case, but I don’t know why you are doing it that way.

If I had two websites that needed the same content, I’d build the site twice, with a different --baseURL for each. I don’t understand the use for keeping multiple sites’ content next to each other in a Hugo content directory.

No probs it’s a good question. My idea is to make scaling easier. So if I end up with lots of these sites (say 20+) I can update them all with one build. Also the different sites have a bunch of different settings and static content (so it’s not just the baseurl that changes).

Turns out you can make 2 languages use the same content directory by linking them to:

contentDir = “content”
contentDir = “/content”

But I currently haven’t found a good solution for more.