I assume that you have already created a canonical URL for each page. If not, the canonical URL is the URL that the current page appears to have.
On each page, add the following Javascript code:
history.pushState({id:1},document.title,CANONICAL)
This changes the URL displayed to the user without reloading the page.
For example, if you use PHP, it will be something like:
history.pushState({id:1},document.title,"<?php echo get_canonical() ?>")
This will add the canonical URL to the browser history. Then, for each link, set the href attribute to a canonical URL.
This has added the benefits of changing ugly URLs like http://example.com/page?utm_source=blah - http://example.com/page (after processing Google Analytics utm_source )
source share