Ad

How To Show A Page In Different Languages?

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" target="_blank" rel="nofollow noreferrer" target="_blank" rel="nofollow noreferrer" href="http://www.example.com" />
<link rel="alternate" hreflang="de" target="_blank" rel="nofollow noreferrer" target="_blank" rel="nofollow noreferrer" href="http://www.example.com/de" />
<link rel="alternate" hreflang="en" target="_blank" rel="nofollow noreferrer" target="_blank" rel="nofollow noreferrer" 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?

Ad

Answer

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

Ad
source: stackoverflow.com
Ad