One of the key values in multi-language web sites is their ability to reach a greater audience. In order to maximize this value, web site owners need to be certain that they provide adequate information to search engines so that they can appropriately index.
If you view source on this page, you can see three factors that will influence search engine placement with regards to language.
First, the lang attrbute (<html lang="en-US">). The lang attribute tells the search engine the primary language of the document.
Second, the relationship alternate along with hreflang attribute. This tag tells the search engine that there exists a page with similar content and provides the location for that page.
<link rel="alternate" hreflang="es" href="https://www.givendata.com/es/alcanzar-soluciones/" />
Third, the language switch link. Notice the drop down for languages in the header. When a user selects a link in the header, it takes that user to the equivalent page in the appropriate language; not to the base of the web site. This not only helps the search engine, but also helps users as they do not need to re-navigate through the web site to reach the same content.
<a href="https://www.givendata.com/es/alcanzar-soluciones/"> Español</a>
How do Sitecore and Umbraco Resolve This?
Out of the box, neither resolve this, but it is fairly easy to achieve for both systems.
Since Sitecore operates with “In Place” translation, it is a relatively easy process to create the appropriate elements; simply check to see if a language version exists and if so, create the link.
For Umbraco, the code needs to first query a content items published relations and then create links to those relations; a very slight bit more cumbersome than with Sitecore.