I have implemented user IP detection to several of my eCommerce sites, so that it shows the currency and delivery charges based upon the users location. All is good, and this system has been working for a while, but I have began to notice a worrying side effect with the search engines.Google seems to only crawl websites using US based IP's; country searches such as on google.co.uk now show prices by default in $'s (within the listings), which are reducing the number of click-throughs as prices are no longer being shown in the user's local currency.The impact is even greater as these are all UK based sites. Even though they are setup to sell to the global market, we still want to keep our local market strong.One way could be to exclude the currency/delivery detection for the spider IP range, but the same still applies; we have a big following in Europe, US, Australia and New Zealand who convert better if they see their local currency within the search listings.There are product feeds setup with google, but these don't filter into the main search listings.The alternative route is to implement country targeting through subfolders/subdomains  (/uk/, /us/, /fr/, /it/), however this seems very clunky in a modern internet. For example I would have to list every country in Europe, even though they all pay in euros, and all have the same delivery price; in effect I'd be creating x50 extra identical pages for each product (as there are around 50 countries in europe)Any suggestions?
Side effects of customising a users currency based upon their IP
seo
Google's International section of their Webmaster Tools talks about Locale-aware crawling by Googlebot. This appears to be a relatively new (seems to have been announced in January 2015), and is fully automated by Google (emphasis added):Today were introducing new locale-aware crawl configurations for Googlebot for pages that we detect may adapt the content they serve based on the request's language and perceived location.They are using both geo-distributed crawlers as well as the accept-lang headers, which should help, but as they haven't said where these new IP's are coming from might still miss the UK.One thing that might also help is the use of micro-data on your site.This would allow you to serve all currencies in your markup, hide those that weren't valid for the current user/ip through CSS/JS and still have Google understand what you're doing:<div class=curr-gbp itemprop=offers itemscope itemtype=http://schema.org/Offer>  <!--price is 1000, a number, with locale-specific thousands separator      and decimal mark, and the $ character is marked up with the      machine-readable code USD -->  <span class=usd itemprop=priceCurrency content=USD>$</span>  <span class=usd itemprop=price content=1000.00>1,000.00</span>  <span class=gbp itemprop=priceCurrency content=GBP>&pound;</span>  <span class=gbp itemprop=price content=750.00>750.00</span>  <span class=aud itemprop=priceCurrency content=AUD>$</span>  <span class=aud itemprop=price content=1500.00>1,500.00</span></div>You set the class on the containing div to the currency you've selected for the user and then hide the other options through CSS:.curr-gbp .usd, .curr-gbp .aud { display: none; }.curr-usd .gbp, .curr-usd .aud { display: none; }.curr-aud .usd, .curr-aud .gbp { display: none; }Google should then recognise the mark-up and display it as appropriate in its listings.