Not recommended methods for language and geo settings
Don’t try to separate the targeting by the File Name:
It’s not recommended by Google and you can’t set targeting in Google Webmasters Tools
The same story with the using URL Parameter lang=es
Accept Language Header
Accept Language Header – auto switcher based on users settings (browsers set the relevant values for the header, according to the users interface language. The user can change it, but it happens very rarely. Many users have set English language for their interface, but prefer to get the information on their native language.
And though Google announced that Googlebot can now use IP addresses that appear to come from other countries too, not only from US, but the default IP addresses of the Googlebot crawler appear to be based in the USA. In addition, the crawler sends HTTP requests without setting Accept-Language in the request header.
But Google understand your signals like:
- Serving different content on the same URL—based on the user’s perceived country (geolocation)
- Serving different content on the same URL—based on the Accept-Language field set by the user’s browser in the HTTP request header
- Completely blocking access to requests from specific countries
to resend Geo-distributed crawling bot (Googlebot appears to be using IP addresses based outside the USA) or Language-dependent crawling bot (Googlebot crawls with an Accept-Language field set in the HTTP header).
Google stresses that
We continue to support and recommend using separate locale URL configurations and annotating them with rel=alternate hreflang annotations.
As the best practice Google recommends to use Accept Language header just to show users a notifying message, that they could choose another language.
Geographic IP Addresses
The same thing with the Geographic IP Addresses – not recommended to automatically switch the language based where the IP address is geographically located. There are reveral reasons for that:
- Some countries use more than one language
- Geo-ip databases are inaccurate. Up to 10% of users might be assigned to the wrong country.
So again recommendations are – to use get ip – just to offer the choice of language or local currency. If you want to set the restrictions in spite of all that – make sure you provide the user handy and fast way to change the settings.
What you need to do if you want your multi language and geotagged site to be crawled and indexed well.
- Use hreflang for language and regional URLs
- Use the sitemap to indicate alternate language pages
- Set the International targeting with the International Targeting Report
- Set geo targeting within the Google Search Console
- choose needed property
- On the left, select Search Traffic > International Targeting
- Click on the “Country” tab
- Select the region you want to target or select “unlisted”
Google tip for robots.txt
Make sure your site applies the robots exclusion protocol consistently across locales. This means that robots meta tags and the robots.txt file should specify the same directives in each locale. For example, if Googlebot receives a noindex meta tag when setting an Accept-Language header in Spanish, it should receive the same noindex meta tag with no Accept-Language header or when Googlebot crawls with a different Accept-Language header. This will avoid unexpected crawling and indexing behavior that can happen if different locales have different noindex meta tags, or your site responds with different robots.txt files to different IP addresses.
Google tip to avoid the duplicated content
Websites that provide content for different regions and in different languages sometimes create content that is the same or similar but available on different URLs. This is generally not a problem as long as the content is for different users in different countries. While we strongly recommend that you provide unique content for each different group of users, we understand that this might not always be possible. There is generally no need to “hide” the duplicates by disallowing crawling in a robots.txt file or by using a “noindex” robots meta tag. However, if you’re providing the same content to the same users on different URLs (for instance, if both example.de/ and example.com/de/ show German language content for users in Germany), you should pick a preferred version and redirect (or use the rel=canonical link element) appropriately. In addition, you should follow the guidelines on rel-alternate-hreflang to make sure that the correct language or regional URL is served to searchers.