on http://example.com/ server response with (response based on Accept-Language header):
HTTP/1.1 301 Found
Location: /en/
on http://example.com/en/ in page <head></head>
:
<link rel="alternate" href="http://example.com/" hreflang="x-default" />
<link rel="alternate" href="http://example.com/it/" hreflang="it" />
<link rel="alternate" href="http://example.com/en/" hreflang="en" />
<link rel="alternate" href="http://example.com/es/" hreflang="es" />
<link rel="alternate" href="http://example.com/fr/" hreflang="fr" />
<link rel="alternate" href="http://example.com/ptb/" hreflang="pt" />
<link rel="alternate" href="http://example.com/chs/" hreflang="zh" />
<link rel="alternate" href="http://example.com/de/" hreflang="de" />
Google Search Console (old Web Master Tool) in International Targeting panal tell me:
URLs for your site and alternate URLs in 'x-default' that do not have return tags.
/ --> http://example.com/en/
URLs for your site and alternate URLs in 'pt' that do not have return tags.
/ --> http://example.com/ptb/
URLs for your site and alternate URLs in 'it' that do not have return tags.
/ --> http://example.com/it/
etc. for each language....
what am I doing wrong?