SEO Advanced

General Best Practices

To help you get started, we also recommend reviewing Google’s own Webmaster Guidelines and Moz.com’s Beginners Guide to SEO.

In addition to the above guides, here are some best practices to help you get started when launching your multilingual site and SEO.

Title Tags

Title tags are HTML elements used to tell search engines and your visitors what your site and that specific page is about in the most concise and accurate way possible. Title tags are displayed on search engine results pages and are critical to SEO.

Title tags should always be around 70 characters.

When localizing title tags in another language, make sure to:

  • Include title tag modifiers and use the best translations for those modifiers. Common modifiers include “best”, “offer”, “buy”, “guide”, and “reviews”.
    • Recommended Tool: Google AdWords keyword tool to determine the most common and valuable modifiers. Keywords with the highest cost-per-click (CPC) are typically the most valuable.
  • Search for generic versions of your query. Typically top performers in paid search advertisements will be using the most valuable modifier in their page title.
  • Look at related searches for additional inspiration for your page titles. See example below:

Meta Descriptions

Meta Descriptions are HTML attributes that provide concise explanations of the contents of your web pages. On their own, they do not influence keyword ranking but will influence click through rates on your organic listings.

The meta description should be around 150 characters in length.

When localizing your existing meta description, make sure to:

  • Look at AdWords that other competitors may already be using. Typically, search engine ads have gone through some optimization and have the appropriate keywords in the description text. If more than one competitor includes a key phrase or keyword in their copy, we recommend including it in your copy.
  • Look at related search results recommended by Google for additional inspiration for your meta description. These will help determine keywords that are important to include so that a larger portion of your organic listing is bold.

Header Tags (H1s/H2s et. al.)

The header tag in HTML will usually be the title of a post, or other emphasized text on the page. Header tags are H1, H2, H3, H4, H5, and H6, with H1 being the most important.

H1s and header tags should be around 70 characters in length.

When localizing your header tags, make sure to:

  • Look at AdWords that other competitors may already be using. If more than one competitor includes a key phrase or keyword in their copy, we recommend including it in your copy.
  • QA the site in mobile to check for character count differences which may cause some headers to be too long or too short and cause the page to break. Some translations, especially in German or Chinese, can have dramatically different lengths of words and can cause some of the underlying assumptions of the original page design to break down.

Alt Tags (i.e. IMAGES)

Alt tags are used by search engines to understand the content of an image. Alt tags should be descriptive and relevant to the subject category of your page.

Alt tags should be around 70 characters in length.

When localizing your alt tags, make sure to:

  • Use the same logic used for title tags and take keyword inspiration from keywords found in the suggested Google searches and AdWords copy used by your competitors. Make sure to use CPC estimates from the Google Keyword Tool in AdWords as a proxy for how valuable a specific modifier may be.

URL Structure of your multilingual site

Overview

Search engines need a unique URL to index for each translated version of a page. If you’re translating your website into 5 languages, you should have 5 unique URLs for each page.

There are a few ways to accomplish this.

  • Subdirectories: example.com/es, example.com/fr
  • Subdomains: es.example.com, fr.example.com
  • ccTLDs: example.es, example.fr

But what is best for SEO?

Google outlines the pros and cons of each structure:

In addition to Google’s recommendation, here are some more considerations before you structure your website and URLs:

Sub-Directories

Advantages
Disadvantages
Example Sites

Preserves all domain authority and link equity to one central domain

Easy for press/bloggers to link to the wrong domain

Etsy.com Adidas.com Oracle.com Moo.com

Quicker to rank

Link building in other markets (for eg; Germany) can be more aggressive (pay to play)

Duplicative content risks across domain, anchor text distribution is off (eg; linking to USA content and UK content)

Sub-Domains

Advantages
Disadvantages
Example Sites

Clear delineation between properties

You are starting from zero which means slow to rank

Rolled up under a central domain and share of authority

Need to build independent domain authority

Penalty risks are less/low

ccTLD

Advantages
Disadvantages
Example Sites

Clear delineation between properties

You are starting from zero which means slow to rank

zulily.com
louisvuitton.com

No/low risk for penalties

