Resolving hreflang issues for international SEO targeting

When targeting international audiences, the impact of presenting incorrect content in organic listings can be significant. Ensure your website doesn't get lost in translation - explore our guide to fixing hreflang issues and optimising your international SEO strategy.

Author

Category

Read Time

Last Updated

Found Editor,

SEO

7 Minutes

23 Sep 2024

As more and more businesses take advantage of the incredible opportunities offered by the World Wide Web to expand into global markets, it’s more critical than ever that sites are correctly optimised for international search. The detrimental effects of having the wrong content presented to users in organic listings cannot be underestimated. If your French content ranks in the Spanish SERPs, you will see decreased click-through rates, increased bounce rates and ultimately, your conversion rates will suffer along with the user experience of your visitors!

Google uses several pieces of information to ascertain the best target audience for your content, such as

  • hreflang tags
  • geo-targeting settings in Google Search Console
  • ccTLDs (country-code top-level domain names), for example .es, .fr, .co.uk
  • IP address of the site’s web server
  • location and currency information on the page

Hreflang tags are little snippets of HTML code that allow webmasters to signal to search engines which language(s) and region(s) their site is targeting. They also indicate alternative versions of the content that may be more appropriate for the search engine to serve. Hreflang tags are also useful to eradicate issues of duplicate content which can potentially arise when you have very similar content in the same language which is targeted to different locations. For example, you could have separate, but very similar, content targeting English speakers in the UK and English speakers in the US.
These tags have a strong influence on Google’s decision as to what content should be served up to international users. How do we know this? Well, there is abundant evidence that the incorrect, or complete absence of, implementation of these little snippets of code can result in the wrong content being displayed in the international SERPs. Given that incorrect implementation of hreflang tags can cause havoc for your international targeting, it’s crucial that you get it right.

How to identify if you have an international hreflang targeting problem

The first step, of course, is to ascertain whether or not there actually is a problem with your site.
If your Google Analytics dashboard is showing poor traffic or user engagement metrics, then this could be a first indication that something’s up. For a more in-depth analysis, you could look at what countries your visitors are from when analysing the traffic to your geographically targeted content.
In order to confirm whether or not your site’s hreflang implementation (or lack of) is the culprit, it’s definitely worth checking in Google Search Console to see if any issues have been flagged. If Google have detected a problem, you are likely to receive the following error message:

Hreflang error

While this is useful to make you aware of any issues, it is certainly not advisable to rely on this exclusively – the list of errors that Google provide here will by no means be exhaustive. It really is up to you to do the digging to identify the full extent of the problem (more on how to do this below).
Finally, in order to gain a really clear perspective on exactly how your site is behaving in the international SERPs, you can use an international proxy in combination with changing the language settings in your browser. In this way, you can carry out a search for your brand terms and identify exactly what content from your site is being displayed for a range of locations and languages. For example, you could identify the content that’s served up to French speakers in France, as well as English speakers in France – be aware that this may not be the same content!

Gathering the hreflang data

