diff --git a/docs/getting-started.md b/docs/getting-started.md
index fcac49eb105b33676b639f930c97ca277379fc2c..13d23a34421a4c22c6d465d0e5ed83c7367e153d 100644
--- a/docs/getting-started.md
+++ b/docs/getting-started.md
@@ -580,7 +580,7 @@ in your `mkdocs.yml`:
 
 ``` yaml
 extra:
-  disqus: 'mkdocs-material'
+  disqus: 'your-shortname'
 ```
 
 The comments section is inserted on *every page, except the index page*.
diff --git a/material/base.html b/material/base.html
index a1650e0a28b409f50bbf83d059dbd68e6b977f32..428f38be63af9ececad67c0445f61091b2469dd5 100644
--- a/material/base.html
+++ b/material/base.html
@@ -154,8 +154,8 @@
                 {% endblock %}
               {% endblock %}
               {% block disqus %}
-                {% if config.extra.disqus and not page.is_homepage %}
-                  <h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
+                {% if (config.extra.disqus and not page.is_homepage) or
+                      (page and page.meta and page.meta.disqus) %}
                   {% include "partials/integrations/disqus.html" %}
                 {% endif %}
               {% endblock %}
diff --git a/material/partials/integrations/disqus.html b/material/partials/integrations/disqus.html
index 5f003ca41d9ed849d8f66186e4d8a8388e4154b4..666ca08c6b47ce3d232a3471b3390c9372319c2f 100644
--- a/material/partials/integrations/disqus.html
+++ b/material/partials/integrations/disqus.html
@@ -1,14 +1,21 @@
-<div id="disqus_thread"></div>
-<script>
-  var disqus_config = function () {
-    this.page.url = "{{ page.canonical_url }}";
-    this.page.identifier =
-      "{{ page.canonical_url | replace(config.site_url, "") }}";
-  };
-  (function() {
-    var d = document, s = d.createElement("script");
-    s.src = "//{{ config.extra.disqus }}.disqus.com/embed.js";
-    s.setAttribute("data-timestamp", +new Date());
-    (d.head || d.body).appendChild(s);
-  })();
-</script>
+{% set disqus = config.extra.disqus %}
+{% if page and page.meta and page.meta.disqus is string %}
+  {% set disqus = page.meta.disqus %}
+{% endif %}
+{% if disqus %}
+  <h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
+  <div id="disqus_thread"></div>
+  <script>
+    var disqus_config = function () {
+      this.page.url = "{{ page.canonical_url }}";
+      this.page.identifier =
+        "{{ page.canonical_url | replace(config.site_url, "") }}";
+    };
+    (function() {
+      var d = document, s = d.createElement("script");
+      s.src = "//{{ disqus }}.disqus.com/embed.js";
+      s.setAttribute("data-timestamp", +new Date());
+      (d.head || d.body).appendChild(s);
+    })();
+  </script>
+{% endif %}
diff --git a/material/partials/toc.html b/material/partials/toc.html
index f268ac0c6cf3f2784593e798b32ab7b3193b27cf..482d679851d0184e3b9c73ab22c96397df31117b 100644
--- a/material/partials/toc.html
+++ b/material/partials/toc.html
@@ -17,7 +17,11 @@
           </a>
         </li>
       {% endif %}
-      {% if config.extra.disqus and not page.is_homepage %}
+      {% set disqus = config.extra.disqus %}
+      {% if page and page.meta and page.meta.disqus is string %}
+        {% set disqus = page.meta.disqus %}
+      {% endif %}
+      {% if disqus %}
         <li class="md-nav__item">
           <a href="#__comments" title="{{ lang.t('meta.comments') }}" class="md-nav__link md-nav__link--active">
             {{ lang.t("meta.comments") }}
diff --git a/src/base.html b/src/base.html
index 092b6adc5f05f6ed804cc59f648ef7632d7fdf97..edefba32518966a6582c46e7930f3c9cc861cf0f 100644
--- a/src/base.html
+++ b/src/base.html
@@ -288,8 +288,8 @@
 
               <!-- Disqus integration -->
               {% block disqus %}
-                {% if config.extra.disqus and not page.is_homepage %}
-                  <h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
+                {% if (config.extra.disqus and not page.is_homepage) or
+                      (page and page.meta and page.meta.disqus) %}
                   {% include "partials/integrations/disqus.html" %}
                 {% endif %}
               {% endblock %}
diff --git a/src/partials/integrations/disqus.html b/src/partials/integrations/disqus.html
index f8a458e29e921cb6c526f5c36dbc6a5b6ebb5eda..1cdfec838f827b8a39c816f1188dcbbc1f9776b6 100644
--- a/src/partials/integrations/disqus.html
+++ b/src/partials/integrations/disqus.html
@@ -20,18 +20,27 @@
   IN THE SOFTWARE.
 -->
 
+<!-- Set from config but allow override -->
+{% set disqus = config.extra.disqus %}
+{% if page and page.meta and page.meta.disqus is string %}
+  {% set disqus = page.meta.disqus %}
+{% endif %}
+
 <!-- Disqus integration -->
-<div id="disqus_thread"></div>
-<script>
-  var disqus_config = function () {
-    this.page.url = "{{ page.canonical_url }}";
-    this.page.identifier =
-      "{{ page.canonical_url | replace(config.site_url, "") }}";
-  };
-  (function() {
-    var d = document, s = d.createElement("script");
-    s.src = "//{{ config.extra.disqus }}.disqus.com/embed.js";
-    s.setAttribute("data-timestamp", +new Date());
-    (d.head || d.body).appendChild(s);
-  })();
-</script>
+{% if disqus %}
+  <h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
+  <div id="disqus_thread"></div>
+  <script>
+    var disqus_config = function () {
+      this.page.url = "{{ page.canonical_url }}";
+      this.page.identifier =
+        "{{ page.canonical_url | replace(config.site_url, "") }}";
+    };
+    (function() {
+      var d = document, s = d.createElement("script");
+      s.src = "//{{ disqus }}.disqus.com/embed.js";
+      s.setAttribute("data-timestamp", +new Date());
+      (d.head || d.body).appendChild(s);
+    })();
+  </script>
+{% endif %}
diff --git a/src/partials/toc.html b/src/partials/toc.html
index 5a37edf1cc476eff0c152998c4bd518f75133045..7265119f3f8c5eca33bddc73d586ca81df55e9cf 100644
--- a/src/partials/toc.html
+++ b/src/partials/toc.html
@@ -55,7 +55,11 @@
       {% endif %}
 
       <!-- Disqus integration -->
-      {% if config.extra.disqus and not page.is_homepage %}
+      {% set disqus = config.extra.disqus %}
+      {% if page and page.meta and page.meta.disqus is string %}
+        {% set disqus = page.meta.disqus %}
+      {% endif %}
+      {% if disqus %}
         <li class="md-nav__item">
           <a href="#__comments" title="{{ lang.t('meta.comments') }}"
               class="md-nav__link md-nav__link--active">