Need to build independent domain authority

CTR/Market Awareness when in search results (people in country might feel more comfortable w/ purchase/engagement)

Cost/tech resourcing to country specific rules (eg; Germany: Imprint, office locatio

Branding issues if the domains aren’t available

We strongly recommend using the subdirectory or subdomain approach. The ccTLD approach can negatively impact rankings since search engines view each domain as a unique website.

Tell Google about your alternate language

Regardless of the URL structure, in order for search engines to find the translated version of your pages, you must link to them in your HTML so the translated version of each page is easily discoverable.

Google uses the rel="alternate" hreflang="x" attributes to serve the correct language or regional URL in Search results, so step #1 starts with:

Understanding HREFLANG Tags

There are a few places to add the HREFLANG tag to tell Google that your page has an alternate version in a different language.

Option 1: HREFLANG tags in the SITEMAP


A SITEMAP is a file where you list the web pages of your site to tell Google and other search engines about the organization of your site content. (what is a sitemap?)

You can utilize a Sitemap Generator tool that allows you to add in HREFLANG tags. However, there are currently no Google approved Sitemap Generators with the ability to quickly add in HREFLANG tags.

We do not recommend this method as it’s harder to diagnose problems and it’s easy to skip pages in the Sitemap.

Example of a sitemap that includes HREFLANG tag:

<?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>http://www.example.com/english/</loc>
 <xhtml:link 
 rel="alternate"
 hreflang="de"
 href="http://www.example.com/deutsch/"
 />
 <xhtml:link 
 rel="alternate"
 hreflang="de-ch"
 href="http://www.example.com/schweiz-deutsch/"
 />
 <xhtml:link 
 rel="alternate"
 hreflang="en"
 href="http://www.example.com/english/"
 />
 </url>
 
 <url>
 <loc>http://www.example.com/deutsch/</loc>
 <xhtml:link 
 rel="alternate"
 hreflang="en"
 href="http://www.example.com/english/"
 />
 <xhtml:link 
 rel="alternate"
 hreflang="de-ch"
 href="http://www.example.com/schweiz-deutsch/"
 />
 <xhtml:link 
 rel="alternate"
 hreflang="de"
 href="http://www.example.com/deutsch/"
 />
 </url>
 
 <url>
 <loc>http://www.example.com/schweiz-deutsch/</loc>
 <xhtml:link 
 rel="alternate"
 hreflang="de"
 href="http://www.example.com/deutsch/"
 />
 <xhtml:link 
 rel="alternate"
 hreflang="en"
 href="http://www.example.com/english/"
 />
<xhtml:link 
 rel="alternate"
 hreflang="de-ch"
 href="http://www.example.com/schweiz-deutsch/"
 />
 </url>
 
</urlset>

Option 2: HREFLANG tag in the HTTP Header using the “Link:” element


The Link: header in HTTP allows the server to point an interested client to another resource containing metadata about the requested resource.

An example of an HTTP HEADER that includes HREFLANG tag:

Content-Type: text/html
Link: <http://es.example.com/>; rel=”alternate” ; hreflang=”es”
Content-Length: (Content-Length entity header indicates the size of the entity-body)

We do not recommend this method as it’s very hard to troubleshoot and diagnose issues.

Option 3: HREFLANG tags in the <head> (RECOMMENDED)


We recommend adding HREFLANG tags in the header of your pages. The HREFLANG tag on each page should include a reference to itself as well as to all the pages that serve as alternates for it.

Here’s how the line breaks down:

<link>

defines a relationship between a document and an external resource.

rel=”alternate”

Designates this page has a relationship with another page (where the hreflang calls out the language)

hreflang

Specifically calls out that the document that the rel=alternate is pointing to, is another language

=de-ch

Specifically notes the page is Swiss German.

Example of HREFLANG tags in the header:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" /> 
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" /> 
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" /> 
<link rel="alternate" href="http://example.com/en" hreflang="en" />

Landing Page: When you create a landing page you should also allow your visitors to select their language, or if you auto-direct to the proper language page, you should add an annotation for the hreflang value "x-default" as well.

Example of HREFLANG tag for a landing page:

<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Other Considerations

Country Codes

All countries abbreviations are in ISO-639-1 (language classification) or ISO 15924 (scripts). You can also specify regions using ISO-3166-1. Localize follow the ISO 639-1 standard.

Verifying your Setup

Verification Process

Step 1: Verify your website www.example.com

  • Sign-up and verify your site using Google Search Console (previously called Google Webmaster Tools). If you are just targeting alternative language, you can stop here.
  • If you are targeting alternate countries, continue on to the Step 2 (additional Google provided information here)

Step 2: Verify your alternate language sub-directory (or sub-domain/ccTLD): www.example.com/de

  • Go to Google Search Console page, and click the red “Add a property” button on the top right.
  • Add www.example.com/de/
  • Select “Search Traffic” on the left-hand side
  • Select “International Targeting”
  • Click the second tab “Country Targeting”
  • Select the country you are targeting

Troubleshooting Issues

Once you have verified your site in Google Search Console, you will be provided with an International Targeting Report to show valid HREFLANG tags and errors.

The most common error involves “No Return Tag”. This happens when a page includes an HREFLANG link to an alternate language, but the linked page doesn't link back to it.

No Return Tags

This error is the most common error for international sites. For each language code you provide, the table lists a total count of alternate pages that have no return tag linking back to the selected site. The table aggregates missing return tag by implementation and locale:

  • Page-level -- the total number of hreflang errors by language in the <head> section of your pages.
  • Sitemap -- the total number of hreflang errors found in your sitemap.
  • HTTP headers -- the total number of hreflang errors for alternate files provided in your HTTP header configuration.

You can click on an error to inspect details for that locale. For page-level tags, the detail report shows a maximum of 1,000 URLs on your site, paired with the alternate-language page that's missing a return tag to its mate. For sitemap details, the report lists the sitemap that indicates the URL pairing and the alternate URL that has no return link. For HTTP headers, the detail page indicates the configuration and alternate URL with no return link. As with page-level errors, the detail page shows a maximum of 1,000 URLs with missing return tags.

Alternatively, you may see other errors about the language code, which can be resolved using the appropriate abbreviations. All countries abbreviations are in ISO-639-1 (language classification) or ISO 15924 (scripts). You can also specify regions using ISO-3166-1. Localize follows the ISO 639-1 standard.

Indexation

Ensuring your site gets crawled is critical to ensuring your page gets indexed and served up to consumers in search results.

The easiest way to tell crawlers/search engines (GoogleBot) that your site exists is to a) generate a sitemap and b) submit a sitemap.

