Как сделать нормальную навигацию если сайт работает на ajax?
pajax, history.pushstate и вот это все...
смотри в сторону роутера.
Есть полно готовых роутеров на JS, есть статьи где описано как написать свой роутер