1. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Setting Hreflang For Success
#HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
2. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Targeting international search audiences can be a
great way to grow and diversify your business…
3. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
However, it’s critical
to rank with the
relevant international
Web version in search
results… which can
be challenging when
you have many of
them
4. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
These misaligned pages will have worse rankings,
CTR and conversions than the correct ones
GOOGLE SEARCH CONSOLE
5. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
This is when Hreflang comes to the rescue
HTTPS://SUPPORT.GOOGLE.COM/WEBMASTERS/ANSWER/189077?HL=EN
6. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
hreflang is one of
many signals that
Google take into
consideration to
determine a target
locale, and one that
we can directly set
HTTPS://SUPPORT.GOOGLE.COM/WEBMASTERS/ANSWER/189077?HL=EN
7. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Hreflang allows to specify each of your pages
language & alternatively country targeting
English for the UK
brand.com
brand.co.uk
brand.com/es/
English for the US
Spanish for the US
8. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
English for the UK
While also mapping each page to their alternate
languages or countries versions
brand.com
brand.co.uk
brand.com/es/
English for the US
Spanish for the US
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
9. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Nonetheless,
Hreflang is
usually found
to be hard to
implement…
11. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Sigh. Even when you think you had set it right already!
12. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
* SEO Consultant & Founder at Orainti
* SEO Speaker at +100 Events in +20 countries
* Author “SEO. Las Claves Esenciales.”
*Blogger in Search Engine Land & Search Engine Journal
*Featured in Forbes, Entrepreneur, Huffington Post
*European Search Personality of the Year in 2018
I’m Aleyda Solis, International SEO Consultant
ORAINTI.COM
14. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
… today I’m excited to share with you how to set
hreflang for success
#HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
15. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
It’s about following an implementation process
ASSESS THE LANGUAGES
AND COUNTRIES
HREFLANG
IMPLEMENTATION SCOPE
CHOOSE THE HREFLANG
IMPLEMENTATION
METHOD
SPECIFY THE HREFLANG
CODE PATTERN
MONITOR AND
TROUBLESHOOT THE
HREFLANG
IMPLEMENTATION AFTER
LAUNCH
VALIDATE THE
HREFLANG
IMPLEMENTATION IN A
TEST ENVIRONMENT
ESTABLISH HREFLANG
BEST PRACTICES
GUIDELINES TO FOLLOW
WHEN A NEW PAGE IS
PUBLISHED
HTTP://BIT.LY/HREFLANGPROCESS
1 2 3
6 5 4
16. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
1ASSESS THE LANGUAGES AND COUNTRIES
HREFLANG IMPLEMENTATION SCOPE
17. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Although you might want to tag all of your international
Web versions, if you have many it’s critical to prioritize
18. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Check for which of
your site versions
you’re attracting
rankings from
countries that
you’re already
targeting with
others
GOOGLE SEARCH CONSOLE AND GOOGLE ANALYTICS
19. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Start with
those
countries
generating
more organic
traffic to the
wrong site
version
SEMRUSH, AHREFS, SISTRIX
20. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONSEMRUSH, AHREFS, SISTRIX
Identify for which
queries the site
version ranks in the
wrong market
21. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Check if these
queries are also
targeted w/
pages in the
relevant country
version that
should be
ranking instead
22. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Create a priority hreflang list with those pages shown in
the wrong search results and their alternate versions
24. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
You can implement hreflang annotations through the
HTML head, using XML sitemaps, or HTTP headers
HTML Head XML Sitemap
HTTPS://SUPPORT.GOOGLE.COM/WEBMASTERS/ANSWER/189077?HL=EN
25. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Choose the method that will better comply w/ your
needs and potential platform restrictions
BETTER FOR SMALL
NUMBER OF VERSIONS
TO TAG AND WHEN
USING A PLATFORM
THAT ALLOWS TO EASILY
EDIT THE HTML HEAD
HTML Head
BETTER FOR BIGGER
SITES WITH A HIGH
NUMBER OF VERSIONS
TO TAG AND/OR WHEN
YOU CAN’T EDIT YOUR
HTML HEAD
XML Sitemap
WHEN SPECIFYING
HREFLANG FOR NON-
HTML DOCUMENTS LIKE
PDFS, DOCS, ETC.
HTTP Header
27. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONHTTPS://SUPPORT.GOOGLE.COM/WEBMASTERS/ANSWER/189077?HL=EN
Hreflang annotations use ISO 639-1 values for
languages and ISO 3166-1 Alpha 2 for countries
28. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
This is
incorrect since
the ISO 3166-1
code for the
UK is “GB”
29. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Languages can be specified by themselves but when
specifying countries they should also include a language
HTTPS://SUPPORT.GOOGLE.COM/WEBMASTERS/ANSWER/189077?HL=EN
30. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Like this! Note the usage of a dash (not underscore)
to separate the language and country values
<link rel=“alternate” hreflang=“en” href=“http://www.brand.com/“ />
<link rel=“alternate” hreflang=“en-us” href=“http://www.brand.com/" />
ENGLISH
ENGLISH IN THE US
31. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
And there’s no
official support
yet for regions or
continents
33. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
So if you need to use the same version across a region,
you should assign each of the countries to the pages
<link rel=“alternate” hreflang=“es-es” href=“http://www.brand.com/es/“ />
<link rel=“alternate” hreflang=“es-mx” href=“http://www.brand.com/latam/“ />
<link rel=“alternate” hreflang=“es-ar” href=“http://www.brand.com/latam/“ />
<link rel=“alternate” hreflang=“es-co” href=“http://www.brand.com/latam/“ />
34. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
There’s no limit on
assigning the same
URL to many
targeted countries
35. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
You can also use the “x-default” value to specify the
fallback version for unmatched languages/countries
Default and English for the US
<link rel="alternate" hreflang=“x-default“ href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
brand.com
36. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
<link rel="canonical" href="http://www.brand.com/" />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
English for the UK
Note that is critical that each alternate page refer to
each other, while not changing their canonicalization
brand.com
brand.co.uk
brand.com/es/
English for the US
Spanish for the US
<link rel="canonical" href=“http://www.brand.com/es/" />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
<link rel="canonical" href=“http://www.brand.co.uk/“ />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/“ />
37. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Don’t do this if
you want the
Mexican home
page to actually
be the one that
ranks in Mexico
38. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
With the Mobile First Index if you have independent
mobile URLs you’ll need to annotate them too
<link rel="canonical" href="http://www.brand.com/" />
<link rel="alternate" hreflang=“en-us" href=“http://m.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://m.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://m.brand.co.uk/“ />
English Mobile for the UK
m.brand.com
m.brand.co.uk
m.brand.com/es/
English Mobile for the US
Spanish Mobile for the US
<link rel="canonical" href=“http://www.brand.com/es/" />
<link rel="alternate" hreflang=“en-us" href=“http://m.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://m.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://m.brand.co.uk/“ />
<link rel="canonical" href=“http://www.brand.co.uk/“ />
<link rel="alternate" hreflang=“en-us" href=“http://m.brand.com/“ />
<link rel="alternate" hreflang=“es-us" href=“http://m.brand.com/es/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://m.brand.co.uk/“ />
39. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Which should be the same when you’re using
non-canonical AMP
<link rel="canonical" href="http://www.brand.com/" />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/amp/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/amp/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/amp/“ />
English AMP for the UK
brand.com/amp/
brand.co.uk/amp/
brand.com/es/amp/
English AMP for the US
Spanish AMP for the US
<link rel="canonical" href=“http://www.brand.com/es/" />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/amp/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/amp/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/amp/“ />
<link rel="canonical" href=“http://www.brand.co.uk/“ />
<link rel="alternate" hreflang=“en-us" href=“http://www.brand.com/amp/“ />
<link rel="alternate" hreflang=“es-us" href=“http://www.brand.com/es/amp/“ />
<link rel="alternate" hreflang=“en-gb" href=“http://www.brand.co.uk/amp/“ />
40. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONHTTPS://WWW.ALEYDASOLIS.COM/ENGLISH/INTERNATIONAL-SEO-TOOLS/HREFLANG-TAGS-GENERATOR/
Minimize errors
by using the
hreflang
generator to
obtain the
HTML or XML
sitemap code
pattern for your
different
versions
41. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
You can use these values as patterns to use across the
different pages you identified as relevant to tag
42. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
When adding the
hreflang in the HTML
head, be careful that
there isn’t any code
that breaks it,
making the hreflang
not recognizable
HTTPS://WWW.ILOVESEO.NET/HOW-TO-USE-HREFLANG-CORRECTLY/
43. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONHTTPS://WWW.HREFLANGBUILDER.COM/
If you work in an
enterprise
environment, check
out the hreflang
builder to generate
hreflang in XML
sitemaps and
facilitate the
mapping process
44. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
4VALIDATE THE HREFLANG
IMPLEMENTATION IN TEST ENVIRONMENT
45. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Verify that the relevant pages have been effectively
tagged by crawling the site in a test environment
SITEBULB, DEEPCRAWL, SCREAMING FROG, RYTE, BOTIFY, ONCRAWL
46. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Besides using the right values in the desired pages,
check for pages that might trigger no-return tags issues
SITEBULB, DEEPCRAWL, SCREAMING FROG, RYTE, BOTIFY, ONCRAWL
47. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Like tagging URLs
that are blocked,
no-indexed,
canonicalized to
others, redirected
or with an error
status code
49. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONGOOGLE SEARCH CONSOLE
After launching, look for remaining hreflang errors in
the Search Console International Targeting Report
50. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Which are the type of issues found? How many URLs
are affected? Of which language/country versions?
51. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Start fixing those
with a higher
number of affected
URLs for your most
important markets
52. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCONHTTPS://HREFLANGCHECKER.COM/, HTTPS://TECHNICALSEO.COM/SEO-TOOLS/HREFLANG/
Once you’re
done you can
validate the
specific URLs
with issues with
free hreflang
checkers
54. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
Check the
remaining traffic
from non-relevant
markets to your
international
versions to
expand the
process
56. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
WHICH INTERNATIONAL
VERSIONS WERE
INCLUDED/EXCLUDED
AND WHY?
WHICH PAGES OF THOSE
INTERNATIONAL
VERSIONS WERE
INCLUDED/EXCLUDED
AND WHY?
WHICH
IMPLEMENTATION
METHOD WAS CHOSEN
AND WHY?
WHICH TOOLS WERE
SELECTED TO
GENERATE, TEST AND
MONITOR HREFLANG?
WHEN AND WHERE THE
HREFLANG
IMPLEMENTATION
SHOULD BE TESTED
BEFORE ANY RELEASE?
HOW OFTEN THE
HREFLANG
ANNOTATIONS SHOULD
BE CHECKED AND WHO
WILL DO IT?
HTTP://BIT.LY/HREFLANGPROCESS
Document the process, establishing the steps to follow
to tag any page that is published, changed or removed
57. #HREFLANGSUCCESS BY @ALEYDA FROM #ORAINTI AT @PUBCON
It’s time to grow
internationally,
with the right
page versions
ranking!