Google provides a guide to help you build and submit a sitemap.

  • Generate a sitemap

    • There are a number of “free” tools that work on a small scale that can be found via a quick Google Search for “XML Sitemap Builder”.

    • Alternatively software such as “Screaming Frog” has functionality built-in to crawl the site and generate a sitemap with just a few clicks.

  • Submit a sitemap

    • Log into Google Search Console and select CRAWL > SITEMAPS and on the upper-right hand side select “ADD/TEST SITEMAP”.

URL Options

There are many types of URLs that could be used when translating a page. For example:

    1. www.site.com/page/country/lang
    1. www.site.com/page/country-lang
    1. country.site.com/page/lang
    1. www.site.com/page?country=1&lang=2

It is absolutely fine to use any of the options 1-3, but option 4 which uses parameters is not recommended.

Our recommended approach is to create alternate pages in a subdirectory.

For example:
www.example.com → www.example.com/de-ch

NOTE: Ideally you’ll want to follow a similar site structure on each language, regardless if you use a ccTLD, sub-domain, or sub-directory.

To ensure that a page is being indexed correctly you can simply type into Google:
Info: http://www.example.com/de-ch

NOTE:
Just as you will want to translate your TITLE TAG and META DESCRIPTION, you will want to translate the slug (localizejs.com/this-is-the-slug/).

If you are attempting to improve positioning for localized terms for your website, the same standard website guidelines are applicable for localized queries.

