diff --git a/mkdocs.yml b/mkdocs.yml
index b1dafc18df3..9b169116c48 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -135,6 +135,7 @@ nav:
               - Flow: docs/reference/modules/Flow/README.md
               - Bag: docs/reference/modules/Flow/BagPart.md
               - Publish Later: docs/reference/modules/PublishLater/README.md
+              - SEO Meta: docs/reference/modules/Seo/README.md
           - Content Fields: docs/reference/modules/ContentFields/README.md
           - Content Preview: docs/reference/modules/ContentPreview/README.md
           - Content Localization: docs/reference/modules/ContentLocalization/README.md
@@ -178,12 +179,14 @@ nav:
           - Home Route: docs/reference/modules/HomeRoute/README.md
           - Feeds: docs/reference/modules/Feeds/README.md
       - Core Modules:
+          - Audit Trail: docs/reference/modules/AuditTrail/README.md
           - Auto Setup: docs/reference/modules/AutoSetup/README.md
           - Features: docs/reference/modules/Features/README.md
           - Contents: docs/reference/modules/Contents/README.md
           - Configuration: docs/reference/core/Configuration/README.md
           - Cors: docs/reference/modules/Cors/README.md
           - Custom Settings: docs/reference/modules/CustomSettings/README.md
+          - Deployment: docs/reference/modules/Deployment/README.md
           - Placement: docs/reference/core/Placement/README.md
           - Data: docs/reference/core/Data/README.md
           - Data Migrations: docs/reference/modules/Migrations/README.md
@@ -201,6 +204,8 @@ nav:
           - OpenId: docs/reference/modules/OpenId/README.md
           - Razor Helpers: docs/reference/core/Razor/README.md
           - Recipes: docs/reference/modules/Recipes/README.md
+          - Redis: docs/reference/modules/Redis/README.md
+          - Remote Deployment: docs/reference/modules/Deployment.Remote/README.md
           - Response Compression: docs/reference/modules/ResponseCompression/README.md
           - Roles: docs/reference/modules/Roles/README.md
           - Sanitizer: docs/reference/core/Sanitizer/README.md
diff --git a/src/OrchardCore.Build/OrchardCore.Commons.props b/src/OrchardCore.Build/OrchardCore.Commons.props
index a5786f7de01..ba57833dac0 100644
--- a/src/OrchardCore.Build/OrchardCore.Commons.props
+++ b/src/OrchardCore.Build/OrchardCore.Commons.props
@@ -28,12 +28,12 @@
     <!--This is used to generate symbol package for Source Link-->
     <IncludeSymbols>true</IncludeSymbols>
     <SymbolPackageFormat>snupkg</SymbolPackageFormat>
-    
+
     <!-- This is used by GitHub Repository to find which repository should contain the package when updloaded -->
     <RepositoryUrl>https://github.com/OrchardCMS/OrchardCore</RepositoryUrl>
     <PackageProjectUrl>https://www.orchardcore.net/</PackageProjectUrl>
     <PackageLicenseExpression>BSD-3-Clause</PackageLicenseExpression>
-    
+
     <PackageTags>OrchardCore</PackageTags>
     <Copyright>Orchard Core Community and Contributors</Copyright>
     <Authors>Orchard Core Community and Contributors</Authors>
@@ -41,12 +41,12 @@
   </PropertyGroup>
 
   <ItemGroup>
-      <!--This is used for Source Link -->
-       <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
-      <None Include="$(MSBuildThisFileDirectory)/nuget-icon.png">
-        <Pack>True</Pack>
-        <PackagePath>icon.png</PackagePath>
-      </None>
+    <!--This is used for Source Link -->
+    <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
+    <None Include="$(MSBuildThisFileDirectory)/nuget-icon.png">
+      <Pack>True</Pack>
+      <PackagePath>icon.png</PackagePath>
+    </None>
   </ItemGroup>
 
 </Project>
diff --git a/src/README.md b/src/README.md
index a90e8e40902..bd73c4c88fe 100644
--- a/src/README.md
+++ b/src/README.md
@@ -97,3 +97,7 @@ For more details on the various development tools we recommend for using with Or
 - Run `docker run --name orchardcms orchardproject/orchardcore-cms-linux:latest`
 
 Docker images and parameters can be found at <https://hub.docker.com/u/orchardproject/>
