HREFbuilder: Making HREFlang sitemaps a little bit easier

Since the introduction of HREFlang meta tags in 2010 to help Google understand geo-targeted content on websites, webmasters and SEOs have struggled with implementing it correctly. In theory applying HREFlang tags is pretty straightforward: just show Google what alternative versions you have of a given page, and which language & country those versions are targeting.

In practice, HREFlang tag implementations are cumbersome, confusing, and often lead to Search Console reports like this:

Google Search Console HREFLANG errors report

Apparently, HREFlang tags aren’t easy to get right. The struggles with HREFlang over the years haven’t been helped by bugs in Search Console causing the ‘International Targeting’ report to show errors with HREFlang implementations that were actually entirely correct. The Google product forums are full of posts by webmasters who have implemented HREFlang tags, but Search Console throws up all kinds of errors.

Now we finally have a tool to help us implement HREFlang in what is probably the easiest and most straightforward way: through HREFlang XML sitemaps. Rather than tag individual pages with HREFlang meta tags, you can upload specialised XML sitemaps that tells Google all it needs to know about your website’s geo-targeted content.

The folks at Back Azimuth first created this HREFbuilder tool for internal usage, and have now made it available for the general public. They’ve graciously provided us with a free account for the purpose of this review.

Using HREFbuilder for your HREFlang XML sitemap

When you log in to the HREFbuilder tool, first you need to create a new project. The tool is built to be as flexible as possible to allow for almost any imaginable scenario regarding your geo-targeted content, so you have multiple options for generating your international XML sitemaps.

Hrefbuilder - creating a new project

As you can see, the tool allows for many different data sources, so whatever your particular context you will probably have the data already handy.

I really like the option to upload a Screaming Frog crawl export, because that allows you to create sitemaps for sites that aren’t live yet – you can crawl a development website and submit those URLs to the tool to generate an international sitemap that’s ready to go live together with the site.

Next you need to let the tool know how your website is implementing its geo-targeted content:

Hrefbuilder - select your country and language structure

This is a very long list of options, so it’s exceptionally unlikely that your particular scenario is not listed here. Even then, you have the option to create a custom configuration in case your specific approach isn’t listed.

Double-check and make sure you select the correct option! Picking the wrong structure will cause the tool to throw up errors rather than correct HREFlang sitemaps.

Once you’ve picked the right format for your international content, you need to supply the tool with the data so it can generate the appropriate HREFlang sitemaps.

In my test project, I had two data sources for three sets of tags: a standard XML sitemap from a .com site that was targeted at en-GB, an XML sitemap from a .ie website aimed at en-IE, and the .com sitemap again to use as the x-default version.

Hrefbuilder - submit data files

There’s a variety of additional options in the HREFbuilder tool, allowing for all kinds of different scenarios. For example, you can opt not to crawl the URLs you submit, which is handy if your site isn’t live yet.

Once you submit the data sources and have all the options set as you want them, you can create the project. At this stage the tool will start to crawl the URLs that you’ve submitted – unless you chose to forfeit that feature – and then generate your XML sitemaps for you. HREFbuilder provides you with a dashboard to let you know how it’s getting on with the crawl:

Hrefbuilder - project dashboard

When the tool has checked all your URLs, you can generate your XML sitemaps and subsequently download them to your PC. After that it’s simply a matter of uploading the files to your website and submitting them to Search Console.

Since websites change all the time, with content being added, changed, and removed, the tool also offers a Cron Job feature that allows you to re-create your XML sitemaps regularly.

Hrefbuilder - Cron Jobs

Now I have to admit that using the tool for this review was not all plain sailing. It’s not the easiest tool to use. The HREFbuilder tool has a lot of different options, allowing for literally hundreds of different ways to generate HREFlang sitemaps. And it’s easy to get lost in those options, uncertain of what you need to fill in and what you can safely skip.

Now while I’m no rocket scientist, I do have some measure of confidence in my capabilities as an SEO. Yet when I first used it, this tool made me feel like an idiot. It took me several attempts and, in fact, some hands-on help from the lovely Bill Hunt from Back Azimuth, to wrap my head around exactly what the tool needed from me to generate the correct XML sitemaps.

