Barcelona
International Search Summit
“Why Hreflang isn't as simple as it should be
(and you might not need it)”
Gerry White
SEO Director, Rise at Seven
Gerry White
SEO Director Rise at Seven
Take It Offline
takeitoffline.co.uk
Check it out and come to the
next one!!
When I started in SEO
@dergal
Where did you come
from, where did you
go …
Where did you come
from Cotton Eye Joe.
UK
- English speaking, spells colour correctly
US
- English speaking, spells colour wrongly (color)
Canada
- English and French, but … Canadian English and French.
South Africa has 11 official languages
….stuff gets complicated
International URLs examples
Just Eat
• Just-eat.co.uk
• just-eat.ch - German
• just-eat.ch/fr – French
• just-eat.ch/en – English
• skipthedishes.com – English
• skipthedishes.com/fr/ - French
@dergal
@dergal
Don’t try & use google translate
for chat up lines ….
WHY HREFLANG ISN'T AS
SIMPLE AS IT SHOULD BE (AND
YOU MIGHT NOT NEED IT)
@dergal
1. It is about Language
@dergal
It always starts with Language and the region is optional.
hreflang="en" ✅
hreflang="en-gb" ✅
Hreflang="gb" ❌
2. It doesn’t improve rankings
@dergal
it can even reduce visibility!
2. It doesn’t improve rankings
@dergal
@dergal
.com outranks .co.uk
Hreflang will mean the .com
version goes, and the .co.uk
version is prioritised.
Competitors visibility will
increase
@dergal
3. Hreflang is between pages
@dergal
Relationship between the
same page in different
languages (and regions)
Google Play Example -
4. Hreflang is complex
@dergal
It shouldn’t be, but it is …
& we will get into that.
Even Google says it
is complex
@dergal
5. Hreflang is a hint
@dergal
Not a directive
this means it can be ignored.
So why do hreflang!
@dergal
Simple put, if you land on the right
page, in the right language, you will
be more likely to convert.
So why do hreflang!
@dergal
If you are a French Canadian you’d
prefer the French version
So why do hreflang!
@dergal
Improve Conversion & reduce
bounce rate.
Reduces
Duplication issues
@dergal
Example – one page wasn’t being
indexed.
GSC said it was canonicalized to a
separate website serving a different
country.
Solution would have been hreflang.
How!
@dergal
I. In the head
II. In an XML Sitemap
III. In Headers
Head!
@dergal
XML!
@dergal
HTTP Headers?
Link: <http://example.com/file.pdf>; rel="alternate";
hreflang="en",
<http://de-ch.example.com/file.pdf>; rel="alternate";
hreflang="de-ch",
<http://de.example.com/file.pdf>; rel="alternate";
hreflang="de"
Note –
I’ve never seen it in the wild….
HTTP Headers?
Vojtěch Zach from ContentKing says
they've rarely if ever seen http headers
within their clients.
(ContentKing is a tool which helps you audit your website,
including hreflang).
Needs a return
• It needs to go both, all ways
otherwise it will not work.
@dergal
The Stichfix example
ONLY has hreflang on
the .cio.uk version so
this is why it is not
work.
Implementing on .com
will fix the issue.
Cross domain or
Same Domain
@dergal
You can do it across multiple
domains, subdomains and
the same domain.
The Codes
@dergal
A genuine example from a clients
website
<link rel=“alternate”
hreflang=“UK”>
This … does not mean anything (more likely to
mean Ukrania than anything) but it needs a URL
The Codes - Language
@dergal
2-letter ISO-639-1 Codes
The Codes - Location
@dergal
2-letter ISO-3166-1 Codes
Homepage Only?
@dergal
Because it is 1:1 mapping, you want
to do the pages you can.
If it is just the homepage it is a start.
It will not fail if it isn’t 100% across the
site, but it will only work on the pages
with valid hreflang references.
A good example -
@dergal
Image via Sam Underwood: https://www.samunderwood.co.uk/resources/visualising-seo/
But what if ….
just-eat.co.uk
takeaway/brands/mcdonalds
takeaway.com
/be/mcdonalds
@dergal
Image via Sam Underwood: https://www.samunderwood.co.uk/resources/visualising-seo/
But what if ….
takeaway.com
/be-en/order-pizza
just-eat.co.uk
/takeaway/nearme/pizza
@dergal
Image via Sam Underwood: https://www.samunderwood.co.uk/resources/visualising-seo/
A good bad way….
@dergal
Even Google says it
is complex
@dergal
Common Issues
@dergal
A big site, takes longer to crawl, if the
relevant versions of the page are not
crawled it won’t work
I. Fix spider traps
II. Reduce complexity
III. Improve IA
IV. Use good XML Sitemaps
Size of Site
Common Issues
@dergal
Often poor site architecture means poor
linking.
Country switchers are often uncrawalable.
Internal links
Common Issues
@dergal
The hreflang and the canonical must match
this includes
- Protocol (https vs http)
- Case (This vs this)
- Trailing Slash
Canonical not matching
IP Redirects
@dergal
If you access it in the US and it always gets
redirected from /uk/ to /us/ Can Google see
the UK version
If it can’t see the UK version it won’t crawl it.
US gets redirected to …
IP Redirects
@dergal
It is ‘fairly’ accurate but with an increase in
people using work VPNs for security, we get a
decrease in accuracy.
Are often wrong
Common Issues
@dergal
Just because you’ve put hreflang on …
Google has to think you are relevant for the
market, this might require localised links
content and other local factors.
Google isn’t ranking you
Debug – GSC
@dergal
Debug – GSC
@dergal
Debug – Validator
@dergal
Debug – Validator
@dergal
THE ISSUE
<noscript> tag with an img
element in the <head>
Debug – Validator
@dergal
Caused by Facebook in GTM!
<!-- Facebook Pixel Code -->
<script> …
</script>
<noscript>
<img height="1" width="1"
style="display:none"
src="https://www.facebook.com/tr?id={your-
pixel-id-goes-here}&ev=PageView&
noscript=1"/>
</noscript>
<!-- End Facebook Pixel Code -->
X Default
@dergal
We always recommend
an x-default, where do
you send them if they fall
through the system.
Case Study
@dergal
Client spots that hreflang
isn’t working
Case Study
@dergal
Step 1. TEST
Google DataStudio
GSC looking at the landing page for two
regions and seeing what % is landing
on the incorrect page.
Case Study
@dergal
Google DataStudio
Use Case to Group the pages by GEO
Then you can see the split accurately.
Using CASE WHEN in Google Data Studio
to Supercharge Your Reporting
riseatseven.com/blog/google-data-studio-
case-when-statements/
Case Study
@dergal
Google DataStudio
Use Case to Group the pages by GEO
Then you can see the split accurately.
Using CASE WHEN in Google Data Studio
to Supercharge Your Reporting
riseatseven.com/blog/google-data-studio-
case-when-statements/
Case Study
@dergal
Because the DataStudio report is
interactive, we can drill into what
is causing the issues
Case Study
@dergal
Check which pages aren’t
performing.
Case Study
@dergal
Check hreflang configuration
Case Study
@dergal
Check hreflang configuration
Case Study
@dergal
Check hreflang configuration
Case Study
@dergal
Check hreflang configuration
Most traffic is Irish
@dergal
42 stores in Ireland
Zero in the UK
Google thinks it deserves
to rank in Ireland
Most traffic is Irish
@dergal
So more UK based signals –
links and content
Hreflang is a hint, not a
directive.
And … so in
summary
@dergal
• Hint
• Fickle
• Needs 1:1
• Needs a return
• Planning is important
• Put in a default
• Don’t use auto translate
Resource
@dergal
Aleyda Solis: Hreflang Implementation Guide
Analytics Mania: How to Fix Facebook Pixel Code <noscript> in GTM
OHGM: Breaking the <head> (Quietly)
OHGM: Hreflang Tags Not Respected (How to Solve)
Onely: Ultimate Guide to International SEO
Sitebulb: <head> contains a <noscript> tag, which includes an image
Sitebulb: Contains one or more single point of failure
Ask Questions!!
Special Mention
@dergal

Hreflang - why and how and why not for International SEO