November 12, 2026

Hreflang Tags 101: A Comprehensive Guide to Global SEO

Written by
Jon Herdman

TL;DR: Hreflang tags tell Google which language or country version of a page to show to which searcher. Every version must list all the versions in the set, itself included, using full URLs and valid codes, and every page it points to must point back, or Google ignores the tags. Add them in the page head, in an HTTP header or in your XML sitemap (Google treats the three as equivalent, so one is enough), then check the finished set instead of assuming your platform or plugin got it right.

What Hreflang Tags Do

If you have the same page in more than one language, or in several regional versions of one language, hreflang tags tell Google how those pages relate. Google says it might find the alternate versions on its own, but that it is usually best to tell it explicitly, and hreflang is how you do that.

Google describes three situations where this applies: a page where only the navigation and footer are translated, small regional variations of similar content (English for the US, Great Britain and Ireland, say), and fully translated sites, such as German and English versions of every page. The aim is to get the right person to the right version, so the searcher in Germany lands on your German page, and the visitor in the US sees the page written for them.

It also matters when two versions are close to identical, such as UK and US English pages. Google says localised versions only count as duplicates when the main content stays untranslated, and that when it chooses between duplicate URLs it prefers ones that are part of an hreflang set. That makes hreflang worth having on regional pages with near-identical copy. A site with one language aimed at one country usually does not need it.

How a Hreflang Tag Is Built

Each version of a page carries a set of tags, one for every version including itself. This is a complete set for a page that exists in UK English, US English and German, with an international version of the page as the fallback for everyone else. The example.com addresses are placeholders, so swap in your own URLs before copying anything.

<link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/widgets/" />
<link rel="alternate" hreflang="en-US" href="https://www.example.com/us/widgets/" />
<link rel="alternate" hreflang="de" href="https://www.example.com/de/widgets/" />
<link rel="alternate" hreflang="x-default" href="https://www.example.com/widgets/" />

These four lines go inside the <head> of all four pages: the UK, US and German pages and the international fallback page. Each part of a line does one job:

  • rel=”alternate” marks the link as another version of this page.
  • hreflang says which language, or language and region, that version is for.
  • href is the address of that version. It must be fully qualified, including https://. Google’s examples of what not to use are //example.com/foo and /foo.

The rules that make or break it

  1. List every version, including the page itself. Google says each language version must list itself as well as all the other versions.
  2. Link back. If two pages don’t both point to each other, Google says the tags will be ignored. When you add a new language, every existing page needs updating, not just the new one.
  3. Use real codes. The language is an ISO 639-1 code (en, de, fr) and the optional region is an ISO 3166-1 Alpha 2 code (GB, US, DE). A language on its own is fine, but a region on its own is not. Google does not support codes such as es-419, and says reserved codes like EU, UN and UK have no effect on Google Search, so use en-GB, not en-UK.

x-default

x-default is a reserved value for visitors whose language or region does not match any of your versions. Google recommends a fallback page and says x-default was designed for language selector pages, though you can use it on any page. It is a recommendation, not a requirement. Point it at a page that works for anyone, such as a language selector or your main international version.

Hreflang and Canonical Tags

Canonical tags and hreflang answer different questions. A canonical says which URL is the main one when the same content sits at several addresses. Hreflang says which version suits which audience. They need to agree. Google’s duplicate-URL guidance says to specify a canonical page in the same language, or the best possible substitute, so in practice each version should canonicalise to itself. If your French page’s canonical points at the English page, you are telling Google the English page is the one to keep while the hreflang set says the French page deserves its own place, and those signals conflict, so make each page’s canonical point to itself.

Three Ways to Add Hreflang

Google treats the HTML, HTTP header and XML sitemap methods as equivalent and says to use whichever is most convenient. Using more than one gives no benefit in Search, so pick one. A common approach is head tags for ordinary web pages, headers for files that have no HTML head (PDFs, for example) and a sitemap when you have a lot of pages or cannot easily edit the templates.

In the page head

This is the set shown above. It goes in the <head> of every page in the set.

In an HTTP header

A PDF has no head to put tags in, so the same information goes in the HTTP response header instead. Each of the three PDFs sends the identical header below (one line, wrapped here). It is set on the server, so it is normally a job for whoever manages your hosting.

Link: <https://www.example.com/downloads/brochure-uk.pdf>; rel="alternate"; hreflang="en-GB", <https://www.example.com/downloads/brochure-us.pdf>; rel="alternate"; hreflang="en-US", <https://www.example.com/downloads/brochure-de.pdf>; rel="alternate"; hreflang="de"

In an XML sitemap

