В HTML5 были введены методы history.pushState() и history.replaceState() , которые позволяют добавлять и изменять записи истории соответственно.
history.pushState()
history.replaceState()
window.history.pushState('page2', 'Title', '/page2.php');
Подробнее об этом от здесь