+
+## Showcasing Orchard Core CMS
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Gfy5SCACyL8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/getting-started/starter-recipes.md b/src/docs/getting-started/starter-recipes.md
index eec7637e86b..ef19f149369 100644
--- a/src/docs/getting-started/starter-recipes.md
+++ b/src/docs/getting-started/starter-recipes.md
@@ -31,19 +31,18 @@ Orchard Core Display Management techniques to render content.
 
 ## OrchardCore.Application.Cms.Core.Targets
 
-### Empty Recipe
+### Blank Recipe
 
-The Empty recipe enables content management features, but does not set a current theme.
+The Blank recipe enables content management features, but does not set a current theme.
 You can use this recipe when starting Orchard Core in Decoupled Mode,
 or when building your own theme.
 
 Alternatively you can start with another recipe,
 and change the active theme after setup.
 
-#### Empty Recipe Contents 
+#### Blank Recipe Contents 
 
 - Content management features
-- Enables templating via Liquid
 - Activates `TheAdmin` theme
 
 ### Headless Recipe
@@ -62,6 +61,10 @@ as an API, and Content Management System, with Administrator access to the host.
     You will want to review the default security configuration to be certain
     it suits your requirements.
 
+## Headless Recipe Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/dbABI1wECPg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## OrchardCore.Application.Cms.Targets
 
 ### TheBlogTheme and Blog Recipe
diff --git a/src/docs/guides/decoupled-cms/README.md b/src/docs/guides/decoupled-cms/README.md
index 4cb78e28b70..0c6f0a8c35c 100644
--- a/src/docs/guides/decoupled-cms/README.md
+++ b/src/docs/guides/decoupled-cms/README.md
@@ -387,3 +387,7 @@ In this tutorial we have learned how to
 - Create Razor Pages with custom routes to render then content
 - Load content items with different identifiers
 - Render wysiwyg preview screens while editing the content
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/yWpz8p-oaKg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
diff --git a/src/docs/reference/README.md b/src/docs/reference/README.md
index 1be0c9d7876..10c92b97dd7 100644
--- a/src/docs/reference/README.md
+++ b/src/docs/reference/README.md
@@ -22,6 +22,7 @@ Here's a categorized overview of all built-in Orchard Core features at a glance.
 
 ### App security
 
+- [Audit Trail](modules/AuditTrail/README.md)
 - [CORS](modules/Cors/README.md)
 - [ReCaptcha](modules/ReCaptcha/README.md)
 - [Sanitizer](core/Sanitizer/README.md) 
@@ -55,6 +56,7 @@ Here's a categorized overview of all built-in Orchard Core features at a glance.
   - [Flow](modules/Flow/README.md) 
   - [Bag](modules/Flow/BagPart.md)
   - [Publish Later](modules/PublishLater/README.md)
+  - [SEO Meta](modules/Seo/README.md)
 - [Content Fields](modules/ContentFields/README.md)
 - [Content Preview](modules/ContentPreview/README.md)
 - [Taxonomies](modules/Taxonomies/README.md)
@@ -109,6 +111,9 @@ Here's a categorized overview of all built-in Orchard Core features at a glance.
 - [Mini Profiler](modules/MiniProfiler/README.md)
 - [Response Compression](modules/ResponseCompression/README.md)
 - [Email](modules/Email/README.md)
+- [Redis](modules/Redis/README.md)
+- [Deployment](modules/Deployment/README.md)
+- [Remote Deployment](modules/Deployment.Remote/README.md)
 
 ### Localization
 
diff --git a/src/docs/reference/core/Placement/README.md b/src/docs/reference/core/Placement/README.md
index 3a97583da0b..60d077dd16b 100644
--- a/src/docs/reference/core/Placement/README.md
+++ b/src/docs/reference/core/Placement/README.md
@@ -310,4 +310,4 @@ We also specify that the `Content` column will take 9 columns, of the default 12
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/h0lZMQkUApo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/h0lZMQkUApo" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/AdminDashboard/README.md b/src/docs/reference/modules/AdminDashboard/README.md
index c5440e703b3..bf843ad3384 100644
--- a/src/docs/reference/modules/AdminDashboard/README.md
+++ b/src/docs/reference/modules/AdminDashboard/README.md
@@ -4,8 +4,8 @@ The Admin Dashboard module provides a customizable admin dashboard for your site
 
 ## Widgets
 
