Skip to main content
#pubcon
You’re Going To Screw Up
Internationalization
Presented by:
Patrick Stox
@patrickstox
Technical SEO - IBM
#pubcon
You’ve Got This Right?
#pubcon
Can Anyone Answer This?
Does Bing use the “content-language” meta tag?
<meta http-equiv="content-language" content="en-us">
#pubcon
The Tag Is Non-Conforming
The last reference was in 2011:
https://blogs.bing.com/webmaster/2011/03/01/how-to-tell-
#pubcon
Okay Cool, But Do They Use It?
#pubcon
How Many Sites Use Hreflang Tags?
#pubcon
Lots Of Common HREFLANG Issues
SEMrush did a study of 20,000 websites:
https://www.semrush.com/blog/the-most-common-hreflang-
#pubcon
#pubcon
Is this wrong?
#pubcon
No Errors In GSC With Underscores
Looks like Google lets it slide, although standards and
best practices say to use “–” instead of “_”
https://twitter.com/dsottimano/status/867315538057474049
#pubcon
#pubcon
Is This Wrong?
#pubcon
You Don’t Need Self-Referencing
Hreflang Tags
Is it essential to have self-referencing hreflang tags?
John Mueller: No.
https://www.youtube.com/watch?v=bjbaDP-P7PA&t=24m39s
#pubcon
#pubcon
Is This Wrong?
#pubcon
You Don’t Have To Use Absolute URLs
https://twitter.com/JohnMu/status/702080129804189
696
#pubcon
Is This Wrong?
Questionable
#pubcon
Even Tools Get Things Wrong
X-default can be used for auto-redirecting, serving
dynamic content, or as a language selector page.
#pubcon
Even Tools Get Things Wrong
X-default can be used for auto-redirecting, serving
dynamic content, or as a language selector page.
Example 1: https://technicalseo.com/seo-
tools/hreflang/ marks a redirected x-default page as
incorrect, but it’s the tool that’s wrong.
#pubcon
Even Tools Get Things Wrong
X-default can be used for auto-redirecting, serving
dynamic content, or as a language selector page.
Example 2: Screaming Frog says that there are no
return links on any x-default that’s auto-redirected. Of
course there aren’t, it’s redirected, but it’s the tool
that’s wrong.
#pubcon
No One Believes You
When a tool says it’s wrong and you say it’s not.
#pubcon
Things Get Even More Fun
• Millions of pages
• Multiple CMS’s
• Multiple Infrastructures
• Redirects
#pubcon
Wasn’t It Hard Enough?
#pubcon
All On One Page
Googlebot crawls from the US, putting all versions of
content on one page just means they only see one
version.
#pubcon
Redirecting Users With Some Logic
Geo-IP, cookies, whatever is also bad. This pretty
much means Google sees only one version again, even
if you have more.
#pubcon
Redirecting Users With Some Logic
Geo-IP, cookies, whatever is also bad. This pretty
much means Google sees only one version again, even
if you have more.
If you see the wrong language in your titles or meta
descriptions, it’s probably this.
#pubcon
Check Your Stack
Encoding characters in URLs with UTF-8 is fine with
Google, but there may be a point of failure in your
tech stack where it is not supported.
#pubcon
Page Serves From A Different URL Than
How It’s Indexed
Sometimes pages are offloaded with a 302 and a
canonical set to the original URL to keep it indexed.
You need the indexed version in your tags.
#pubcon
Page Serves From A Different URL Than
How It’s Indexed
If anyone still uses an m. it looks like you will need to
point the hreflang tags on the m. to the desktop
version for the upcoming mobile-first index, maybe?
#pubcon
Tags In Multiple Places?
• HTTP Header
• <head>
• Sitemap
#pubcon
Tags In Multiple Places? Where?
• From CMS?
• From server?
• Injected with JS?
• Coming from theme?
#pubcon
<head> Break
http://ohgm.co.uk/hreflang-tags-not-respected-how-
to-solve/
They moved hreflang tags above some JS because
Google wasn’t inspecting them, but why did that work?
#pubcon
<head> Break
http://ohgm.co.uk/hreflang-tags-not-respected-how-
to-solve/
They didn’t inspect the DOM. If they did, they’d likely
see that the JS broke the <head> section early and the
hreflang tags were being treated as if they were in the
<body>.
#pubcon
<head> Break
http://ohgm.co.uk/hreflang-tags-not-respected-how-
to-solve/
You can’t have hreflang tags in the body because they
could be used for hijacking.
#pubcon
Duplicate Pages Are The Worst
For hreflang to work, A has to reference B and B has to
reference A. If 2 pages are duplicates, Google can fold
them together and only one will be indexed.
#pubcon
Duplicate Pages Are The Worst
How can you have A>B and B>A if Google thinks A=C
and A isn’t indexed?
https://productforums.google.com/forum/#!
msg/webmasters/ezMvrlRWuDk/6XWuM1fIDgA
https://www.youtube.com/watch?
time_continue=83&v=isW-Ke-AJJU
https://www.youtube.com/watch?v=isW-Ke-
AJJU&t=27m15s
#pubcon
It Can Take Months For Google To Crawl
All Versions
#pubcon
Everyone Wants A Quick Fix
No one wants to hear it’s fixed, but now you have to
wait. If the wrong version shows, it’s not fixed in their
minds.
“Can’t you call someone at Google?”
“Can’t we pay someone to fix this?”
#pubcon
Advice:
#pubcon
Check Everything Repeatedly
#pubcon
Expect Things To Break
#pubcon
You’ll Never Get It Right Manually
Automate tags – middleware connecting systems
Automated testing
#pubcon
@patrickstox