My website takes the IP address of the customer and check which country the customer is visiting from. If the customer comes from USA then product prices are displayed in US dollars, if the customer comes from UK then prices are displayed in GBP.

The problem with this approach is that when google crawler visits my website for crawling, the google servers are based in USA. Now, my website returns a page back to google with prices in US dollars (as the IP address is from USA). So, google thinks that my website is local to USA.

Hence, my website pages gets a hit on the rankings in google.co.uk as google thinks it is not local to UK Also, if one of my website's pages are listed in google results, the price is displayed in US dollars in google.co.uk.

I got this answer from google's engineers at google webmasters forum:

"If you want UK users to see UK prices in google and US users to see US prices in google, then you need to have two different urls (one for us and one for uk) and tell google which url to show which user (by geotargeting). You could try geotargeting. You said you didn't want to have multiple websites, but you can also geotarget by folder, e.g. example.com/us and example.com/gb."


Now I can do that and create different urls for different countries. This will improve the rankings in google's different search engines. But then it will become very difficult to do SEO for all these urls (one for each country).

My question is, is it more practical (from SEO's perspective) to stick to same url for all countries and improve your page rankings via link building?
Or create separate urls for each country and gain some rankings initially due to geo-targeting (or localisation) and then do the hardwork and try to promote all these different urls? As I am a one man army, so I need to decide which route to take.

Thanks in reading such a long question. Any suggestions are welcome.