In a sitemap, every URL gets its own entry listing every version, itself included. The file gets long, but it keeps hreflang out of your page templates. The xhtml namespace in the opening tag is needed for the xhtml:link lines. This is the same four-page set as above. If sitemaps are new to you, our guide explains what a sitemap is and how search engines use it.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://www.example.com/uk/widgets/</loc>
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/widgets/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://www.example.com/us/widgets/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/widgets/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/widgets/" />
  </url>
  <url>
    <loc>https://www.example.com/us/widgets/</loc>
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/widgets/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://www.example.com/us/widgets/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/widgets/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/widgets/" />
  </url>
  <url>
    <loc>https://www.example.com/de/widgets/</loc>
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/widgets/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://www.example.com/us/widgets/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/widgets/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/widgets/" />
  </url>
  <url>
    <loc>https://www.example.com/widgets/</loc>
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://www.example.com/uk/widgets/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://www.example.com/us/widgets/" />
    <xhtml:link rel="alternate" hreflang="de" href="https://www.example.com/de/widgets/" />
    <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/widgets/" />
  </url>
</urlset>

Setting It Up on WordPress, Shopify and Wix

Platforms that handle multiple languages usually add the tags for you. That saves work, but automatic is not the same as correct, so check the output on a few pages using the steps further down.

WordPress. A multilingual plugin does the work here. Polylang says it adds hreflang tags to translated pages by default, builds the codes from each language’s WordPress locale, and adds x-default only to a homepage that redirects visitors automatically. Putting x-default on other pages needs a custom code snippet. Polylang does not say whether this applies to the free or the Pro version, so check the output on the one you run.

Wix. Wix says that, by default, it adds hreflang and x-default tags to the code of your multilingual pages when you use Wix Multilingual. Its help article does not describe a setting for changing them.

Shopify. Stores that use Shopify Markets get hreflang tags automatically, built from each market’s domain and language settings, as Shopify’s theme documentation explains. The setting is on by default, and Shopify’s changelog says you can switch it off under Online Store, then Preferences, in the Social sharing and SEO section. Its Markets SEO help page warns that turning it off can negatively affect your store’s SEO.

Shopify also advises against adding your own tags on top of the automatic ones, because that can create duplicate or conflicting annotations, so if an app or your theme already outputs hreflang, Shopify’s advice is to turn the automatic tags off so only one source remains. Its help page warns that switching them off without another implementation in place can hurt your store’s SEO. Markets that share one URL, with no language or region difference, get no alternate-version tags.

Subdomains, Subfolders or Country Domains

Hreflang works with any of the three. Google lists hreflang alongside country-code domains and server location as signals it uses to work out who a site is for, and says you should still tell it about every locale or language variation. Its own comparison does not pick a winner. A country domain (example.de) gives the clearest geotargeting but can be expensive and hard to get. A subdomain (de.example.com) is easy to set up and allows different server locations. A subfolder (example.com/de/) is easy to set up and low maintenance, but means one server location and makes it harder to separate sites. Google does not recommend URL parameters such as site.com?loc=de.

Choose on practical grounds: budget, who runs each site, hosting and how separate the markets need to be. Then apply hreflang the same way, whichever you pick.

Common Hreflang Mistakes

Most hreflang problems are one of these, and each can be spotted in page source or a testing tool.

MistakeWhat goes wrongHow to spot it
Missing return linkGoogle says that if two pages don’t both point to each other, the tags will be ignored.View source on both pages. Each should list the other’s address.
Page doesn’t list itselfGoogle says each version must list itself as well as all the others.Search the source for the page’s own address next to its own language code.
Relative URLsGoogle requires fully qualified addresses, including https://.Look for href values that start with / or //.
Wrong codesA region on its own, unsupported codes such as es-419 and reserved codes such as UK are not recognised or have no effect.Check each value reads language first, then region: en-GB, not en-UK or GB.
Canonical points at another languageThe canonical tells Google to keep a different page from the one the hreflang set says to show.Check each page’s canonical matches its own address.

“The most common mistake isn’t incorrect hreflang. It’s no hreflang at all. On one multi-region retail site, the UK and French stores had no tags, only an empty hreflang sitemap that made the job look finished. The French site uses translated URLs, so the tags can’t be generated by matching page paths, and that is what’s holding up the fix.” – Kezia Humphries, SEO Account Manager

Top Tip

Pick one page from your set and open its page source. Search for hreflang and check five things in a couple of minutes: the page lists its own URL, every address starts with https://, any UK version is tagged en-GB and not en-UK, the x-default address is a page you want visitors to land on, and the pages it points to list this page in return. If the search finds nothing, check the HTML Google received using URL Inspection in Search Console before deciding the tags are missing.

