At the moment on my blog I have articles only one language. Now I want to write posts in other languages as well. The new posts will not be a translation of existing posts – I'll sometimes write articles in one language, sometimes in the other. The topics might well be different.

What's the best strategy to manage such a blog?

  • Should I add a subdomain for each language: "lang1.example.com" and "lang2.example.com"?
  • Or should I insert a language into the URL path: "example.com/lang1/article/123" and "example.com/lang2/article/456".

In the later case there might be articles in different languages on a page where they all are listed.

As for the database, I'll add one more field for a language. Will this be a decent solution?

  • 5
    I don't see how this question is about software engineering, e.g. development processes or software architecture (see our help center for details). If you're interested in the tradeoffs between different URL strategies, then Webmasters might be a better place. If you ask there, please delete this question: cross-posting the same question on multiple sites is frowned upon. – amon Oct 22 '17 at 14:00

It depends on the readers.

I faced a similar problem when I started my blog. I thought my readers would be mostly from France, but I knew I would also write some articles in English. I decided to have a single blog within a single domain which hosted all the articles, independently of the language.

A few years later, it appeared that:

  • Most of my articles were in English; only few remained in French.
  • Most of my readers are from the countries outside France, and don't speak French.

If I knew that, I would probably create, as you suggested, a separate domain, either https://en.example.com/ and https://fr.example.com/ or https://example.com/en/ and https://example.com/fr/, each one being used by different audiences.

If, on the other hand, you're writing in languages which are all known by most of your readers (say you're writing in Russian and English and your users are mostly developers from Russia, so every one of them know necessarily both languages), then a single blog makes sense: this way, your users won't have to switch between two sites (most won't, and would stick to one, therefore losing an opportunity to read a part of your articles).

In this case, make sure:

  • You add proper HTTP headers, especially if the content outside the article itself (the menu, the footer, etc.) is not translated.

  • You translate the content outside the article itself (the menu, the footer, etc.) to all the supported languages, and you vary it properly based on the headers sent by the browser (and not the geographic location of the user, which is a disgusting practice).

  • You clearly specify which article is in which language in every internal link, if this is not clear enough from the title itself, as to prevent the readers who might not know one language or another from following a link to an article they won't be able to read anyway.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.