I know this kind of questions have been answered a thousand times, but you know that every question is different in some sort of way :)
So, I'm having troubles with Google Indexing my site correctly. The website sitemap is as follows:
| - example.com
| --- example.com/es
| --- example.com/en
mysite.com acts as a bridge redirecting depending on the "HTTP_ACCEPT_LANGUAGE" header to one or the other ("en" is set to default). I've been told that googlebot doesn't send quite often this header so this might be a problem (?).
Pretty common setup, right? Well, the problem is that despite having hreflangs integrated on every page and having the alternate versions in the sitemaps, Google keeps indexing no matter the language of the browser always the English version (thus including the description of the page and the title besides the url). Furthermore, it always displays the root domain instead of the language sites (as Ryanair does for example).
To better understand what I'm trying to achieve I'll describe the way I want Google to display the results:
When searching from a Spanish web browser I'd like to display the Spanish content: title and description (quite obvious duh :P) as well as the Spanish url: "example.com/es". And the same with the English version with browsers not being Spanish. To be fair I don't even understand either why it keeps replacing the titles to "MYNAME : REST OF TITLE" instead of "MYNAME - REST OF TITLE".
I have this sitemap in the root domain (it is a sitemap index):
<sitemap> <loc>https://example.com/es/sitemap.xml</loc> </sitemap> <sitemap> <loc>https://example.com/en/sitemap.xml</loc> </sitemap>
And this is the english sitemap just that you can see how it's done:
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:example="http://www.example.com/schemas/example_schema" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <!-- namespace extension --> <url> <loc>https://example.com/en/</loc> <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/"/> </url> <url> <loc>https://example.com/en/linkEnglish/</loc> <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/linkSpanish/"/> </url> <url> <loc>https://example.com/es/</loc> </url>
And then this is written in every single page inside the header:
<!-- hreflang --> <link rel="alternate" href="https://example.com/es" hreflang="es" /> <link rel="alternate" href="https://example.com/en" hreflang="en" />
Any suggestion in how can I accomplish this?
Thank you very much in advance!