I have a site with UGC in many languages. The translation I'm doing is for the titles so for each page I have multiple copies, one per language. I want to make sure
- Search engines don't see this as duplicate content.
- Search engines direct to the right language link.
What I've done is specifying the language in a sub domain, so for each page I have:
mydomain.com/page
ja.mydomain.com/page
es.mydomain.com/page
And in each one of those pages added in the HTML
<link rel="alternate" hreflang="en" href="http:/mydomain.com/page" />
<link rel="alternate" hreflang="jp" href="http://ja.mydomain.com/page" />
In order to make sure people are viewing the right language I'm redirecting according to the IP of the viewer, to the right subdomain. For example if I get a visitor from Japan I'm redirecting to ja.mydomain.com/page while leaving an option to change language manually.
Is there a way to avoid the redirecting I'm doing and let search engines link to the right page? Should I specify canonical for these pages to avoid duplicate content? Should I specify geo-targeting per subdomain in google webmaster tools?