Use Sypex Geo DB in Magento
База Sypex Geo - по ходу использования и тестов - в РФ определяет города лучше аналогичных публичных баз.
USAGE:
- Insert into head.phtml: init(); ?>
- Get current city: getCurrentCity(); ?>
- You can set current city by sending POST ($postData['city'])) to geoip/ajax/set controller.