On an AJAX or Turbolinks site with disqus you need to do some extra checking to see if it needs to be reset or instantiated.
<div id="disqus_thread"></div>
<script type="text/javascript">
if(typeof DISQUS === "undefined"){
var disqus_shortname = 'your_shortname'; // required: replace example with your forum shortname
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = "//" + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
}else{
DISQUS.reset({
reload: true,
config: function () {
this.page.identifier = document.title;
this.page.url = location.href;
}
});
}
</script>
**Credits to Yos Riady for this solutions
Related External Links: