Alternative Keyword Research Tools
Nick Eubanks
5 Mins Read
If your website is targeting multiple languages or locations, hreflang tags are an integral part to your technical SEO success.
Google’s John Mueller recently Tweeted about the complexity of hreflang tags, even for advanced SEO professionals.
TBH hreflang is one of the most complex aspects of SEO (if not the most complex one). Feels as easy as a meta-tag, but it gets really hard quickly.
— John ☆.o(≧▽≦)o.☆ (@JohnMu) February 19, 2018
We’ve helped dozens of clients work through this complicated process – in this article, we’ll be covering everything you need to know about properly implementing hreflang tags on your site:
[toc class=”no_bullets”]Let’s get into it.
An HTML ( rel="alternate" hreflang="x"
) markup that denotes the language or region your webpage is targeting. The attribute makes sure Google knows which page to rank, in which language and in which location (i.e. in Google US, UK, etc).
The hreflang tag is important because it can help your website get more exposure for international search queries.
It’s important to note, hreflang will NOT:
Hreflang attributes should be used for content that’s specific to a local audience. The tags help Google understand the relationship is between your pages in alternate languages and regions.
For example:
The hreflang tag gets added to the head of each relevant page. A simple example could be:
[php] link rel=”alternate” href=”http://example.com/” hreflang=”en”The attribute tells Google that http://example.com has an “alternate” (i.e. duplicate) page. That page can be found at http://example.com/en-gb/ and it’s written in British English.
There’s 2 elements of the tag:
Without these, Google understand won’t understand what you’re trying to communicate. These are standardized codes in ISO format. You can find them here:
Misused Language and Country codes are a common error that can hurt your rankings. Triple check your codes before implementation.
There are several instances where you will want to consider using the hreflang directive.
The simplest use case is when you translate your website into multiple languages. In an ideal situation, you’d set your site up on subfolders for each language:
Each translated page passes under that subfolder:
Neil Patel translates his blog posts into 5 different languages to maximize traffic to his site.
[php] href=”https://neilpatel.com/” hreflang=”en”When you want to distinguish the difference between two locations, that speak the same language.
CNN uses a subdomain to target UK readers but the same domain to target US and Canadian audiences.
[php] href=”https://edition.cnn.com” hreflang=”en-gb”Before hreflang tags, the common practice to capture international searchers was to use multiple Top Level Domains (TLDs). If you have multiple top level domains, you’ll still want to link them with hreflang tags.
ASOS uses a combination of TLDs, subdomains and subfolders to manage their international presence.
This is complicated setup – most likely left over from legacy, stagnated regional launches.
Generally speaking, best practice is subfolder structure across a single domain. This preserves SEO equity and reduces effort required to manage multiple domains.
Google recommends 3 methods…
This is generally the most followed route. You’ll need to write the hreflang attributes and then have a developer insert them into the <head> on all the pages needed.
For example, if you have an English (webris.org) and Spanish (webris.org/es) site:
[php] rel=”alternate” href=”https://webris.org” hreflang=”en-us”Aleyda Solis has a great tool to help you generate the code.
In addition, Traffic Think Tank has a full soup to nuts course on international SEO that’s worth checking out if you’re looking to take a deep dive into exactly how to approach a complex international implementation.
If you publish non-HTML files (like PDFs), you can use an HTTP header to indicate a different language version of a URL.
You can submit via sitemap. Using the same English (webris.org) and Spanish (webris.org/es) site, the sitemap would look as follows:
<url>
<loc>https://webris.org</loc>
<xhtml:link rel=”alternate” hreflang=”en-us” href=”https://webris.org” />
<xhtml:link rel=”alternate” hreflang=”es-co” href=”https://webris.org/es/” />
</url>
<url>
<loc>https://webris.org/es/</loc>
<xhtml:link rel=”alternate” hreflang=”en-us” href=”https://webris.org” />
<xhtml:link rel=”alternate” hreflang=”es-co” href=”https://webris.org/es/” />
</url>
If you’re using WordPress, there’s some plugins that can help manage the load:
Plugins can bloat load times and are better suuited for smaller sites.
There’s a lot of SEO tools like SEMrush that can flag issues you might be having.
But for deeper technical audits, you’ll want a more hands on approach.
You can start by mimicking Google search results from other locations. This can be done by altering the URL string.
Google has a full list of CCTLDs language and reference sheet – you can review the Google docs version go here.
There’s a handful of small items that can create a big headache. If you’re experiencing issues, check the following:
If you’re in need of help with your website’s international SEO, let’s talk!
This site uses Akismet to reduce spam. Learn how your comment data is processed.
See how partnering with us at From the Future can help build your business.
Great read, I’m still trying to wrap my head around hreflang. Our company gets traffic from all over the world, with a lot coming from Spanish speaking countries, which we don’t have a Spanish site. Curious to see how well we would do implementing…
Thanks for keeping us thinking
Ryan being an absolute BOSS once again!!! Thanks man, this is super helpful for a current client headache I am having.
Much appreciated Alasdair! Thanks for commenting.
Greate post, Hope you will public more tuts for local SEO
Thanks!