Pick one page from your set and open its page source. Search for hreflang and check five things in a couple of minutes: the page lists its own URL, every address starts with https://, any UK version is tagged en-GB and not en-UK, the x-default address is a page you want visitors to land on, and the pages it points to list this page in return. If the search finds nothing, check the HTML Google received using URL Inspection in Search Console before deciding the tags are missing.

How to Check Your Hreflang Is Working

Search Console used to have an International Targeting report. Google has deprecated it, says it will keep supporting and using hreflang tags, and does not name a replacement report. So you check the markup itself:

  1. Look at the source. Check a few pages in each language, as in the Top Tip above.
  2. Run the set through a testing tool. Google lists the hreflang testing tool on TechnicalSEO.com, which says it can check tags in a page’s HTML, HTTP headers or XML sitemaps. Google notes that tools like it are not maintained or checked by Google. Aleyda Solis’s generator is useful for building tags from a list of URLs.
  3. See what Google received. In Search Console, URL Inspection shows the HTML Google returned for an indexed URL under View crawled page, and for the current version under Test live URL, then View tested page.
  4. Re-check after changes. Adding, removing or changing the address of any page changes the set, so every other page in it needs to match.

On a recent multi-region B2B training site, we copied the English pages into nine country subfolders, such as /en-gb/, /en-us/ and /en-au/, so each market had its own version. After launch, we crawled the site and checked every hreflang annotation. Each page had a complete set of reciprocal tags, including a self-referencing one, so the core setup was sound. The crawl flagged one issue: the global root page was tagged “en” instead of “x-default,” a default behaviour of the CMS. That leaves Google with less guidance on which version to show users outside the target regions. We logged it as a medium-priority fix for the client’s developers. – Kezia Humphries, SEO Account Manager

FAQs

Do I need hreflang if I sell in several countries in one language?

Possibly. Google lists small regional variations of similar content, such as English for the US, Great Britain and Ireland, as a case for it. If the pages differ in ways that matter to visitors, like prices, currency, delivery or spelling, hreflang tells Google they are deliberate variants. If the pages are identical, one page for all those countries is usually simpler.

Will hreflang improve my rankings?

Google describes hreflang as a way to tell it about your language and region versions so it can show the right one, and does not describe it as a ranking boost. Its job is to get the right version in front of the right searcher, which is a user experience and conversion matter as much as an SEO one.

Do I have to use x-default?

No. Google recommends a fallback page and designed x-default for language selector pages, but does not make it a requirement. It is most useful when visitors might arrive from places none of your versions cover.

How Wildcat Handles This

Hreflang is usually one part of a wider international set-up, and our international SEO service reflects that. It includes implementing hreflang tags alongside multilingual keyword research, content localisation and technical audits for each site or subdomain, and our technical SEO experts audit your website or websites and build a bespoke international strategy.

To get started, tell us what you need help with through our contact page, and we will arrange a free consultation. If you already have hreflang in place and are not sure it is working, mention that when you get in touch.

Post by

Jon Herdman

SEO Executive

Will Hitchmough

Founder

Our founder, Will Hitchmough, worked at a number of high profile Sheffield Digital Agencies before founding Wildcat Digital in 2018. He brings an extensive knowledge of all things related to SEO, PPC and Paid Social, as well as an expert knowledge of digital strategy.

Digital Marketing can be a minefield for many businesses, with many agencies ready to take your money without knowing how to deliver results. I founded Wildcat Digital to deliver digital success to businesses with smaller budgets in a transparent way.

Rich Ayre

Head of Growth

Rich joined us in May 2024 to head up our growth team. With years of experience helping other agencies to grow, Rich joins us at an exciting time as Wildcat is working on a five-year plan to become one of the biggest agencies in the UK.

Outside of work, Rich is a father to three children, which keeps him very busy! He’s also recently started running again to keep fit and loves a bit of DIY.

Sarah Tyree

Head of Digital

Sarah joined Wildcat in January 2025, bringing over seven years of SEO expertise to the team. With a background in Fashion Communication and Promotion, she has worked both in-house and at agencies, covering a range of digital marketing specialisms before focusing on SEO.

Passionate about all things search, Sarah thrives on helping brands grow their online presence.

Outside of work, she enjoys walking her dog, running, and shopping for vintage clothing.

 

Amelia Ashman

Office Manager

Amelia joined Wildcat Digital in January 2025, bringing extensive experience in HR, Health & Safety, Facilities Management and IT Support. Previously an Operations Manager at The University of Sheffield, she has a strong background in creating efficient and well-organized work environments.

