Как менять название города в зависимости от того где находится посетитель?
Нужно подрубать GeoIP. Базы есть в бесплатном доступе, но они не очень, есть также и платные сервисы. 
А принцип примерно такой: клиент заходит на сайт, ты дергаешь его IP и ищешь по базе.
Спасибо кто помогал. нашел простое решение с помощью яндекса <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script charset="utf-8" src="http://api-maps.yandex.ru/1.1/index.xml?key=API-ключ" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
if (YMaps.location.city != '') {
	$('.country span').html(YMaps.location.country);
	$('.region span').html(YMaps.location.region);
	$('.city span').html(YMaps.location.city);
}
else {
	$('.title').html('Яндекс ничего не вернул.');
}
});
</script>