Once you’ve identified that you’ve got a problem with your international targeting, getting to the root of the issue will require some nifty tools, mind-bending data manipulation and a bit of good old detective work. Essentially, however, the problem shouldn’t be too difficult to resolve – there are only a handful of ways that things could have gone wrong, and once you’ve spotted the issues they shouldn’t be too difficult to fix.
Very fortunately for us SEOs, the Screaming Frog tool has a neat custom extraction feature that allows us to collect the hreflang data for all URLs on a site. All you need to do is go to Configuration > Custom > Extraction and then fill out the form using the following Xpaths:

  • (//*[@hreflang])[1]
  • (//*[@hreflang])[2]
  • … etc

You can extract up to 10 hreflang elements at a time using this format (see image below). Make sure that you select ‘Extract HTML Element’ – this will ensure that the entire HTML element is extracted, along with the link and the hreflang value. In addition, don’t forget to opt to crawl subdomains if some of your language- or location-specific content resides on subdomains instead of in subfolders.
After you’ve run the crawl, simply download the custom report and you’re ready to start digging through the data.

hreflang extractor

Are your hreflang tags reciprocal?

A key problem to look out for with hreflang implementation is a lack of reciprocity between tags. Pages must link to each other. For example, if page A says that page B is its equivalent, page B must also refer back to page A in the same way. These mistakes are easy to overlook but crucial to fix.
Once you’ve downloaded the report from Screaming Frog, this is where the real fun begins. You will find that the extracted hreflang elements are listed in columns in the spreadsheet according to whether they were the first, second, third (etc) hreflang element extracted from the page. In this way, you could have a mixture of different language and location tags located in each of the columns.
What you actually want is for the tags to be arranged in columns according to the tag contents. For example, all fr-fr tags are to be located in one column, all en-gb tags to be located in another column etc. This will require some filtering, sorting, cutting and pasting. In addition, you only want the linked URL to be specified here, not the entire hreflang tag – you can use ‘find & replace’ to remove the rest of the html element. For example:

example1

In a new tab in the spreadsheet, you now want to utilise this data that you have so neatly arranged in order to clearly visualise which pages are missing the appropriate hreflang tags and – more crucially – instances where pages are not reciprocal. Using some VLOOKUP, IFERROR and EXACT functions you want to draw this data into a new sheet to create something that resembles the following:

example2

In this set-up, you have each URL on the site located in the far left column. Then, for each language or country variation, a column that specifies which URL is linked to from the necessary hreflang tag on that page. In addition, another column indicates the connection in reverse. A third column clearly states whether these URLs are reciprocal.
Now you can clearly see which tags are reciprocating and which URLs are lacking hreflang tags altogether.

Are you incorrectly using the “x-default” tag?

Another mistake that can cause issues is the overuse of the ‘x-default’ tag. This tag is used to specify that a page is not targeted to any specific language or location.
For example, you would implement the following piece of code

x-default tag

on an international landing page that requests for users to choose their country or location from a drop-down menu.
The ‘x-default’ tag is not to be used to refer to URLs which are also associated with specific language or country selectors. For example, the following code would be incorrect:

x default tag

These tags are contradictory and provide conflicting information to Google; the former tag is indicating that the content is targeted to English speakers in the UK, while the second tag is saying that the content is not targeted at all.

Have you updated Google Search Console?

In addition to hreflang tags, another way to indicate your target audience to Google is to update the international targeting settings in Search Console. In order to be able to do this correctly, you will need to ensure that you have a profile associated with each country-language subfolder (or subdomain). For example, you would want a profile for https://example.com/uk/ and a profile for https://example.com/france/ – in this way you can target each subfolder to a specific country. In order to do so, simply go to the ‘Search Traffic’ dropdown and select ‘International Targeting’ in the Google Search Console profile. From here you can then select the country that you wish to target for that section of the site.

Other common errors

Listed below are another couple of common errors that can trip up webmasters and SEOs in their quest to correctly target their content:

  • Are your language codes correct?

An easy mistake to make, but a mistake nonetheless – these finicky little codes could have you targeting your content to users in Georgia (GE) as opposed to Germany (DE). A useful way to make sure that your codes are correct is to use this hreflang tags generator tool.

  • Have you tried to target just a region, but not a language too?

While it’s possible to use hreflang tags simply to target speakers of a particular language (for example, hreflang3 signals that the content at this URL is targeted to all English speakers, independent of location), it is not possible to specify a country code by itself.

So that’s it! Now you have the tools in your arsenal to diagnose any pesky hreflang problems. It’s definitely worth putting in the time and effort to diagnose and fix any international targeting issues on your site, because remember – incorrect targeting of content is not only bad for SEO but bad for business too!

Found’s international digital marketing services cover all aspects of international campaigns – hreflang is just the beginning.