-#### Videos
+### Videos
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/MQuiXEnyEBw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/MQuiXEnyEBw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/c7aiCPi2-BM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/c7aiCPi2-BM" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
diff --git a/src/docs/reference/modules/AuditTrail/README.md b/src/docs/reference/modules/AuditTrail/README.md
new file mode 100644
index 00000000000..1a2c4d608f5
--- /dev/null
+++ b/src/docs/reference/modules/AuditTrail/README.md
@@ -0,0 +1,58 @@
+# Audit Trail (`OrchardCore.AuditTrail`)
+
+The Audit Trail module provides an immutable (for users, even administrators but not for developers), auditable log of certain changes and events in the system. This includes e.g. creation or deletion of content items, and events like user login failures. For content items, previous versions and deleted items can be restored, and changes can be tracked.
+
+## General Concepts
+
+Audit Trail events are created if a certain supported event happened in the system. While there are several built-in event handlers for the most important events, this is extensible and module authors can provide their own ones.
+
+Once you've enabled the module, you will see a new menu item in the admin UI called *Audit Trail*. The list there shows you the logged Audit Trail events.
+
+## Using the Audit Trail event list
+
+The Audit Trail event list provides you with filtering and pagination to be able to find the Audit Trail events that you are looking for easily. By default, you can filter by the following criteria:
+
+- A given date range,
+- categories (e.g. *All categories*, *Content*, *User*).
+
+Also, you can sort entries by various parameters.
+
+Events provide various details on their line:
+
+- The category and type of event (e.g. *Content* and *Published*).
+- The time when the event was recorded.
+- The user initiating the event.
+- An event-specific quick summary, if any. E.g. events of the *Content* category show you the version and title of the content item. If you click on the *Version X* link you can see the read-only editor of the content item filled with the values that the content item has at that version. If you click on the display text of the content item, you can edit the latest version of the content item.
+- Event-specific buttons, if any. E.g. events of the *Content* category will display a *View* button that you can use to view the content item at the given version, and a *Restore* button that you can use to restore the content item to the version even if the item was deleted (the restored item will be created as a draft version that you then need to publish).
+- A *Details* link. Here you can get more general information about the given event, as well as event handlers can provide custom information. E.g. if you check out the *Detail* view of a *Content* event you can also see the textual differences between the current version of the content item and the previous version under the *Diff* tab. The values of the current version will be shown in green, and the values of the previous version will be shown in red.
+
+## Audit Trail Settings 
+
+If you navigate to Configuration -> Settings -> Audit Trail, you will see various configuration options, depending on the enabled Audit Trail features:
+
+- A list that contains every event that you can record using the Audit Trail module. Here you can enable or disable the recording of the given events.
+- You can enable client IP address logging. When you enable this, the client IP address will be recorded in Audit Trail events. Note that depending on the legislation your site operates in, you need to take special care to collect and store such Personal Identifiable Information.
+- The *Trimming* settings are about configuring how long you would like to keep the Audit Trail events in the database. You can disable trimming if you would like to keep the events indefinitely.
+- Further tabs can be added. E.g. the *Content* tab allows you to select items of which content types you want to record Audit Trail events for.
+
+## Audit Trail Part
+
+You can attach the `AuditTrailPart` content part to your content type. This will allow content editors to enter a comment to be saved into the Audit Trail event when saving a content item. This will then be visible in the Audit Trail event list.
+
+## Recording Custom Events
+
+Orchard Core is built to be extended, and the Audit Trail module is no different. So, when creating your own module, you can log your events with Audit Trail too. Check out the source of the `OrchardCore.Users` or `OrchardCore.Contents` modules for examples.
+
+## Videos
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ko0jEgQtXYc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/t28rnjYtlJc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+## CREDITS
+
+### jsdiff
+
+<https://github.com/kpdecker/jsdiff>  
+Copyright (c) 2009-2015, Kevin Decker, <kpdecker@gmail.com>  
+License: Software License Agreement (BSD License)
\ No newline at end of file
diff --git a/src/docs/reference/modules/ContentFields/README.md b/src/docs/reference/modules/ContentFields/README.md
index d81e3229221..532af80e3f3 100644
--- a/src/docs/reference/modules/ContentFields/README.md
+++ b/src/docs/reference/modules/ContentFields/README.md
@@ -238,14 +238,14 @@ When adding the field to a content type, use the settings to specify whether to
 
 #### Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/vqXwK69vtMw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/vqXwK69vtMw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 
 ### `MultiText Field`
 
 #### Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/WfP_rXz1id0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/WfP_rXz1id0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 ## Creating Custom Fields
 