For example:

    1. Having relevant content on the page and incorporating varied keywords applicable to that term.
    1. Having links from credible external sources (in that language/country) pointing to the site and/or page.
    1. Optimized on-page from a technical perspective: making use of TITLE Tags, H1s, H2s and ensuring the page is mobile friendly.

Advanced SEO Practices

JS & Google Crawling

Google has stated that they are able to better crawl AJAX, Javascript and other technologies. We’ve found this is on a case by case basis and there are no hard and fast rules that work for everyone.

Our recommendation continues to be:

  • Watch crawl rates closely (available in Google Search Console)
    • Google will crawl sites that update more frequently, larger in size and/or shared more often.
    • In Google Search Console under CRAWL > CRAWL STATS you’ll see a 90-day view of crawl history. You’ll ideally want Google to be able to see all of your site in a reasonable time period (1-day to 1-week).
  • Evaluate indexed pages (available in Google Search Console)
  • Look at cached pages in Google Search Results (click down arrow next to listing and view cache)
  • Leverage the “fetch and render” tool in Google Search console to see what Google is seeing (under Crawl -> Fetch as Google)
    • You’ll want to ensure that content is visible, there are no fetching errors, and that Google is experiencing the content as a user would want to see the content.
    • If the page is blank, or rendering differently than you’d like, it’s a good indication that Google is having trouble viewing your content and will likely not serve the content to users in fear of a poor user experience.

Pre-Rendering

Pre-rendering is a process to load all elements on the page in preparation for a web crawler to see it. Pre-rendering will help enable Google to crawl Javascript. The chart below highlights what happens when switching over to pre-render using PreRender.io. When Prerender is executed, Google will crawl more pages.

Ask your developer to install a service like Prerender.io to accomplish this.

Diagnostics

Quick QA

We recommend you perform website quality assurance testing to ensure your site is being crawled properly. Tools like Screaming Frog are able to crawl your site and to understand the lengths of your new H1s, Page Titles, H2s, and Meta Descriptions as well as audit your HREFLANG.

After a crawl you should have a full table of all of your HTML elements for all of your linked pages. It’s good practice to use the Screaming Frog crawler on the staging version of your site in order to be sure that all of your elements are in order prior to launch.

Indexation

To check if a specific page has been indexed make sure to perform a “site:{internationlized URL” search on Google. If the page has been returned in a search then you will know that the page has been indexed by Google.

It’s good practice to perform this search for important pages that should be indexed. If the page is returned in the search results make sure to click to see the cached version of the page to make sure that the page is being viewed as you intended.

Tracking and Measurement

For tracking, we recommend using a separate Google Analytics view to understand traffic to that portion of the site. Set the view settings based on a URL structure rather than on location as users from other countries can still access your original site. It’s important to do this before you launch your site as filters can not be applied to a view retroactively.

To check your indexation progress, use the sitemap and index status screens inside the Google Search Console. The index status screen will let you know how many total pages have been indexed. The sitemap screen, if you’ve broken up your sitemaps by website sections, will let you know exactly which portions of your site have been indexed.

What else can I do?!

When launching in specific locales like China or Russia, make sure to understand the search market share for that country. While these search engines typically behave in the same way that Google behaves, there are some differences.

For Yandex (Russia):

  • Make sure to register with Yandex Webmaster Tools
  • If your website is heavily depended on AJAX make sure that it follows these guidelines: Indexing AJAX Sites
  • Make sure to have all of your URLs listed in your sitemap; Yandex is more dependent on sitemaps than Google, Baidu, or Bing
  • To understand your pages’ Yandex MatrixNet score (Yandex’s version of Pagerank) use Yandex Elements plugin

For Baidu (China):

  • Make sure to register with Baidu Webmaster Tools
  • Baidu prefers Simplified Chinese over Traditional Chinese - use Simplified Chinese characters when localizing your website
  • Do not use robots.txt - Baidu does not like robots.txt and expects all of the directors to be set in the .htaccess file or IIS server settings
  • Make sure you are not using iFrames - Baidu does not see any content that is in iFrames
  • Pay particular attention to site speed - site speed is a heavier ranking factor than it is for Google, Yandex, or Bing
  • Baidu can not execute Javascript so make sure to pre-render your navigation elements

SEO Advanced