After I finally ‘got it’ though, it became a very smooth process, and I came to appreciate the wealth of options and configurations HREFbuilder offers. It’s not for beginners nor the faint of heart, and hardcore SEOs are going to love this tool’s awesome set of features.

Additional Tools

The HREFbuilder tool is not the only tool the folks at Back Azimuth have on offer. There’s another tool called Index Checker which, as the name suggests, checks if a page is in Google’s index. You can supply a list of URLs for the tool to monitor, and it’ll report back on which URLs are indexed and which aren’t.

Then there’s the HTTP Redirect Checker, which checks for correct redirects as well as redirect chains. What I like about all these tools is that you don’t need to sign up to an expensive monthly subscription – you can pay for them as one-off projects.

Lastly, I need to mention their free HREFlang Validator, where you can submit a URL or HREFlang XML sitemap and see if everything is correctly implemented.

HREFlang validator tool

I have to commend the folks at Back Azimuth for creating these tools and making them available for public use. International targeting through HREFlang tags is complicated and confusing, and any tool designed to handle this is by extension also complicated and potentially confusing. Some ‘how-to’ explainer videos would definitely help, and perhaps a more elaborate set of tooltips and explanations within the tool.

But once it ‘clicks’ and you get it, this tool will save you immeasurable amounts of time and effort, not to mention prevent a shipload of arguments with web developers – because you won’t have to explain HREFlang to them anymore to have it implemented correctly. You can simply do it yourself.

About Barry Adams

Barry Adams is one of the chief editors of State of Digital and is an award-winning SEO consultant delivering specialised technical SEO services to clients worldwide.

9 thoughts on “HREFbuilder: Making HREFlang sitemaps a little bit easier

        1. That is actually a proper use of x-default. It may not say so in the official support docs, but it’s been confirmed by Google engineers that using x-default in that fashion is perfectly fine.

        2. Hi Glynn, just saw the comment on your interpretation of the x-default in Barry’s example. As Barry stated, we have also confirmed a few times with Google that the x-default is set on the page you wish the be the default page for “any” market that does not have a hreflanguage setting. We have used it on hundreds of sits with no problems. In many cases it has removed an incorrect local page and replaced it with a more neutral global pages. This is a big concern for location specific pricing.

          1. Hi Bill, thanks for your comment. Have Google confirmed this publicly anywhere, to your knowledge? I’ve wanted to get this issue straight for a while. My thinking is that an x-default page under your description still has a language, and so can be tagged with a language ISO code (i.e. not a language-country pair) and still have the same effect (not being geographically targeted). That leaves x-default for special cases — the language selectors and conditionally redirecting URLs specified in Google’s documentation — which can’t be meaningfully described any other way. Any pointers gratefully received.

          2. Not sure it is documented anywhere but I was confirmed for the first time on a panel with Maile and Gary did at the International Search Summit in NYC last year. As with everything, people either going to be 100% purists and not deviate, good deep in the most literal translation of the words or just test it and see what happens. I have done over 500 HREFLanguage XML site maps for some largest sites on the internet and it works perfectly. We have also confirmed with Google that you can double and triple stack for example we have a large client that uses the /en as their global site and US site and we have been told ok to use x-default, /en-us on the same URL and we have not had any problems – no errors and is both working in US and a number of English markets that don’t have a local version. I agree with you can can leave it for those special occasions or you can do as I prefer and make the global version of the site so that there is no question which it is for. Most of my clients and tool users have 50+ country versions with a number with 100+ and they like to use the x-default to ensure that the global version is the one that shows in markets without a dedicated site. We have tried it with and without and find that when we check which page ranks in the market it is nearly 100% with x-defulat and hit or miss when we are pure and use straight English for the global site or assign it to a country. In my HREF Builder you can pick and choose which options you want – we never auto set an x-default you have to select a site version and assign it specifically.

  1. This looks awesome – thanks for reviewing it, Barry. I’m working with a client on hrelfang at the moment and we’ve had some issues implementing it via the in-the-header route, so I might push them down the XML sitemap route and use this tool to boot. Cheers!

Comments are closed.