diff --git a/src/docs/reference/modules/ContentParts/README.md b/src/docs/reference/modules/ContentParts/README.md
index e338b413803..69bf82569b0 100644
--- a/src/docs/reference/modules/ContentParts/README.md
+++ b/src/docs/reference/modules/ContentParts/README.md
@@ -22,3 +22,5 @@ Orchard Core allows you to add Parts to a content type.
 | [`Preview`](../../modules/ContentPreview/README.md) | Allows you to add a preview button. |
 | [`PublishLater`](../../modules/PublishLater/README.md) | Allows you to set a date in order to publish later. |
 | [`ReCaptcha`](../../modules/ReCaptcha/README.md) | Allows you to add a ReCaptcha. |
+| [`SeoMeta`](../../modules/Seo/README.md) | Allows you to configure SEO meta tags. |
+| [`AuditTrail`](../../modules/AuditTrail/README.md) | Allows you to add a comment describing the changes of a content item, to be recorded to the Audit Trail. |
diff --git a/src/docs/reference/modules/Contents/README.md b/src/docs/reference/modules/Contents/README.md
index c8a8b9b1685..f0c1de802c9 100644
--- a/src/docs/reference/modules/Contents/README.md
+++ b/src/docs/reference/modules/Contents/README.md
@@ -407,3 +407,9 @@ query {
   }
 }
 ```
+
+## Videos
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/j6xuupq9FYY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/wbTEUl_N0Lk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Cors/README.md b/src/docs/reference/modules/Cors/README.md
index a78477b4767..e5e7c381db9 100644
--- a/src/docs/reference/modules/Cors/README.md
+++ b/src/docs/reference/modules/Cors/README.md
@@ -9,3 +9,7 @@ For more information, see https://docs.microsoft.com/en-us/aspnet/core/security/
 
 !!! warning
     As using AllowCredentials and AllowAnyOrigin at the same time is considered as a security risk, policies containing BOTH these options will NOT be activated.
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/OYXFvKWyVGo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/CustomSettings/README.md b/src/docs/reference/modules/CustomSettings/README.md
index 7d87f4113ed..b9f89020b80 100644
--- a/src/docs/reference/modules/CustomSettings/README.md
+++ b/src/docs/reference/modules/CustomSettings/README.md
@@ -62,4 +62,4 @@ public class MyController : Controller
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/RuDsBx4wdT0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/RuDsBx4wdT0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Deployment.Remote/README.md b/src/docs/reference/modules/Deployment.Remote/README.md
new file mode 100644
index 00000000000..5c491ca2882
--- /dev/null
+++ b/src/docs/reference/modules/Deployment.Remote/README.md
@@ -0,0 +1,3 @@
+# Remote Deployment (`OrchardCore.Deployment.Remote`)
+
+Provides the ability to export and import to and from a remote server via [Deployment](../Deployment/README.md). This way, you can move your content and configuration between remote Orchard Core sites.
\ No newline at end of file
diff --git a/src/docs/reference/modules/Deployment/README.md b/src/docs/reference/modules/Deployment/README.md
new file mode 100644
index 00000000000..c2f2d7d0766
--- /dev/null
+++ b/src/docs/reference/modules/Deployment/README.md
@@ -0,0 +1,7 @@
+# Deployment (`OrchardCore.Deployment`)
+
+Provides features to move content and configuration between Orchard Core sites via [Recipes](../Recipes/README.md). Also see [Remote Deployment](../Deployment.Remote/README.md).
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/wBWa28iHWHI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Flow/README.md b/src/docs/reference/modules/Flow/README.md
index 93210a6af12..bd7a4af9f51 100644
--- a/src/docs/reference/modules/Flow/README.md
+++ b/src/docs/reference/modules/Flow/README.md
@@ -27,3 +27,7 @@ And if you'd like to use the same template for Flow parts that have items and Fl
     }
   ]
 ```
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ufEhMXYZPy4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Html/README.md b/src/docs/reference/modules/Html/README.md
index 6909e4845f5..1cd9985f1aa 100644
--- a/src/docs/reference/modules/Html/README.md
+++ b/src/docs/reference/modules/Html/README.md
@@ -52,7 +52,7 @@ There are three predefined editor names:
 
 #### Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/lnjdRildsL8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/lnjdRildsL8" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 ### Custom Editors
 
