Requirement: Get search crawl log in SharePoint Online
How to Check the Search Crawl Log in SharePoint Online?
At times, you may have to check the search crawl logs if search results don’t return results from specific content. Search crawl logs can be obtained from the search service application in the SharePoint on-premises environment. However, to inspect the search crawl log in SharePoint Online, you must use Get-PnPSearchCrawlLog cmdlet. Make sure you have access to the Crawl Log before you execute any of these PowerShell scripts!
- Login to SharePoint Online Admin Center https://tenant-admin.sharepoint.com
- Click on “More Features” from the left navigation >> Click on the “Open” button under the Search
- On the Search Service Application page, click on the “Crawl Log Permissions” link on the bottom >> Enter user names whom you want to grant search crawl log permissions and click on “OK” to save your changes.
PowerShell to Get Search Crawl Log in SharePoint Online
Once you are granted to access crawl logs, use this PnP PowerShell script to get search crawl logs:
#Config Variables $TenantURL = "https://Crescent.sharepoint.com" #Connect to PnP Online Connect-PnPOnline -Url $TenantURL -Interactive #Get Search crawl log Get-PnPSearchCrawlLog
This script gets you the last 100 entries from the search crawl logs.
We’ve parameters such as Log Level, Row Limit, Content Source, Filter, Start Date, End Date, etc., to refine crawl log entries. E.g., let’s get the last 10 user profiles crawled in the past 30 days.
Get-PnPSearchCrawlLog -RowLimit 10 -EndDate (Get-Date).AddDays(-30) -ContentSource UserProfiles
We can also filter search crawl log for a specific site (or document library) as:
Get-PnPSearchCrawlLog -RowLimit 100 -Filter "https://Crescent.sharepoint.com/sites/marketing"