Specialising in HR, Health & Safety, and Facilities Management, Amelia ensures the Wildcat Digital team has the resources and support needed to thrive. Whether managing office operations, maintaining compliance, or fostering a positive workplace culture, she keeps everything running smoothly.

Outside of work, Amelia loves trying new things, traveling, camping, and walking. She also enjoys socialising and exploring new places with friends and family. Her adventurous spirit and proactive approach make her a valued member of the team.

Siena Russell

Client Partnership Manager

Siena joined us in 2023 with a background in sales and digital marketing. She leads on client relationships across the company, ensuring that our customers are happy throughout their journey with us, from their initial consultation through to onboarding and beyond. 

Outside of work, Siena enjoys travelling and getting stuck into the local culture. She likes to make the most of her experiences and particularly enjoys watching sunrises and sunsets from beautiful locations around the world.

Paul Pennington

SEO Account Director

Paul has a strong background in SEO, having previously founded and ran a successful eCommerce business, as well as running a personal blog that achieves an average of 17K users per month. Paul’s knowledge of SEO is extensive, with a strong emphasis on client handling and technical SEO.

Outside of work, Paul enjoys spending time with his family and staying active with weight lifting and combat sports.

Dariusz Baczyk

Team Lead & Technical SEO Account Manager

With a degree in Computer Science and SEO experience dating back to 2017, Dariusz has a wide range of SEO skills and knowledge. His specialist knowledge of Technical SEO has firmly landed him the title of Wildcat’s Technical Wizard, and he has recently taken on the responsibility of Team Leader for the Panthers Team.

In his spare time, Dariusz loves hiking, experimenting and trying new coffees and loves learning new things. He is currently learning more about CRO and AI and how this could benefit our clients.

Molly Sturgeon

Team Lead & Senior SEO Account Manager

With a background in sales, Molly is a natural Account Manager, brilliantly handling any issues that come her way. Having joined us as a Digital Marketing Executive, and working part-time through her final year of University, Molly is a shining example of how hard work pays off. She is now an SEO Account Manager with a particular interest in Content and Client Management. 

In her spare time, Molly loves to get out in nature, hiking and exploring the Peak District. She also loves cooking and likes to unwind with a bit of yoga.

Libby Oldale

PPC Team Leader

Libby joined Wildcat in 2021 as our first PPC hire. With a degree in Digital Media Production, a Master’s in Digital Media Management and previous experience in Social Media Management, Libby hit the ground running and has since climbed the ranks to Senior PPC Account Manager and has a particular interest in the eCommerce sector.

Outside of work, Libby likes gaming, and cooking and likes to keep active by lifting weights.

Jamie Stowe

Senior SEO Account Manager

With a degree in Film and TV production, and a varied career history, Jamie made the move to marketing with a Masters degree in Digital Media Management. He has since worked in SEO at Agencies across Sheffield, before joining Wildcat and working his way up to SEO Account Manager. Jamie has a particular interest in backlinks and Digital PR and has recently gained a client a valuable backlink from Forbes!

In his spare time, Jamie is an avid foodie and loves trying new restaurants and cuisines. He also loves to travel and spent a year travelling to Australia after university.

Jasmine Savery

SEO Account Manager

Jasmine joined Wildcat in 2022 with a strong background in SEO and Account Management. At the time, she was finishing up a Level 4 Apprenticeship in Digital Marketing from the Chartered Institute of Marketing, and has since worked her way up to SEO Account Manager. Jasmine excels at content writing and promotion, and particularly enjoys finding creative ways to join the dots on multi-channel campaigns.

In her spare time, Jasmine volunteers at a charity, helping combat loneliness & social isolation experienced by older neighbours. Outside of Wildcat, she owns a catering company, Savery Grazing, creating delicious grazing tables & platters for a range of events. She also loves skiing and exploring the Peak District.

Andy Blanchard

SEO Account Manager

Andy joined Wildcat in 2023 after starting his digital marketing career in-house for a local Sheffield company. Since joining, he has developed a strong interest in Technical SEO and has strong skills in Account Management. 

Outside of work, Andy loves music and plays in a couple of bands. He also enjoys rock climbing, cycling, photography and good food.

Tom Brookes

PPC Executive

Before joining Wildcat, Tom worked across different industries, building skills in sales and customer service. He later developed a passion for digital marketing whilst working on personal marketing projects and freelance ventures, and gained numerous certifications in PPC and Social Media. 

Outside of work, Tom enjoys staying active by going to the gym and hiking. He also loves travelling and motorbiking.

Kezia Humphries

SEO Account Manager

Kezia joined us in July 2024 after completing a CIM Certificate in Digital Marketing and gaining experience in Content SEO at another Sheffield agency.