diff --git a/src/docs/reference/modules/Liquid/README.md b/src/docs/reference/modules/Liquid/README.md
index 9c7edcefa4b..23a471451eb 100644
--- a/src/docs/reference/modules/Liquid/README.md
+++ b/src/docs/reference/modules/Liquid/README.md
@@ -901,23 +901,23 @@ Using `helper` invokes the `validation_for` tag helper of ASP.NET Core with `spa
 
 ### `link`
 
-Invokes the `link` tag helper from the `Orchard.ResourceManagement` package. [see this section](../Resources/README.md#link-tag)
+Invokes the `link` tag helper from the `Orchard.ResourceManagement` package. [See this section.](../Resources/README.md#link-tag)
 
 ### `meta`
 
-Invokes the `meta` tag helper from the `Orchard.ResourceManagement` package. [see this section](../Resources/README.md#meta-tags)
+Invokes the `meta` tag helper from the `Orchard.ResourceManagement` package. [See this section.](../Resources/README.md#meta-tags)
 
 ### `resources`
 
-Invokes the `resources` tag helper from the `Orchard.ResourceManagement` package. [see this section](../Resources/README.md#rendering)
+Invokes the `resources` tag helper from the `Orchard.ResourceManagement` package. [See this section.](../Resources/README.md#rendering)
 
 ### `script`
 
-Invokes the `script` tag helper from the `Orchard.ResourceManagement` package. [see this section](../Resources/README.md#inline-definition)
+Invokes the `script` tag helper from the `Orchard.ResourceManagement` package. [See this section.](../Resources/README.md#inline-definition)
 
 ### `style`
 
-Invokes the `style` tag helper from the `Orchard.ResourceManagement` package. [see this section](../Resources/README.md#inline-definition)
+Invokes the `style` tag helper from the `Orchard.ResourceManagement` package. [See this section.](../Resources/README.md#inline-definition)
 
 ### `a`
 
diff --git a/src/docs/reference/modules/Lists/README.md b/src/docs/reference/modules/Lists/README.md
index 5e799ae7ee0..099bc4cfdec 100644
--- a/src/docs/reference/modules/Lists/README.md
+++ b/src/docs/reference/modules/Lists/README.md
@@ -86,7 +86,7 @@ The `list_items` filter loads published content items for a given `ContentItem`
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/a3yyR27vdQQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/a3yyR27vdQQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 ## Lucene Indexing
 
diff --git a/src/docs/reference/modules/Lucene/README.md b/src/docs/reference/modules/Lucene/README.md
index b8a7569f53c..7696c9588c1 100644
--- a/src/docs/reference/modules/Lucene/README.md
+++ b/src/docs/reference/modules/Lucene/README.md
@@ -133,4 +133,8 @@ So you can use :
 `geo_bounding_box`  
 
 See ElasticSearch documentation for more details : 
-https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
\ No newline at end of file
+https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/9EgZ_J1npw4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Media/README.md b/src/docs/reference/modules/Media/README.md
index edf0591b2a1..2f12d90b97a 100644
--- a/src/docs/reference/modules/Media/README.md
+++ b/src/docs/reference/modules/Media/README.md
@@ -497,12 +497,14 @@ To set up indexing for Media do the following:
 
 ## Videos
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/BQHUlvPFRR4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/BQHUlvPFRR4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/K0_i4vj00yM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/K0_i4vj00yM" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 <iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/bDxL2LPJPzk" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Nb5GUqM7ZzI" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
 ## Credits
 
 To index PDF files the [PdfPig library](https://github.com/UglyToad/PdfPig/) is used.
diff --git a/src/docs/reference/modules/Menu/README.md b/src/docs/reference/modules/Menu/README.md
index 9f1e8a2ed0c..59b0a1d3a19 100644
--- a/src/docs/reference/modules/Menu/README.md
+++ b/src/docs/reference/modules/Menu/README.md
@@ -246,3 +246,7 @@ function activateLinks(options,cb)
 
 <https://github.com/ilikenwf/nestedSortable>  
 License: MIT
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/mOhbqHKd_CI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/PublishLater/README.md b/src/docs/reference/modules/PublishLater/README.md
index 2ed27ae5774..1d2828063cb 100644
--- a/src/docs/reference/modules/PublishLater/README.md
+++ b/src/docs/reference/modules/PublishLater/README.md
@@ -4,4 +4,4 @@ Adds the ability to schedule content items to be published at a given future dat
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/E7UH8R14EUA" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/E7UH8R14EUA" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Recipes/README.md b/src/docs/reference/modules/Recipes/README.md
index b0424b64010..a8604a932b8 100644
--- a/src/docs/reference/modules/Recipes/README.md
+++ b/src/docs/reference/modules/Recipes/README.md
@@ -302,7 +302,7 @@ The WorkflowType step allows you to create a Workflow.
 
 ### Deployment Step
 
-The Deployment step allows you to create a deployment plan with deployment steps.
+The Deployment step allows you to create a deployment plan with deployment steps. Also see [Deployment](../Deployment/README.md).
 
 ```json
     {
@@ -500,3 +500,11 @@ And here are the migration recipes referenced in the code above:
     ]
 }
 ```
+
+## Videos
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/uJobH9izfLI" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/qPCBgHQYz1g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/A13Li0CblK8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Redis/README.md b/src/docs/reference/modules/Redis/README.md
new file mode 100644
index 00000000000..3d6b38bf880
--- /dev/null
+++ b/src/docs/reference/modules/Redis/README.md
@@ -0,0 +1,13 @@
+# Redis (`OrchardCore.Redis`)
+
+Integrates Redis into Orchard Core. Provides the following features:
+
+- Redis: Redis configuration support.
+- Redis Cache: Distributed cache using Redis.
+- Redis Bus: Makes the `Signal` service distributed.
+- Redis Lock: Distributed Lock using Redis.
+- Redis DataProtection: Distributed DataProtection using Redis.
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/etH6IJOGUe8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Resources/README.md b/src/docs/reference/modules/Resources/README.md
index 8acbb052df8..95ce80c3007 100644
--- a/src/docs/reference/modules/Resources/README.md
+++ b/src/docs/reference/modules/Resources/README.md
@@ -18,24 +18,23 @@ All script or stylesheet resources should be prefixed with the `~` character.
 
 Resource Settings are configured through the site admin.
 
-### AppendVersion
+### `AppendVersion`
 
 Enabling `AppendVersion` or Resources cache busting will automatically append a version hash to all local scripts and style sheets.
 This is turned on by default.
 
-### UseCdn
+### `UseCdn`
 
 Enabling UseCdn will configure the `IResourceManager` to provide any scripts or styles, such as `jQuery`, from the configured CDN.
 
-### ResourceDebugMode
+### `ResourceDebugMode`
 
 When enabled will serve scripts or styles, that have a CDN configured, or a debug-src, from the local server in non minified format.  
-This will also disabled the CdnBaseUrl prepending.
+This will also disable the `CdnBaseUrl` prepending.
 
-### CdnBaseUrl
+### `CdnBaseUrl`
 
-When supplied this will prepend local resources served via the `IResourceManager` or Tag Helpers with the absolute url provided. This will
-be disabled in `ResourceDebugMode`
+When supplied this will prepend local resources served via the `IResourceManager` or Tag Helpers with the absolute url provided. This will be disabled in `ResourceDebugMode`
 
 ## Named Resources
 
@@ -375,7 +374,7 @@ When rendering the scripts the resource manager will order the output based on t
 3. `bar`
 
 !!! note
-    You do not have to define a name for your script or style unless you want to reference it as a dependency, or declare it as `Inline`.
+    You do not have to define a name for your script or style unless you want to reference it as a dependency, or declare it as `Inline`. Hence why the above inline examples all include a name.
 
 #### Custom scripts
 
diff --git a/src/docs/reference/modules/Rules/README.md b/src/docs/reference/modules/Rules/README.md
index 2b0238a23cf..1c734a67a80 100644
--- a/src/docs/reference/modules/Rules/README.md
+++ b/src/docs/reference/modules/Rules/README.md
@@ -23,4 +23,4 @@ Refer [Layers](../Layers/README.md) for more information about rules and conditi
 
 #### Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/Iq6VbXZg0B0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/Iq6VbXZg0B0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Seo/README.md b/src/docs/reference/modules/Seo/README.md
new file mode 100644
index 00000000000..8788dcf225f
--- /dev/null
+++ b/src/docs/reference/modules/Seo/README.md
@@ -0,0 +1,13 @@
+# SEO (`OrchardCore.Seo`)
+
+Provides Search Engine Optimization (SEO) features:
+
+- Meta description, keywords, robots, and custom meta tags
+- Canonical URL
+- [Open Graph](https://ogp.me/) metadata
+- [Twitter Card Tags](https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup)
+- [Google schema](https://developers.google.com/search/docs/advanced/structured-data/intro-structured-data)
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/bDf96bg-mBU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Setup/README.md b/src/docs/reference/modules/Setup/README.md
index 3cc0a08c408..22ed7bb8117 100644
--- a/src/docs/reference/modules/Setup/README.md
+++ b/src/docs/reference/modules/Setup/README.md
@@ -112,3 +112,7 @@ This is to allow access to resources when an internet connection is not availabl
 Please refer to separate sections for additional information on setup:
 
 - [Auto Setup - how to predefine setup parameters when deploying an empty site](../AutoSetup/README.md)
+
+## Video
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/usjGbjwbmNo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Shortcodes/README.md b/src/docs/reference/modules/Shortcodes/README.md
index 9740f14597f..2d642a88a12 100644
--- a/src/docs/reference/modules/Shortcodes/README.md
+++ b/src/docs/reference/modules/Shortcodes/README.md
@@ -227,6 +227,8 @@ Shortcodes can also be rendered via a liquid filter or html helper
     @Html.Raw(@await Orchard.ShortcodesToHtmlAsync((string)Model.ContentItem.Content.RawHtml.Content.Html))
     ```
 
