SharePoint Online: Disable Page Comments in Modern Sites using PowerShell

Requirement: Disable page comments in SharePoint Online Modern Sites and Communication sites.
sharepoint online disable page comments

How to Disable Page Comments in SharePoint Online?
Modern pages in SharePoint Online have a comments section at the bottom of each page for better collaboration.

Option 1: Disable Comments at the tenant level
Page comments can be turned-off at tenant level by the below settings:
  • Navigate to SharePoint Online Admin Center: 
  • Click on Settings from left navigation
  • On the Settings page, Select "Disable Comments on Site Pages."
    sharepoint online disable comments
  • Click OK to save your changes.

In modern admin center, This is moved under:

  • Settings >> Pages >> "Allow commenting on modern pages"
    sharepoint online turn off page comments

Wait for a while, the comments section disabled from all pages in the tenant. You can disable comments on modern pages at tenant level using PowerShell as well.

SharePoint Online: Turn off comments by default
Use this PowerShell to disable page comments in SharePoint Online, Tenant-wide:


#Connect to SharePoint Online
Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)

#Disable Comments on Site Pages at Tenant Level
Set-SPOTenant -CommentsOnSitePagesDisabled $True

Option 2: Disable Comments at the Page Level 
Comments can be disabled at page level. Here is how:
  • Navigate to the SharePoint Online Site page >>  Edit the page.
  • Turn off the comments by toggle the switch from ON to OFF position and Publish the page.
    hide comments in sharepoint online modern page
This disables comments section in the particular page.

Option 3: Disable Comments in SharePoint Online Pages using PowerShell
This PowerShell script disables the page comments for given site.
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
#Config Parameters
Try {
    #Get Credentials to connect
    $Cred= Get-Credential
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
    #Get the Web
    $Web = $ctx.Web

    #Disable Comments in Site Pages
    $Web.CommentsOnSitePagesDisabled = $True
    Write-host -f Green "Page Comments has been disabled Successfully!"
Catch {
    write-host -f Red "Error:" $_.Exception.Message
Please note, disabling comments doesn't delete existing comments on pages. It just hides them. Turning ON comments brings the comments back!

PnP PowerShell to Disable Comments on All Pages in a Library
$SiteURL= ""
$LibraryName = "SitePages"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get all Pages from the Library
$Pages = Get-PnPListItem -List $LibraryName

#Loop through each Page 
ForEach($Page in $Pages)
    #Disable Comments
    Write-host "Disabling Commnets on page:"$Page["FileLeafRef"]
    Set-PnPClientSidePage -Identity $Page["FileLeafRef"] -CommentsEnabled:$False

1 comment:

  1. I wish we could leave comments disabled at the tenant level and selectively enable on individual sites.


Please Login and comment to get your questions answered!

Powered by Blogger.