I made a website with HTML, CSS and Javascript without using a CMS, so it’s all kind of static. I’ve been asked to make this project into a multi language website (the current language and English). Now I am looking for a good way to implement all the translations.
I’ve seen a simple solution with i18next using client-side Javascript, but I’m wondering if this isn’t harmful for SEO (the url doesn’t change when selecting another language) and if there is a better solution for this.
2
Answers
Hidden content may not be read by the search engines. It’s better to have two versions of entire site in subfolders.
If you really want to do it with javascript, try to put both content visible in html (users with no javascript should see both) and then with javascript hide one of them after page loading. But i suggest the first approach, it’s more realiable.
source about google do this: https://www.freshegg.co.uk/blog/technical-seo/google/how-does-google-treat-hidden-content
No issue with that. Google and other search engines run javascript as user browsers. Just add some links so google could discover the pages in other language (not only have autodetection)
The only drawback you have currently are routes are not translated but that could be solved, eg. https://github.com/i18next/i18next-express-middleware#add-localized-routes