-## Video
+## Videos
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/ofPKGsW5Ftg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/hsTJSIxUmZo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ofPKGsW5Ftg" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Sitemaps/README.md b/src/docs/reference/modules/Sitemaps/README.md
index 5aff86cbc15..b5f83805abb 100644
--- a/src/docs/reference/modules/Sitemaps/README.md
+++ b/src/docs/reference/modules/Sitemaps/README.md
@@ -125,7 +125,7 @@ To clear the cache manually use the _Configuration -> SEO -> Sitemaps Cache_ fea
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/fG_rFD0wffw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/fG_rFD0wffw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
 ## CREDITS
 
diff --git a/src/docs/reference/modules/Taxonomies/README.md b/src/docs/reference/modules/Taxonomies/README.md
index 574adc8e781..38386ab190b 100644
--- a/src/docs/reference/modules/Taxonomies/README.md
+++ b/src/docs/reference/modules/Taxonomies/README.md
@@ -393,10 +393,10 @@ Provides taxonomy filters in the admin contents list.
 
 ## Videos
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/DpaN02c2sDI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/DpaN02c2sDI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/nyPgQMwizbU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/nyPgQMwizbU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/G9lkGRD9G_E" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/G9lkGRD9G_E" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/NVjRz5ru7N4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/NVjRz5ru7N4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Tenants/README.md b/src/docs/reference/modules/Tenants/README.md
index 6d7074a859c..c35d5d0d494 100644
--- a/src/docs/reference/modules/Tenants/README.md
+++ b/src/docs/reference/modules/Tenants/README.md
@@ -91,4 +91,4 @@ A feature profile can also be set when creating a tenant via the web API.
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/aQAjTG2ma64" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/aQAjTG2ma64" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
\ No newline at end of file
diff --git a/src/docs/reference/modules/Users/CustomUserSettings/README.md b/src/docs/reference/modules/Users/CustomUserSettings/README.md
index 87e56b94523..8dfa4426ce2 100644
--- a/src/docs/reference/modules/Users/CustomUserSettings/README.md
+++ b/src/docs/reference/modules/Users/CustomUserSettings/README.md
@@ -50,4 +50,4 @@ and `UserProfile` is the property to extend the `User` entity with.
 
 ## Video
 