In her spare time, Kezia loves to get outdoors, bouldering, hiking and travelling.

Alex Hickling

PPC Account Manager

Alex joined Wildcat Digital in December 2024 as a Senior PPC Executive, bringing a strong background in Paid Media, Paid Social, and Programmatic advertising. With a degree in Business & Marketing and Google Ads certifications, she has the expertise to craft high-performing campaigns that drive results.

Before joining Wildcat Digital, Alex worked at two leading agencies in Leeds, honing her skills across various digital advertising platforms. Her analytical mindset and strategic approach help businesses maximize their online presence and advertising budgets.

Outside of work, Alex enjoys spending time with her dog, Lola, and going on walks with her dog walking group. She’s also a keen footballer and loves playing five-a-side whenever she gets the chance. Her enthusiasm and team spirit make him a great addition to the Wildcat Digital team.

Amy Varley

Senior SEO Executive

Amy joined Wildcat in 2024 with a background in journalism, having worked as a News Editor and Editor-in-Chief at The Sheffield Tab. She is naturally interested in Content SEO and research, so will no doubt prove to be a content power-house.

In her spare time, Amy loves watching crime shows, listening to music and hanging out with her dog, Eddie!

Reiss Mason

SEO Senior Account Executive

Reiss joined the Wildcat Digital team in July 2025, with a background in journalism and digital content, Reiss brings both creativity and technical know-how to the team.

After graduating with a Journalism Studies BA from the University of Sheffield, where he also served as Games Editor and Deputy Editor for the student-run newspaper – Reiss jumped straight into the world of climate tech communications.

Outside of work, Reiss loves crochet, swimming, playing guitar, and diving into both video and board games. He’s always up for picking up new skills and trying new things – which makes him a perfect fit for our team!

Lucy Young

Senior SEO Executive

Lucy joined the WildcatDigital Team in August 2025, with solid SEO experience and a creative edge from her work in wedding videography, a combination that brings both strategic insight and storytelling flair to the team.
When she’s not deep in keyword research or editing stunning wedding footage, you’ll probably find Lucy exploring new places on long walks or unwinding with a few books.

Bekky Croson

Office Assistant

Bekky joined the WildcatDigital Team in October 2025, with over a decade of customer-facing experience – including running her own vegan café.

Bekky brings a wealth of energy and expertise to the team. When she’s not keeping things running smoothly in the office, you’ll find her cooking up a storm for friends or playing hockey with the Sheffield Women’s squad.

Bianca Croitoru

PPC Account Manager

Bianca joined the WildcatDigital Team in October 2025, having worked with charities from £100k to £7M, blue-collar lead gen businesses, and clothing e-commerce brands – building multi-channel marketing strategies that flow seamlessly, Bianca will be a real asset to the team.

When she’s away from the office, Bianca loves diving into holistic health experiments… and indulging her inner conspiracy theorist (or truth seeker, depending on who you ask).

Fiorela Imerai

SEO Account Director

Fiorela joined the WildcatDigital Team in October 2025, she joins us with a strong background in SEO and Digital PR, helping UK and global brands grow their online presence and strengthen their reputation.

Outside of work, you’ll usually find her cooking, exploring new places, or “just browsing” flights… that she’ll probably end up booking!

Eviee Taylor

SEO Senior Executive

Eviee joined the WildcatDigital Team in January 2026 and has a background in marketing and SEO for the education and theatre industries, with a keen passion for writing and accessibility.

She is also a keen crafter, theatre-goer and certified cat lady!

Liv Hardwick

Content & Proposal Writer

Liv joined the WildcatDigital Team in June 2025, with a strong background in financial admin and client care, Olivia is taking an exciting step into the creative world – and we’re so glad she’s doing it with us!

She’s currently studying content creation through her apprenticeship with Wildcat, and already bringing fresh energy and creativity to the team.

Outside of work, Olivia runs her own BIAB nail business, loves reformer Pilates, long walks, and is a member of a competitive dance team.

More blogs.

View all

SEO Link Building: How Many Internal Links are Good for SEO?

November 12, 2026

TL;DR: There’s no ideal number of internal links for a page, and Google says so directly. For a typical blog…

Andy Blanchard

Knowledge Hub

How Often Should You Submit a Sitemap?

November 11, 2026

TL;DR: Submit your sitemap to Google once. Google will check it again automatically, so there's no need to resubmit it…

Eviee Taylor

Technical SEO

What is Redirect Mapping?

November 11, 2026

TL;DR: There’s no set schedule for updating your website content for SEO. Check your most important pages every six to…

Molly Sturgeon

Knowledge Hub
Technical SEO