On my first visit to EMC.com last week, I thought to myself “Uh oh, that’s not going to be good for their SEO”. It was a country selector. The only content on the page was a long list of countries. No keyword-rich copy. No keyword-rich links.
But then I took a deeper look. I did a Google search for “cache:www.emc.com” and was pleased to see the EMC US site’s home page, not the Country Selector page! EMC had done their homework on SEO and were detecting the bots and waving them on. Googlebot doesn’t have to select a country. Good for you, EMC!
Contrast that approach to Lenovo’s global country selector. A Google search for “cache:www.lenovo.com” reveals, um, nothing. Yikes, no home page indexed! Nothing for “cache:lenovo.com” either. Then I visited the site masquerading as Googlebot, using lwp-request (one of my trusty power user command-line tools):
lwp-request -H "User-Agent: Googlebot/2.1 (+https://www.googlebot.com/bot.html)" -S lenovo.com
I saw the reason for Lenovo.com not having a home page in Google: bots were being directed to the Country Selector page using the wrong kind of redirect — a 302 instead of a 301. Not only were bots getting forced through a cookies-based country selector (mistake #1) made worse by the issue of the 302 (mistake #2), but also the URLs are not being canonicalized (i.e. there was no www present in the URL “https://lenovo.com/planetwide/select/selector.htm”. Indeed, none of the site is canonicalized. “https://lenovo.com/us/en/index.html” should 301 to “https://www.lenovo.com/us/en/index.html”. Or vice versa if you prefer your site’s URLs sans www.
What would I do differently if I were the sysadmin at Lenovo? I’d detect for Googlebot and send Googlebot directly to the U.S. site via a 301 redirect. Or alternatively, I’d make the home page URL (“https://www.lenovo.com/”) respond with the country selector for humans and the US home page for bots without doing a redirect at all. That would mean the US home page would live at “/” (rather than “/us/en/index.html”) for everyone except for humans who have no cookie set with their country preference, and of course, crawlers. Those visitors to / with the cookie set to another country would get redirected to the previously chosen country, which would not live on lenovo.com but on the corresponding country code TLD (such as lenovo.co.uk, lenovo.fr, lenovo.com.au). And I’d 301 non-www URLs to their www counterparts (more on this here).
Great advice, as always – from a usability standpoint, I’d love to see Country Selector home pages die a painful death. It’s funny to me how often I’ll play around with a country selector only to realize that my choice doesn’t matter until late in the process. If that’s the case, don’t make your visitors choose until the choice is relevant. Otherwise, they’re just jumping through hoops. Hopefully, technology and advanced geo-location solves this problem over time.
Stephen,
Another genius post on Google operators! I am afraid that we are guilty of not sending Googlebot through for some clients that are multi-national.
Would using geo-ip to automatically send users to their country page be okay? Is making these folks select a country (even if remembered), worth doing just to get it right for that single digit percentage where geo-ip is wrong?
Stephen, a great read. Being a relative noob in the SEO world, I’ve wondered how one would address this problem, and had come up with a solution that was similar to this, but not as indepth. Today was not a waste. I’ve learned something new again!
Very interesting article, especially the lwp… command.
Anyway another option for country selection is simple: geoIP
Right now I’m developing an interview application (see it here http://quiz.me) that detects your IP and based on that it display the content in your language. Right no you have only English and Romanian.
So if you use a proxy from US or UK you got the English version and if you use proxy from Romania you get Romanian version.
Hi Stephen
It’s me Alex again.
As I told you we are developing an application that need to be used in many languages.
We ended up having a problem.
We want to use geoIP to directly serve the page in user’s language BUT there is a catch.
If you will use the same page with different content (kinda opposite to duplicate content, right?) based on IP what page will google bot index?
Going further I wanted to see where gogole.ro (for Romanian language) resides and surprise…it’s in US.
(use ‘host google.ro’ and then track the IP)
Now if it will access my site from US it will see an English version of it…which is NOT what we need.
How do we solve this issue…but keeping the user experience at maximum.
/Alex
Instead of keeping the country selector as the main global gateway, I’d rather default it to the main language (according to the market and goals of the company) and create a secondary global gateway for the selectors, similar to what cat.com has done.
There will be no need to serve different pages to the bots, unless you develop a specific regional campaign.