-<iframe width="560" height="315" src="https://www.youtube.com/embed/_ff79hm5PAc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/_ff79hm5PAc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Users/README.md b/src/docs/reference/modules/Users/README.md
index b9f06af7260..803b1f19029 100644
--- a/src/docs/reference/modules/Users/README.md
+++ b/src/docs/reference/modules/Users/README.md
@@ -27,3 +27,9 @@ If you want to specify custom paths to access the authentication related urls, y
     }
   }
 ```
+
+## Videos
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/78m04Inmilw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/ZgDkWUi2HGs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/reference/modules/Workflows/README.md b/src/docs/reference/modules/Workflows/README.md
index 89687a8db7e..4599e03837a 100644
--- a/src/docs/reference/modules/Workflows/README.md
+++ b/src/docs/reference/modules/Workflows/README.md
@@ -414,3 +414,9 @@ Continuing with the `NotifyTask` example, we now need to create the following Ra
 - `NotifyTask.Fields.Design.cshtml`
 - `NotifyTask.Fields.Thumbnail.cshtml`
 - `NotifyTask.Fields.Edit.cshtml`
+
+## Videos
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/n-O4WO6dVJk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
+
+<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/IcR-YpxKlGQ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
diff --git a/src/docs/topics/docs-contributions/README.md b/src/docs/topics/docs-contributions/README.md
index f0fc6744b4c..bba93c128bf 100644
--- a/src/docs/topics/docs-contributions/README.md
+++ b/src/docs/topics/docs-contributions/README.md
@@ -10,6 +10,18 @@ On every documentation page, including this one, you'll see an editor icon in th
 
 Alternatively, you can clone the whole [Orchard Core repository](https://github.com/OrchardCMS/OrchardCore) and edit any documentation file there. These you can find under the `src/docs` folder. If you open the Orchard Core solution (`OrchardCore.sln` in the root) in Visual Studio or another IDE then you'll be able to browse the files in the `OrchardCore.Docs` project under the `docs` solution folder. If you use a Markdown editor like the [Markdown Editor VS extension](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.MarkdownEditor) then you'll see all the Markdown formatting and embedded images in a WYSIWYG manner, and links will work too.
 
+To embed YouTube videos, be sure to tick "Enable privacy-enhanced mode." when generating the embed code (this will create a code that references youtube-nocookie.com).
+
+## Adding docs for a new extension or topic
+
+Do the following if you're adding docs for a newly developed extension, or if you add some other completely new topic (in which case adapt it to the section you add the topic to):
+
+1. Add a folder under `reference/modules` with the same name as the module's project without `OrchardCore.`. E.g. for `OrchardCore.AuditTrail` use `AuditTrail`.
+2. Add a `README.md` file to it, following the format of existing such files. There, add an overview of the extension's features, configuration, embed demo videos.
+3. Link to the `README.md` file from `reference/modules/README.md`.
+4. Link to the `README.md` file from the `mkdocs.yml` file in the repository root.
+5. If the module contains content parts, also link the `README.md` file from `reference/modules/ContentParts/README.md`.
+
 ## Running the documentation site locally
 
 With MkDocs you can get the full docs.orchardcore.net experience locally too. If you are looking to contribute substantial amount of docs then please do run the site locally to make sure what you write will actually look like it should.