I use this meta tags to make google crawler know that I have two languages for my site, as suggested here support.google.
<link rel="alternate" hreflang="x-default" href="http://www.example.com" />
<link rel="alternate" hreflang="de" href="http://www.example.com/de" />
<link rel="alternate" hreflang="en" href="http://www.example.com/en" />
So sometimes the content of example.com
would be the same as example.com/de
and sometimes example.com
would be the same as example.com/en
.
I use the following code to detect language
const lang = (
getLangFromUrl(req.url) ||
getLangFromCookies(req.cookies) ||
getLangFromHeader(req.headers) ||
'de'
);
and google detects example.com
and example.com/de
as duplicated pages.
Can you please tell me how should it be correctly done?
To change the language, just simply set the lang attribute. We can define it anywhere in the document, such as in the body, in the paragraph, in the heading, or in the span tag. But the best practice is to set the lang in the span tag.
Launch Google Chrome and go to the Google Translate website i.e. translate.google.com. Type the entire URL of your website in the text box on the left. Select the new language you wish to translate your website into. Click the Translate button.
Google has mentioned this issue in this link: support.google.com
If you prefer to dynamically change content or reroute the user based on language settings, be aware that Google might not find and crawl all your variations. This is because the Googlebot crawler usually originates from the USA. In addition, the crawler sends HTTP requests without setting Accept-Language in the request header.
I hope this will help you
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With