List of Valid Hreflang Codes

In the post What is a valid Hreflang? I covered how hreflang markup is to be used and what language and region codes are valid. It’s a good, succinct list of valid codes.

This page has more information because it includes the names of countries and languages that are represented by the various codes. For your convenience all tables are sortable so you can lookup easily. Continue reading List of Valid Hreflang Codes

Redirects and canonicals cause many Hreflang problems

In a previous post on how redirects cause Hreflang problems, we looked at how automatic redirection based on IP address geolocation or cookies can lead to bots being unable to crawl and access all your pages. In this post, we will look at other kinds of redirects and canonicals, and the Hreflang return tag problems they cause. Continue reading Redirects and canonicals cause many Hreflang problems

Hreflang Tester — Export to Excel feature

The Hreflang testing tool now has a new feature that many SEOs needed, especially those who work on large websites with thousands of URLs — exporting test results to an Excel file.

When you analyze a large number of errors, it’s not always easy to present all the information in a digestible format. I’m under no illusion that the web UI is great. It’s functional, and is best suited to see a long list of “All OK” results. But if there are errors — and especially if there are a large number of hreflang links per page, thereby increasing the likelihood of at least some errors — the web UI fails to deliver the results in a way that the user can actually do something about.

So the Export to Excel feature will be very useful. Here’s what you can expect in the Excel file, along with screenshots from a real Excel file generated when testing 110 Expedia pages for Hreflang errors. There are 4 worksheets in the Excel file: Continue reading Hreflang Tester — Export to Excel feature

Redirection and International SEO

Many websites try to make the user’s life easier by automatically redirecting her to the language/region version of their content that they infer based on IP address. But this approach is full of SEO pitfalls you should know about. In other words, the road to hell is paved with good intentions.

If you do automatic redirects, make sure there is a separate page (URL) that redirects to the appropriate page. No individual country/language URL should auto-redirect. In other words, do this:

The right way to use auto-redirection with Hreflang for international SEO.

Continue reading Redirection and International SEO

Trailing slashes in URLs — SEO implications

Over the few months that the Hreflang testing tool has been live, I have noticed an erroneous pattern repeat itself in the URLs that SEOs submit for testing: many people use URLs with and without trailing slashes interchangeably. This is wrong. and are technically 2 separate URLs. Google treats them as 2 separate pages. So does the test tool. The only situation where a URL with or without a trailing slash is the same is when specifying the root. For example, and are the same. Similarly, and are the same. And and are the same. In other words, it does not matter what the hostname is or whether it’s the root domain or a subdomain.

Continue reading Trailing slashes in URLs — SEO implications

Hreflang and Duplicate Content

The Situation
Multinational company has one website for each country it operates it. These websites use country-specific TLDs (e.g.,,, and so on). Websites contain information about the company’s various products. The product pages for .de are in German but the pages for .ca, .au, and .us are all in English. So all of these pages have pretty much the exact same content. The company really wants its .au site to appear in SERPs in Australia and .ca in Canada and so on. So they create all these separate websites, use the same content on product pages on each site, and use Hreflang with “en-US”, “en-CA”, “en-GB” and “en-AU”.

What Google Does
Googlebot finds all these pages that are Hreflang’ed but are essentially duplicate content. So Google ignores the weak duplicates and ends up showing your .uk site in SERPs in Australia. What’s more, when Google does this sort of folding of duplicate pages into a different page, any Hreflang tags from those duplicate pages are ignored. So the Hreflang’ed pages get the missing return tag error in the search console. Continue reading Hreflang and Duplicate Content

Missing Return Tags error for Hreflang

One of the most common mistakes that occur in Hreflang implementations is the lack of return links. Google Webmaster Tools may report this as No Return Tags or Missing Return Tags.

As evident from questions in online forums, a lot of webmasters do not understand what this error means. Here’s a simple explanation.

Let’s say we have 3 pages that all have the same content but in different languages. Page A is in English, Page B is in Spanish and Page C is in French. This is how hreflang markup will appear on all 3 pages:

Hreflang example

Continue reading Missing Return Tags error for Hreflang

Can I use Hreflang and Rel Canonical together?

There are seemingly countless ways to screw up Hreflang implementation. While rel=canonical is a little more straightforward, webmasters and SEOs have been known to make mistakes there too. So using Hreflang and canonical tags together seems like a potential minefield of problems.

In this post, we will look at how to handle situations that involve both hreflang and rel=canonical together. This is the tweet that inspired this post:

Continue reading Can I use Hreflang and Rel Canonical together?