Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Authoritative sites help administrators identify official, organization-managed SharePoint sources. When a site is marked as authoritative, its content is recognized as trusted in Copilot Search experiences.
For users, this improves confidence in search results. Trusted items are easier to identify by visual signals such as the From your organization label.
Important
In the current release, authoritative sites are configured through PowerShell and CSOM APIs. Site-level designation is supported; personal sites aren't supported.
Prerequisites
- You must be assigned the SharePoint Administrator or Global Administrator role.
- Your admin account must have a Microsoft 365 Copilot license to mark a site as authoritative.
- You need access to SharePoint Online Management Shell.
Why use Authoritative Sites
- Improve trust in Copilot Search by promoting verified organizational sources.
- Help users quickly identify official content.
- Reduce time spent validating whether content is reliable.
- Maintain centralized admin control over authoritative source designation.
Configure Authoritative Sites with SharePoint Online Management Shell
Use SharePoint Online Management Shell when you want a straightforward admin workflow.
- Install and import the module.
- Connect to your SharePoint admin center.
- Mark the site as authoritative.
Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force
Import-Module -Name Microsoft.Online.SharePoint.PowerShell
Connect-SPOService -Url "https://<tenant>-admin.sharepoint.com"
Set-SPOSite -Identity "https://<tenant>.sharepoint.com/sites/<siteName>" -IsAuthoritative $true
Configure Authoritative Sites with CSOM (advanced)
Use CSOM when you need automation or bulk operations.
Note
CSOM version 16.1.26914.12004 or later is required.
Step 1: Install PnP PowerShell
Install-Module PnP.PowerShell -Scope CurrentUser -Force
Step 2: Register an Entra ID app
Register an app for interactive authentication and copy the client ID from the output.
$tenant = "<TenantName>.onmicrosoft.com"
Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP Interactive (SPO Admin)" -Tenant $tenant -SharePointDelegatePermissions "AllSites.FullControl" -SharePointApplicationPermissions "Sites.FullControl.All" -GraphDelegatePermissions "Sites.FullControl.All" -GraphApplicationPermissions "Sites.FullControl.All" -Interactive
$clientId = "<FROM ABOVE OUTPUT>"
Step 3: Install SharePoint Online CSOM
Install-Package Microsoft.SharePointOnline.CSOM -Source nuget.org -Scope CurrentUser
Step 4: Load CSOM assemblies
$dllPath = "C:\Users\<USER_NAME>\AppData\Local\PackageManagement\NuGet\Packages\Microsoft.SharePointOnline.CSOM.<VERSION>\lib\netstandard2.0"
Add-Type -Path "$dllPath\Microsoft.SharePoint.Client.dll"
Add-Type -Path "$dllPath\Microsoft.SharePoint.Client.Runtime.dll"
Add-Type -Path "$dllPath\Microsoft.Online.SharePoint.Client.Tenant.dll"
Step 5: Connect to SharePoint Online
$tenantDomain = "<TenantName>.onmicrosoft.com"
Connect-PnPOnline -Url "https://<TenantName>-admin.sharepoint.com" -ClientId $clientId -Tenant $tenantDomain -Interactive
Step 6: Initialize tenant object and verify API availability
$ctx = Get-PnPContext
$tenant = New-Object Microsoft.Online.SharePoint.TenantAdministration.Tenant($ctx)
$ctx.ExecuteQuery()
$tenant.GetType().GetMethod("GetAuthoritativeResources")
CSOM operations
Get authoritative sites
$authResources = $tenant.GetAuthoritativeResources()
$ctx.ExecuteQuery()
Mark a site as authoritative
$siteId = [Guid]"<SiteId>"
$result = $tenant.SetResourceAsAuthoritative($siteId)
$ctx.ExecuteQuery()
$result.Value
Remove a site from authoritative sites
$siteId = [Guid]"<SiteId>"
$result = $tenant.RemoveResourceAsAuthoritative($siteId)
$ctx.ExecuteQuery()
If the site is removed successfully, the response is empty. If the operation fails, PowerShell returns an exception.
Bulk mark sites as authoritative
[System.Guid[]]$siteIds = @([Guid]"<SiteId1>", [Guid]"<SiteId2>", [Guid]"<SiteId3>")
$results = $tenant.BulkSetResourceAsAuthoritative($siteIds)
$ctx.ExecuteQuery()
$results
Bulk remove authoritative sites
[System.Guid[]]$siteIds = @([Guid]"<SiteId1>", [Guid]"<SiteId2>", [Guid]"<SiteId3>")
$results = $tenant.BulkRemoveResourceAsAuthoritative($siteIds)
$ctx.Load($results)
$ctx.ExecuteQuery()
$results
Lifecycle and maintenance
Maintain Authoritative Sites as a living set of trusted sources:
- Review the list regularly and remove outdated or no-longer-official sites.
- Validate behavior after site deletion or restore events.
- Plan for propagation time after updates.
Limitations
- You can mark up to 100 sites as authoritative.
- Changes can take up to 72 hours to appear in supported experiences.
- Designation is currently site-level only.
- Multi-geo tenants manage authoritative site data per geo.
- Personal sites can't be marked as authoritative.
Troubleshooting
If changes don't appear as expected, check the following:
- Licensing: the admin account has a Microsoft 365 Copilot license.
- Feature availability: the feature is enabled in your tenant.
- Site eligibility: the URL is valid and references a supported SharePoint site.
- Timing: enough propagation time (up to 72 hours) has elapsed.