I have a site that has 2 languages: English and Swedish.
What I want is, if someone Googles the site in Sweden, it should show the Swedish results. That is, I want Google in Sweden (google.se) to crawl the Swedish version of the site. For any other place, I would want the English version to be crawled.
I read the following:
http://googlewebmastercentral.blogspot.se/2010/03/working-with-multilingual-websites.html
It says I should have 2 separate pages for the website. Is there a way such that I don't need to change anything in the url?
I mean simply, if anyone on google.se searches for example.com, it should show the Swedish result, anywhere else, English.
Here is my full answer about how you should structure your URLs for multilingual sites.
There are many acceptable ways to structure your site for both SEO and internationalization. Each have advantages and disadvantages.
Buy the same domain name at multiple top level country domains like example.com
, example.es
and example.de
.
Advantages
example.co.uk
and example.com.au
targeted at audiences in different countries. The sites may have duplicate content with slight spelling differences and still rank well. In fact, multiple well localized sites in the same language may rank better than a single site in that language.Disadvantages
es
, search engines may assume that the site is only appropriate for users from Spain, not for all Spanish speakers.Buy a single domain, and use sub-domains such as en.example.com
, and es.example.com
Advantages
Disadvantages
Buy a single domain, and use sub-directories such as example.com/en/
, and example.com/es/
Advantages and Disadvantages
index_en.html
and index_de.html
. This technique is not fully supported by Google. For example, there is no way to set targeting in webmaster tools.lang=en
. It is not recommended for the same reason that different file names are not recommended.Accept-Language
header.
Accept-Language
header and crawl from different geographic locations. However, Google still recommends that you have separate URLs for content in different languages.Accept-Language
header to suggest that users might prefer a different version of the site by displaying a message when the site they are visiting does not match the Accept-Language
header.When supporting multiple languages, you should clearly mark up with language meta-data.
Use the lang attribute in the html
tag:
<html lang="en">
Use rel alternate links to the same page in other languages as suggested by Google:
<link rel="alternate" hreflang="es" href="http://www.example.com/" />
<link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" />
<link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" />
<link rel="alternate" hreflang="en" href="http://en.example.com/" />
Alternately, this information can be put into sitemap files.
You should add each language (or locale) of your site to Google Webmaster Tools. This can be done for top level domains, for sub- domains, or for sub-directories.
If your site is targeted by country, you should use webmaster tools to set the site targeting. Navigate to "Configuration" -> "Settings" -> "Geographic target" and choose to target the correct country from the drop down list.