Skip to content

Basic

The smallest complete setup: register the plugin with your Disqus shortname, then render a thread with an identifier.

main.ts
import { createApp } from 'vue'
import Vue3Disqus from 'vue3-disqus'
import App from './App.vue'
createApp(App)
.use(Vue3Disqus, { shortname: 'your-forum-shortname' })
.mount('#app')

identifier is the only required prop. Passing an explicit url is recommended so Disqus has a canonical link for the thread:

App.vue
<template>
<article>
<h1>My First Post</h1>
<p>…post content…</p>
<DisqusComments
identifier="/blog/my-first-post"
url="https://example.com/blog/my-first-post"
/>
</article>
</template>

By default the thread is lazy — Disqus loads only when the comment section scrolls into view.

  • Comment Count — show a live count and link it to the thread.
  • SPA Blog — keep the thread in sync with client-side routing.