diff --git a/_templates/layout.html b/_templates/layout.html
index 286d9f866..9045ee124 100644
--- a/_templates/layout.html
+++ b/_templates/layout.html
@@ -66,6 +66,35 @@
{% endif %}
{% block body %}{% endblock %}
+
+{% if (not meta or meta.get('allow_comments') != 'False') and godot_show_article_comments %}
+
+User-contributed notes
+
+ Please read the User-contributed notes policy before submitting a comment.
+
+{# Use https://giscus.app/ to regenerate the script tag if needed. #}
+{# data-term is set to be language-independent and version-independent, so that comments can be centralized for each page. #}
+{# This increases the likelihood that users will encounter comments on less frequently visited pages. #}
+
+
+{% endif %}
+
{%- if self.comments()|trim %}
{%- block comments %}{% endblock %}
diff --git a/about/complying_with_licenses.rst b/about/complying_with_licenses.rst
index 6012e6396..3d805dc0f 100644
--- a/about/complying_with_licenses.rst
+++ b/about/complying_with_licenses.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_complying_with_licenses:
Complying with licenses
diff --git a/about/docs_changelog.rst b/about/docs_changelog.rst
index 7f662e6f4..6c432a56a 100644
--- a/about/docs_changelog.rst
+++ b/about/docs_changelog.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_docs_changelog:
Documentation changelog
diff --git a/about/faq.rst b/about/faq.rst
index 4c707379c..58da3c68f 100644
--- a/about/faq.rst
+++ b/about/faq.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. meta::
:keywords: FAQ
diff --git a/about/introduction.rst b/about/introduction.rst
index a6c9658d3..c3314f475 100644
--- a/about/introduction.rst
+++ b/about/introduction.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_about_intro:
Introduction
diff --git a/about/list_of_features.rst b/about/list_of_features.rst
index e34d76051..bb8b6623e 100644
--- a/about/list_of_features.rst
+++ b/about/list_of_features.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_list_of_features:
List of features
diff --git a/about/release_policy.rst b/about/release_policy.rst
index 47d720be0..777381eb9 100644
--- a/about/release_policy.rst
+++ b/about/release_policy.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_release_policy:
Godot release policy
diff --git a/community/asset_library/index.rst b/community/asset_library/index.rst
index 78bb27d58..c50b33c34 100644
--- a/community/asset_library/index.rst
+++ b/community/asset_library/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Asset Library
=============
diff --git a/conf.py b/conf.py
index 2b5846722..82e4c88e1 100644
--- a/conf.py
+++ b/conf.py
@@ -196,6 +196,8 @@ html_context = {
"godot_version": "4.3",
# Enables a banner that displays the up-to-date status of each article.
"godot_show_article_status": True,
+ # Display user-contributed notes at the bottom of pages that don't have `:allow_comments: False` at the top.
+ "godot_show_article_comments": on_rtd and not is_i18n,
}
html_logo = "img/docs_logo.svg"
diff --git a/contributing/development/compiling/index.rst b/contributing/development/compiling/index.rst
index 3327f5ede..9758d673c 100644
--- a/contributing/development/compiling/index.rst
+++ b/contributing/development/compiling/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Building from source
====================
diff --git a/contributing/development/configuring_an_ide/index.rst b/contributing/development/configuring_an_ide/index.rst
index b86249884..fedc764e9 100644
--- a/contributing/development/configuring_an_ide/index.rst
+++ b/contributing/development/configuring_an_ide/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_configuring_an_ide:
Configuring an IDE
diff --git a/contributing/development/core_and_modules/index.rst b/contributing/development/core_and_modules/index.rst
index d0f991fe9..a97df05f2 100644
--- a/contributing/development/core_and_modules/index.rst
+++ b/contributing/development/core_and_modules/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Engine core and modules
=======================
diff --git a/contributing/development/debugging/index.rst b/contributing/development/debugging/index.rst
index 78ababf5f..e72ba360f 100644
--- a/contributing/development/debugging/index.rst
+++ b/contributing/development/debugging/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Debugging and profiling
=======================
diff --git a/contributing/development/debugging/vulkan/index.rst b/contributing/development/debugging/vulkan/index.rst
index 4aad3c35f..44866960f 100644
--- a/contributing/development/debugging/vulkan/index.rst
+++ b/contributing/development/debugging/vulkan/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Vulkan
======
diff --git a/contributing/development/editor/index.rst b/contributing/development/editor/index.rst
index ec95117cb..6df59a08a 100644
--- a/contributing/development/editor/index.rst
+++ b/contributing/development/editor/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Editor development
==================
diff --git a/contributing/development/file_formats/index.rst b/contributing/development/file_formats/index.rst
index 99b4dcea3..ab281ec0c 100644
--- a/contributing/development/file_formats/index.rst
+++ b/contributing/development/file_formats/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Godot file formats
==================
diff --git a/contributing/development/index.rst b/contributing/development/index.rst
index 859bd06c6..a5a0cfe52 100644
--- a/contributing/development/index.rst
+++ b/contributing/development/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_contributing_to_the_engine:
Engine development
diff --git a/contributing/documentation/index.rst b/contributing/documentation/index.rst
index ea42f4161..68d8697ff 100644
--- a/contributing/documentation/index.rst
+++ b/contributing/documentation/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_contributing_writing_documentation:
Writing documentation
diff --git a/contributing/workflow/index.rst b/contributing/workflow/index.rst
index 7950396be..0c6e451e6 100644
--- a/contributing/workflow/index.rst
+++ b/contributing/workflow/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_contributing_workflow:
Contribution workflow
diff --git a/getting_started/first_2d_game/index.rst b/getting_started/first_2d_game/index.rst
index dae5cb5bc..868a7b4b3 100644
--- a/getting_started/first_2d_game/index.rst
+++ b/getting_started/first_2d_game/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_your_first_2d_game:
Your first 2D game
diff --git a/getting_started/first_3d_game/index.rst b/getting_started/first_3d_game/index.rst
index afeb90e17..87bb21297 100644
--- a/getting_started/first_3d_game/index.rst
+++ b/getting_started/first_3d_game/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
.. _doc_your_first_3d_game:
diff --git a/getting_started/introduction/index.rst b/getting_started/introduction/index.rst
index 55633431c..45e0bcb43 100644
--- a/getting_started/introduction/index.rst
+++ b/getting_started/introduction/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. Intention: provide the necessary information to make the most of the getting
started series, answering questions like "do I want to learn Godot?", "how
does it look and feel?", "how does it work?", and "how do I best learn it?".
diff --git a/getting_started/step_by_step/index.rst b/getting_started/step_by_step/index.rst
index aecec2f95..33edde127 100644
--- a/getting_started/step_by_step/index.rst
+++ b/getting_started/step_by_step/index.rst
@@ -1,4 +1,4 @@
-:article_outdated: False
+:allow_comments: False
Step by step
============
diff --git a/index.rst b/index.rst
index 62c1fa734..dc3c2d741 100644
--- a/index.rst
+++ b/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Godot Docs – *master* branch
============================
diff --git a/tutorials/2d/index.rst b/tutorials/2d/index.rst
index 3d1825a4c..27e67c9c6 100644
--- a/tutorials/2d/index.rst
+++ b/tutorials/2d/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
2D
==
diff --git a/tutorials/3d/global_illumination/index.rst b/tutorials/3d/global_illumination/index.rst
index bd9c666ad..926764772 100644
--- a/tutorials/3d/global_illumination/index.rst
+++ b/tutorials/3d/global_illumination/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_global_illumination:
Global illumination
diff --git a/tutorials/3d/index.rst b/tutorials/3d/index.rst
index 98d365df9..0c9c2164e 100644
--- a/tutorials/3d/index.rst
+++ b/tutorials/3d/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
3D
==
diff --git a/tutorials/3d/particles/index.rst b/tutorials/3d/particles/index.rst
index 76343db30..83c60fe6a 100644
--- a/tutorials/3d/particles/index.rst
+++ b/tutorials/3d/particles/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_3d_particles:
Particle systems (3D)
diff --git a/tutorials/3d/procedural_geometry/index.rst b/tutorials/3d/procedural_geometry/index.rst
index 52dee168a..470e97ebe 100644
--- a/tutorials/3d/procedural_geometry/index.rst
+++ b/tutorials/3d/procedural_geometry/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_procedural_geometry:
Procedural geometry
diff --git a/tutorials/animation/index.rst b/tutorials/animation/index.rst
index 19e838a96..07f3d7855 100644
--- a/tutorials/animation/index.rst
+++ b/tutorials/animation/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Animation
=========
diff --git a/tutorials/assets_pipeline/escn_exporter/index.rst b/tutorials/assets_pipeline/escn_exporter/index.rst
index 557690157..cf7488af6 100644
--- a/tutorials/assets_pipeline/escn_exporter/index.rst
+++ b/tutorials/assets_pipeline/escn_exporter/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Blender ESCN exporter
=====================
diff --git a/tutorials/assets_pipeline/importing_3d_scenes/index.rst b/tutorials/assets_pipeline/importing_3d_scenes/index.rst
index 09fe71d01..0bf4e38c5 100644
--- a/tutorials/assets_pipeline/importing_3d_scenes/index.rst
+++ b/tutorials/assets_pipeline/importing_3d_scenes/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_importing_3d_scenes:
Importing 3D scenes
diff --git a/tutorials/assets_pipeline/index.rst b/tutorials/assets_pipeline/index.rst
index fee8775f0..0069fa8c8 100644
--- a/tutorials/assets_pipeline/index.rst
+++ b/tutorials/assets_pipeline/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Assets pipeline
===============
diff --git a/tutorials/audio/index.rst b/tutorials/audio/index.rst
index f2a96bd8c..60aaf8afb 100644
--- a/tutorials/audio/index.rst
+++ b/tutorials/audio/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
:article_outdated: True
Audio
diff --git a/tutorials/best_practices/index.rst b/tutorials/best_practices/index.rst
index 2f5040156..fcee000ba 100644
--- a/tutorials/best_practices/index.rst
+++ b/tutorials/best_practices/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Best practices
==============
diff --git a/tutorials/editor/index.rst b/tutorials/editor/index.rst
index ff9d40cb8..9e2345ca0 100644
--- a/tutorials/editor/index.rst
+++ b/tutorials/editor/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
Editor introduction
diff --git a/tutorials/export/index.rst b/tutorials/export/index.rst
index 5d9674f00..6bf26611b 100644
--- a/tutorials/export/index.rst
+++ b/tutorials/export/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Export
======
diff --git a/tutorials/i18n/index.rst b/tutorials/i18n/index.rst
index f1278e800..51dba86df 100644
--- a/tutorials/i18n/index.rst
+++ b/tutorials/i18n/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Internationalization
====================
diff --git a/tutorials/inputs/index.rst b/tutorials/inputs/index.rst
index c1e19cdfe..bc2274c0a 100644
--- a/tutorials/inputs/index.rst
+++ b/tutorials/inputs/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Input handling
==============
diff --git a/tutorials/io/index.rst b/tutorials/io/index.rst
index 9c7f5bb14..c007f24d3 100644
--- a/tutorials/io/index.rst
+++ b/tutorials/io/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
File and data I/O
=================
diff --git a/tutorials/math/index.rst b/tutorials/math/index.rst
index 71ceeb3a2..0462de7fc 100644
--- a/tutorials/math/index.rst
+++ b/tutorials/math/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Math
====
diff --git a/tutorials/migrating/index.rst b/tutorials/migrating/index.rst
index aace1cd74..01653803f 100644
--- a/tutorials/migrating/index.rst
+++ b/tutorials/migrating/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Migrating to a new version
==========================
diff --git a/tutorials/navigation/index.rst b/tutorials/navigation/index.rst
index 68becd284..d4ce2697d 100644
--- a/tutorials/navigation/index.rst
+++ b/tutorials/navigation/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Navigation
==========
diff --git a/tutorials/networking/index.rst b/tutorials/networking/index.rst
index 7ef2dc0f1..f76f73ab6 100644
--- a/tutorials/networking/index.rst
+++ b/tutorials/networking/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
Networking
diff --git a/tutorials/performance/index.rst b/tutorials/performance/index.rst
index f1c7ad1f3..3ece173e1 100644
--- a/tutorials/performance/index.rst
+++ b/tutorials/performance/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_performance:
Performance
diff --git a/tutorials/performance/vertex_animation/index.rst b/tutorials/performance/vertex_animation/index.rst
index fe3c4017d..235f89f41 100644
--- a/tutorials/performance/vertex_animation/index.rst
+++ b/tutorials/performance/vertex_animation/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
Animating thousands of objects
diff --git a/tutorials/physics/index.rst b/tutorials/physics/index.rst
index 4ba2acd29..d22049116 100644
--- a/tutorials/physics/index.rst
+++ b/tutorials/physics/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Physics
=======
diff --git a/tutorials/platform/android/index.rst b/tutorials/platform/android/index.rst
index 2caaa8b70..1fb8835b1 100644
--- a/tutorials/platform/android/index.rst
+++ b/tutorials/platform/android/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Android
=======
diff --git a/tutorials/platform/index.rst b/tutorials/platform/index.rst
index a4ceb041c..d240db4e9 100644
--- a/tutorials/platform/index.rst
+++ b/tutorials/platform/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
Platform-specific
diff --git a/tutorials/platform/ios/index.rst b/tutorials/platform/ios/index.rst
index ff65be5f3..7c6133fa3 100644
--- a/tutorials/platform/ios/index.rst
+++ b/tutorials/platform/ios/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
iOS plugins
diff --git a/tutorials/platform/web/index.rst b/tutorials/platform/web/index.rst
index 777426792..6bb103473 100644
--- a/tutorials/platform/web/index.rst
+++ b/tutorials/platform/web/index.rst
@@ -1,3 +1,4 @@
+:allow_comments: False
:article_outdated: True
.. _doc_platform_html5:
diff --git a/tutorials/plugins/editor/index.rst b/tutorials/plugins/editor/index.rst
index cf23badec..b85fc1503 100644
--- a/tutorials/plugins/editor/index.rst
+++ b/tutorials/plugins/editor/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Editor plugins
==============
diff --git a/tutorials/plugins/index.rst b/tutorials/plugins/index.rst
index 06fb555d7..aeffbbd58 100644
--- a/tutorials/plugins/index.rst
+++ b/tutorials/plugins/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Plugins
=======
diff --git a/tutorials/rendering/index.rst b/tutorials/rendering/index.rst
index 5274087a0..1405ed24c 100644
--- a/tutorials/rendering/index.rst
+++ b/tutorials/rendering/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Rendering
=========
diff --git a/tutorials/scripting/c_sharp/diagnostics/index.rst b/tutorials/scripting/c_sharp/diagnostics/index.rst
index c8ec2d44b..a54976dac 100644
--- a/tutorials/scripting/c_sharp/diagnostics/index.rst
+++ b/tutorials/scripting/c_sharp/diagnostics/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_c_sharp_diagnostics:
C# diagnostics
diff --git a/tutorials/scripting/c_sharp/index.rst b/tutorials/scripting/c_sharp/index.rst
index ffb39f460..6f61875b0 100644
--- a/tutorials/scripting/c_sharp/index.rst
+++ b/tutorials/scripting/c_sharp/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
C#/.NET
=======
@@ -8,7 +10,6 @@ The standard Godot executable does not contain C# support out of the box. Instea
to enable C# support for your project you need to `download a .NET version `_
of the editor from the Godot website.
-
.. toctree::
:maxdepth: 1
:name: toc-learn-scripting-C#
diff --git a/tutorials/scripting/debug/index.rst b/tutorials/scripting/debug/index.rst
index a6bba65fd..6975087fa 100644
--- a/tutorials/scripting/debug/index.rst
+++ b/tutorials/scripting/debug/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Debug
=====
diff --git a/tutorials/scripting/gdextension/index.rst b/tutorials/scripting/gdextension/index.rst
index 963dcc31e..389a21db9 100644
--- a/tutorials/scripting/gdextension/index.rst
+++ b/tutorials/scripting/gdextension/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
GDExtension
===========
diff --git a/tutorials/scripting/gdscript/index.rst b/tutorials/scripting/gdscript/index.rst
index 4a0a3c39e..8ad213e11 100644
--- a/tutorials/scripting/gdscript/index.rst
+++ b/tutorials/scripting/gdscript/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
GDScript
========
diff --git a/tutorials/scripting/index.rst b/tutorials/scripting/index.rst
index 3d3ca7fef..0f4e979a5 100644
--- a/tutorials/scripting/index.rst
+++ b/tutorials/scripting/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Scripting
=========
diff --git a/tutorials/shaders/index.rst b/tutorials/shaders/index.rst
index ac1f32397..a1cfd2054 100644
--- a/tutorials/shaders/index.rst
+++ b/tutorials/shaders/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Shaders
=======
diff --git a/tutorials/shaders/shader_reference/index.rst b/tutorials/shaders/shader_reference/index.rst
index 9e1edd43b..e6822c55b 100644
--- a/tutorials/shaders/shader_reference/index.rst
+++ b/tutorials/shaders/shader_reference/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Shading reference
=================
diff --git a/tutorials/shaders/your_first_shader/index.rst b/tutorials/shaders/your_first_shader/index.rst
index 00bc69ead..856f7917b 100644
--- a/tutorials/shaders/your_first_shader/index.rst
+++ b/tutorials/shaders/your_first_shader/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
Your first shader
=================
diff --git a/tutorials/ui/index.rst b/tutorials/ui/index.rst
index 11ee1c181..751cced83 100644
--- a/tutorials/ui/index.rst
+++ b/tutorials/ui/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
.. _doc_user_interface:
User interface (UI)
diff --git a/tutorials/xr/index.rst b/tutorials/xr/index.rst
index a48450019..563d1af1c 100644
--- a/tutorials/xr/index.rst
+++ b/tutorials/xr/index.rst
@@ -1,3 +1,5 @@
+:allow_comments: False
+
XR
==