International Technical SEO
-
Upload
search-laboratory -
Category
Marketing
-
view
1.224 -
download
0
Transcript of International Technical SEO
© Search Laboratory Ltd 2015. All rights reserved.
Leeds T: +44 113 212 1211
London T: +44 207 147 9980
International Technical
SEOJamie White, Head of Technical SEO
Email:
Tel:
Web: www.searchlaboratory.com
Twitter: @searchlabs
Contact details
Jamie White
Head of Technical SEO
Studied Advertising & Marketing
#SLIDMC
Agenda
Site structuring
– Pros and cons
Hreflang – serving correct content in correct markets
Search Console (Webmaster Tools) setup
Common mistakes and how to avoid them
#SLIDMC
Site structure
Three options:
– ccTLD (example.co.uk, example.fr, example.de)
– Sub-folder (example.com/uk, example.com/fr, example.com/de)
– Sub-domain (uk.example.com, fr.example.com, de.example.com)
Each have their pros and cons
#SLIDMC
Site structure
ccTLD (country code top level domain)
Pros:
– Very strong location signal to Google
– Trust factor amongst your audience
Cons:
– Increased linking/promotional efforts required
– Purchase and maintain each separate domain
#SLIDMC
Site structure
Sub-folder
Pros:
– Link authority of top level domain is shared
– Low purchase and maintenance cost
Cons:
– Potentially lower trust factor amongst your audience
– Weaker location signal compared to ccTLD
#SLIDMC
Site structure
Sub-domain
Pros:
– Location signal through different server locations
– Lower purchase & maintenance cost
– ‘Some’ sharing of the top level domain link authority
Cons:
– Increased linking/promotional efforts required
– Weaker location signal compared to ccTLD
#SLIDMC
Content structure
Multiple single-language content targeting different locations
– Example: Four pages of English content targeting GB, IE, US and AU
Translated content targeting different languages
– Example: Four pages of content in English, French, Italian and Spanish
Need to give search engines more information so they can index and
rank content correctly
#SLIDMC
hreflang
HTML tag in the <head> section of a page’s source code
Help Google serve the correct content to users based on their
language or location
Main examples:
– Duplicate content with small language variations (e.g. GB, IE, US,
AU)
– Fully translated content in multiple languages
#SLIDMC
hreflang
Duplicate content with small language variations (GB, IE, US, AU)
Which of these
should I rank for
the phrase
‘Widgets’?
Widgets
Widgets Widgets
Widgets
#SLIDMC
hreflang
Duplicate content with small language variations (GB, IE, US, AU)
Widgets
Widgets Widgets
WidgetsI’ll just pick one of
these and rank it
in all markets
#SLIDMC
hreflang
Duplicate content with small language variations (GB, IE, US, AU)
I can’t decide, so
I’ll just rank some
other pages
instead
Widgets
Widgets Widgets
Widgets
#SLIDMC
hreflang
Duplicate content with small language variations (GB, IE, US, AU)
<link rel="alternate" href="http://www.example.com/gb" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/ie" hreflang="en-ie" />
<link rel="alternate" href="http://www.example.com/au" hreflang="en-au" />
<link rel="alternate" href="http://www.example.com/us" hreflang="en-us" />
Ah! These are for
users in different
countries!
“This is the language
of the content”
“…specifically for users in this country”
“There are alternate
versions of this
content”
“This is where they’re
located”
*Required tag
*Optional tag
#SLIDMC
hreflang
Fully translated content in multiple languages
I don’t have
enough information
to rank this content
correctly
Widgets
Widgets Widgets
Widgets
#SLIDMC
hreflang
Fully translated content in multiple languages
That’s better. Now I
know which content
is for which query
language
English users in UK
French users in France
Spanish users in Spain
Italian users in Italy
<link rel="alternate" href="http://www.example.com/en" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
English users
French users
Spanish users
Italian users
<link rel="alternate" href="http://www.example.com/en" hreflang="en" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it" />
#SLIDMC
Bonus points for…
hreflang="x-default" for content not specific to one language
Country-selector or ‘catch all’ pages
<link rel="alternate" href="http://www.example.com/world" hreflang="x-default" />
Ok, this is what I
should show users
that don’t meet the
other criteria
#SLIDMC
Google Search Console (Webmaster Tools)
Set up your profile and target your site to users in a specific region
Do not specify country for your site if you want to target multiple countries (e.g.
French content in France & Canada)
ccTLD (.co.uk, .fr, .de…)
will auto-detect the target
country
Can be done at domain
level, sub-domain level or
sub-folder level
#SLIDMC
Common mistakes
Not implementing hreflang at page level
Homepage (on all sites)
/page1.html (on all sites)
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/page1.html" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr/page1.html" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es/page1.html" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it/page1.html" hreflang="it-it" />
#SLIDMC
Common mistakes
Setting up a site targeting European users such as www.example.com/eu or
eu.example.com
– Europe is not a recognised ISO region/country so cannot be targeted with hreflang
– Can use hreflang="en" or hreflang="x-default" – but it may gather non-EU traffic
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/eu" hreflang="en-eu" />
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/eu" hreflang="en" />
X<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/eu" hreflang="x-default" />
#SLIDMC
Common mistakes
Missing return links
Homepage (GB site)
Homepage (FR site)
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" /> XOnly when an alternate page exists!
#SLIDMC
Common mistakes
Missing return links
Homepage (GB site)
Homepage (FR site)
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
<link rel="alternate" href="http://www.example.com/" hreflang="en-gb" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr-fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es-es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it-it" />
Only when an alternate page exists!
#SLIDMC
Common mistakes
Specifying the country and not the language
– Language is a requirement – country is optional
<link rel="alternate" href="http://www.example.com/" hreflang="gb" />
<link rel="alternate" href="http://www.example.com/us" hreflang="us" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it" />
XX
Not recognised language codes
#SLIDMC
Common mistakes
Specifying the country and not the language
– Language is a requirement – country is optional
<link rel="alternate" href="http://www.example.com/" hreflang="gb" />
<link rel="alternate" href="http://www.example.com/us" hreflang="us" />
<link rel="alternate" href="http://www.example.com/fr" hreflang="fr" />
<link rel="alternate" href="http://www.example.com/es" hreflang="es" />
<link rel="alternate" href="http://www.example.com/it" hreflang="it" />
XX
Recognised language codes
#SLIDMC
Common mistakes
Redirecting users based on IP address
User
Widgets
Detect IP address & redirect
Widgets
Widgets
Detect IP address & redirectWidgets
Widgets XWidgets XWidgets XWidgets X
#SLIDMC
Common mistakes
Dynamic serving of content based on location (cookie, IP address, login details)
– Typically served on one single URL
UserDetect location and change content
Widgets
.com/page.html
Widgets
.com/page.html
No unique URL for Italian content
Google will only index English
#SLIDMC
Common mistakes
Poor internal linking
Make sure search engines can find all your content – on all your sites!
Helps to pass authority across all your international websites
https://www.apple.com/choose-your-country/ http://www.coca-cola.com/global/glp.html
#SLIDMC
Summary
Duplicate content for different countries? – hreflang
Translated content for different languages/countries? – hreflang
Avoid redirection or dynamic content based on location
– Severely restricting Google’s crawl
Make sure your content can be found through internal linking
Use Google Search Console for more geo-targeting options
#SLIDMC