JUNE 09, 2016 BY BILL HUNT
There seems to be some confusion over these two elements. I think it is caused by the SEO community co-opting the name of the original hreflang link element for a more straightforward explanation. We originally wrote about this issue in 2016 when working with the Adobe AEM team after our testing tool was generating some incorrect errors for large sites. We found some websites were using the original HREFlang in the body of pages to designate different language versions in their country locator, especially for non-ASCII friendly languages.
The HREFLang link element is NOT the same as the one for Search Engines that SEOs want you to use to disambiguate the language region of a country. This version was designed to help browsers and bots detect if it should go into specific content types and language types to prevent showing corrupt text on the screen. If you use this implementation on your site, you MUST ALSO use one of the correct HREFLang Implementations.
In the example below, the website has integrated the Hreflang Link Element into their Country Locator, which is in a pull-down. Unfortunately, this is incorrect as it indicates the country and NOT the language. Both versions of hreflang are language specific.
Another example of confusion the development team has integrated the country and country language in some cases as if this were for search engines. Ensure your developers reads the HREFLang Link specification on W3C, as it stipulates that the two-letter ISO Language code be used.
I have seen a few of these implementations lately, so someone must have suggested it to webmasters. The HREFLang Element, if you are using it for Search Engines to disambiguate the language region for your website, must either be in the HTML <head>, the HTTP response header, or in an XML sitemap to be understood. It CANNOT be added anywhere else on the page.