Swapping out the root site of your SharePoint Online environment

In this post we will explain what the root site of your SharePoint Online environment is, why you may want to replace it, limitations and more.


The root site in SharePoint Online is one of the sites that get created automatically when you purchase your Microsoft 365 subscription that includes SharePoint. The root site is a teams site, but not Microsoft 365 group connected. It’s URL is contoso.sharepoint.com or similar, owned by the company administrator and cannot be deleted.

Example of a root site in SharePoint Online.

By default, the root site has the “everyone except external users” domain group added within the site members SharePoint group, meaning that everyone except external users has edit access to the site.

Root site permissions showing how the “everyone except external users” domain group has been added within the site members SharePoint group.

As the root is is a team site, when organisations start to build intranet solutions, they may find they want to use the root, or top-level URL as their default landing page, or home site for their intranet. To do this, you will need to swap the existing root site for a communication site in your SharePoint Online environment.

Root site vs. home site – what’s the difference?

As mentioned earlier, the default root site of a SharePoint environment is the one that is setup at the beginning when you purchase your subscription. You may also come across the term home site, which is used by Microsoft frequently. The Microsoft definition of a home site is:

“A landing site for your intranet that brings together news, events, embedded video and conversations, and other resources to deliver an engaging experience that reflects your organization’s voice, priorities, and brand”.

Set a site as your home site – SharePoint in Microsoft 365 | Microsoft Learnn

Please note:

  • Setting a home site doesn’t change the SharePoint start page from appearing when pressing the SharePoint link in the Microsoft 365 ribbon, or pressing the home button on the side-bar. The SharePoint start page is something else – not a root site or home site
  • Setting a home site doesn’t change the site that appears if you browse to the root URL i.e. contoso.sharepoint.com
  • There is a separate configuration setting that let’s you can specify a new home site – but this is not the same as replacing the root site

Replacing the root site

There is some pretty good documentation available here from Microsoft on how to replace a root site, but it lacks screenshots and any limitations that may be relevant. So here’s how to replace the root site of your SharePoint Online environment:

đź’ˇ You’ll need to have the SharePoint admin role to be able to perform a root site swap.

  • Navigate to the SharePoint admin center
  • In the all sites view > sort the A to Z column so that the current root site appears at the top of the list
  • Select the root site > press replace site from the command bar
Press replace site from the command bar in the SharePoint admin center to start the root site swap process.
  • A replace root site pane will open > enter the URL of the source site you wish to replace the root site with
  • Press Save

Note: SharePoint auto-generates what the URL will be for the root site when you swap it. This cannot be changed.

Things of note

  • Any featured links added to the SharePoint start page will need adding after replacing the root site
  • A site redirect is created to redirect traffic from the source site to the root site (if the source site is already being used)
  • Following the root site swap, the source site redirects also update any sharing links, apps or files to refer to the new URL


  • During the root site swap, you may see a 404 not found message appear temporarily.
  • Following the root site swap, all content needs to be re-indexed by search, so some content might not appear in the search results whilst this happens.
  • The source site used for the root site swap has to be a communication site (SITEPAGEPUBLISHING#0), or modern team site not connected to a Microsoft 365 group (STS#3).
  • Neither the root site, or source site can be registered as a hub site prior to replacement. If either are hub sites, they must be unregistered, then re-registered following the swap.
  • If your root site has sub-sites, they will be archived as part of the replacement process.
  • The site you select as the new root site must be within the same domain as the current root site.
  • If the site is on hold, you’ll receive an informative error and you can’t replace the site.
  • If your root site swap contains large lists or libraries then it is worth considering migrating these before the root site swap. There is no official documentation on size limitations as part of the replacement process, and should be possible – but I would air on the side of caution!

Setting a home site

Although different from the root site, a home site does have it’s own capabilities, such as:

  • “Intranet” wide search – Home sites don’t have the scoped search that typical sites have.
  • Home site news posts become official organizational news and take priority on the  start page and in the home section of the mobile app. 
  • Customised global navigation in the SharePoint app bar

Before you start – make sure to have the URL of the site you wish to set as the home site handy, as you’ll need it later! Here’s how to set a home site in SharePoint:

  • Navigate to the SharePoint admin center.
  • Select Settings > SharePoint – Home site.
In the SharePoint admin center > select settings then press the SharePoint – Home site option.
  • Enter the URL of the site you want to use.
  • Press Save.

Note: After setting the home site, it may take several minutes to take effect.


How to fix SharePoint document libraries stuck loading more items

In this post we look at a behaviour of document libraries in SharePoint that shows items as loading, and how to fix it.

The problem

I recently came across something I hadn’t seen before in SharePoint Online when working with document libraries. I was in a library that had more than 30 folders within it, and after the 30th folder the library just displays a sort of pulsing, loading screen similar to the below:

The thing is that nothing actually loads, there is no pagination or way to move to to see any more results, any additional files/ folders or basically any way to navigate further. I decided to dig into this to understand what was causing it and what can be done to resolve.

The solution

I found that the issue related to a view setting within the document library. The default view had an item limit set to “limit the total number of items returned to the specified amount”. Changing this effectively solved the problem, as once changed items are displayed in groups of 30, but a “show all” button will appear that allows you to see all the files/ folders. Here’s how to get to the item limit setting and update it:

  • Open the affecting document library > press the cog > library settings > more library settings.
  • Scroll down to views > select the default view.
  • Scroll down and expand item limit.
  • Change the radio button setting to display items in batches of the specified size.
  • Press OK.

Things to note

  • The number of items to display doesn’t have any bearing on modern views. In the screenshot above I’d changed mine to 100 items to display, but after the first 30 files/ folders, the show all button appears.
  • The show all button is problematic as if you are grouping within your view, when pressed it will apply an empty filter automatically – showing no files and ultimately confusing people. I’ve wrote about this in detail here.

How to workaround migrating images with image tags in ShareGate

In this post we will look at how the image tags managed metadata column creates issues for ShareGate migrations and how to resolve them.


Image tags were introduced in July 2021 and are automatically added by Microsoft AI to improve search. When images get uploaded into document libraries, SharePoint will analyse them upon upload and tag them based on a set of 37 basic tags. SharePoint will also re-analyse each time an image is updated and update the image tags.

The image tags column is a managed metadata column that isn’t immediately available within a document library. you have to upload an image first, before the image tag column appears – which can take several hours.

The problem

When migrating files at scale using migration tools such as ShareGate desktop, you will start to see errors in your migration reports related to the image tags column. In the example below, the details of each failed item showed the same or similar errors:

“Property Image Tags: The following values are unavailable: ‘outdoor, sign, text’. Please specify another value.”

ShareGate migration errors
Example migration report showing the image tag error messages.

The solution

The way I resolved this issue was to change an option within the migration task itself to ignore the image tag column managed metadata values. To do this I did the following in ShareGate:

  • In ShareGate desktop > start a copy content migration
  • Select your source and destination sites
  • In the copy content screen > select Options
  • Select Metadata > then expand Document
  • You will see the image tags column here > change set mapped value to ignore
  • Tick apply for all version history
Set your copy content migration task to ignore the image tasks column metadata.

Copying a page from one site to another in SharePoint

In this post we look at three different ways you can copy a page from one SharePoint site to another.


The copy/ move features within SharePoint Online were introduced a few years ago, and although they are pretty good, aren’t without their limitations – something I wrote about in 2021. One such limitation is the inability to be able to copy or move site pages from one SharePoint site to another – a frequent request of users and of the SharePoint community to Microsoft, but so far nothing has been implemented.

I’m going to cover a few ways you can copy a site page from site to site, using a variety of different tools and products along the way.

#1 Create a flow in Power Automate

In this example we can use Power Automate to allow users to select the page they want to copy, input the site URL they want to copy to and let the flow do its magic!

  • Create a new flow in Power Automate > use the instant cloud flow option.
  • Create a for a selected file trigger > enter the site address and library name.

NOTE: In my example, just entering ‘Site Pages’ resulting in my flow not appearing in the Site Pages library. This seems to be an issue with the for a selected file trigger. In order to get it to show up, I had to use the library ID instead of the library name. To get the library ID:

  • Open the library settings > more library settings
  • Copy everything between List=&7B until %7D – this is the library ID
Copy the library ID which is the numbers between &7B and %7D
  • In the for a selected file trigger > add an input
  • Select text as the user input type > update the input name and input value placeholder text. This user input type will be used to allow users to enter the site URL they wish to copy their pages to.
Add a text user input type to allow users to input the destination site URL.
  • Add a get file properties action and configure with the following:
    • Enter the source site address of your site pages library
    • Enter either site pages, or the ID of your site pages library
    • Under ID > select ID from the for a selected file trigger
  • Add a copy file action and configure with the following:
    • Current site address: source site address of your site pages library
    • File to copy: Identifier from get file properties
    • Destination site address: destination site (or whatever you called your user input) from for a selected file
    • Destination folder: /SitePages
    • If another file is already there: copy with a new name (optional)

Three steps – that’s it! Now go ahead and test your flow by selecting a site page and copying it to a different site by running your flow.

#2 Use PnP PowerShell

Another way you are able to do this is with PowerShell, in this case I’ll defer to the brilliant SharePoint diary who has a great write up, including all cmdlets you need to copy a page from site to site, or copy all pages. I’ll include the relevant sample for my blog post, but full credit goes to SharePoint diary:

$SourceSiteURL = "https://crescent.sharepoint.com/sites/marketing"
$DestinationSiteURL = "https://crescent.sharepoint.com/sites/branding"
$PageName =  "About.aspx"
#Connect to Source Site
Connect-PnPOnline -Url $SourceSiteURL -Interactive
#Export the Source page
$TempFile = [System.IO.Path]::GetTempFileName()
Export-PnPPage -Force -Identity $PageName -Out $TempFile
#Import the page to the destination site
Connect-PnPOnline -Url $DestinationSiteURL -Interactive
Invoke-PnPSiteTemplate -Path $TempFile

Click here for the full artcle from SharePoint diary.

#3 Use 3rd party migration tools

The final option we have available to us is to utilize 3rd party migration tools to migrate pages between sites. For this example I’ll be using ShareGate, but there are other migration tools that are able to do the same thing:

  • Open ShareGate desktop > press copy.
  • Select copy content only.
  • Enter the URL of your source site > select the Site Pages library.
  • Do the same for the destination site.
  • Select the page from the source location you wish to copy
  • Under options, make the following configuration changes:
    • Check preserve authors and time stamps
    • Check permissions
    • Uncheck user alerts
    • Check web parts
    • Check version history
    • Uncheck flatten folder hierarchy
    • Check update links
    • Check check in as = published
  • Press start copy. Once completed, you should see two successful migration task items for your copied page:

Now you will find your newly copied page in the destination Site Pages library. In my experience of copying pages using ShareGate, images hosted within a CDN will still be present within your page, as will all the of text, layouts and any formatting. Images that are stored within different sites may error, as will document library/ list web parts that point to different sites also.

Provisioning the SharePoint Success Site

In this post we run through how to provision, deploy and troubleshoot the SharePoint Success Site offered by Microsoft.

  1. Intro
  2. How to provision
    1. Provision via the SharePoint look book
    2. Provision via the learning pathways site
  3. Issues and troubleshooting
    1. Learning pathways errors in the SharePoint Success Site


The SharePoint Success Site is an extension of the great Microsoft 365 learning pathways site, which allows you to use and create curated playlists within a SharePoint site to offer training and support for users. The SharePoint Success Site is a fairly recent introduction to the learning pathways family and is offered as a standalone deployable option from the SharePoint look book.

How to provision

There are two ways to provision the SharePoint Success Site, either directly from the SharePoint look book, or via the learning pathways site itself.

Provision via the SharePoint look book

The SharePoint Success Site is dependent on the learning pathways site, so you will need to provision that first, or make sure that it is updated to the current version. More information on how to update the learning pathways solution can be found here.

Things to note:

  • You will need to be a global administrator to provision the SharePoint Success Site (described as tenant admin in the look book)
  • You will need to have an app catalog site in your SharePoint environment. More details on how to create an app catalog site can be found here
  • You will need to be an app catalog administrator to provision the SharePoint Success Site

Provision via the learning pathways site

  • Navigate to the learning pathways site in your SharePoint environment
  • From the navigation menu > select  Learning Pathways Administration
  • Press the ellipsis … > add content pack
  • Select the SharePoint Success Site
  • This will then take you through to the SharePoint look book to follow the steps as described above

Once provisioned, the SharePoint Success Site will be deployed as a separate communication site within your environment. The site uses a content pack installed in the learning pathways site, which will be displayed within the site.

Issues and troubleshooting

Learning pathways errors in the SharePoint Success Site

When I tried to provision the SharePoint Success Site it didn’t work as seamlessly as I expected. For me, after provisioning the site via the SharePoint look book I received the following error across all pages displaying the learning pathways web part:

Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance. [Administrators: Please see the browser console for detailed logs. For technical assistance check out the issues list at https://github.com/pnp/custom-learning-office-365/issues.%5D

Microsoft 365 learning pathways error.

To resolve this:

  • Navigate to the learning pathways administration page
  • Press the ellipsis … > add content pack
  • Select the SharePoint Success Site
  • A message will appear asking if you have already provisioned the SharePoint Success Site > press complete

This will configure your SharePoint Success Site to consume the newly added content pack and will display correctly.

Saving approvals as PDFs in Microsoft Teams

In this post we demo the ability to download approvals in Microsoft Teams as PDFs for filing, printing or transferring.


Microsoft introduced the ability to save, print and transfer approvals as PDFs in late 2022. With this feature, approval creators are able to save a completed approval request to a PDF file and have the option to print it. At the time of writing, there was very little online about this feature, or what it looks like – so here it is in action!

Demo – save a PDF from approval

  • There are several ways to trigger a new approval, via Teams chat or channel message, the approvals app or via Power Automate to name a few. In my example, I created a Teams channel approval:

Note: There’s a brief delay after sending your approval before it appears within your activity feed, or the approvals app (approx. 5 minutes). Once it does, you are able to go ahead and approve/ reject it. You cannot save approvals as PDF whilst they are in the ‘requested’ state.

  • Once the approval has been completed, you can either view the details of the approval (if a channel message) or open the approval up from the approvals app in Teams.
Approval details via the Teams channel message.
Approval details via the Teams channel message.
Approval details via the approvals app.
Approval details via the approvals app.
  • Once your approval is open > press Save as PDF.
  • A PDF export of the approval window will download into the local downloads folder on your device. The output will look something like the below:

Current limitations

  • There is no way currently to change the download location of the PDF or change the behaviour. It would be nice it it was configurable to set it to save to a OneDrive location potentially.
  • There are no standard approval triggers related to this functionality in Power Automate. Again, for the same purpose as above, it would be good to be able to leverage this functionality via Power Automate to route the downloaded PDF to a OneDrive/ SharePoint location.

Create views in SharePoint that only show items created by current user

This is an oldie but a goodie in my opinion, this post will show you how to use library filters in SharePoint to only show items/ files created, or modified by the current user.

The steps below will guide you through the process of updating the view of a list or library to only show items created or modified by the current, logged in user.

  • Open the list or library you wish to update
  • From the library actions ribbon > select the current view (for example: all documents)
  • Press edit current view
  • Scroll down the edit view page until you get to the filter section
  • Create the following filter:

NOTE: this example will only show items that were created by OR modified by the current, logged in user. If you want your filter to only show items where both these values are true, change OR to AND.

  • Press OK to save your changes

Now your view should have updated to only show items created by, or modified by the current, logged in user.


This example is really simple and easy to implement and there isn’t any real impact on your users as nothing is technically being restricted, just filtered out of the default view.

The flip-side of this is that in of itself could be considered a limitation if there is information stored within the list/ library that requires limited permissions. I’ll go into the options available for this later in this post.

However with that said, depending on what permissions you have in place for your list/ library, you could use this approach to secure the contents too.

Consideration #1 – Views don’t change permissions

A “back door” to gaining access to all contents stored in the list/ library would be to use a different view than the set default view to access all items (for example: if you created a new view to follow the below method, but left the default view set to show everything).

The solution to this would be to apply this filter approach to the default view, make sure any other public views follow the same approach and make sure end users don’t have elevated permissions.

Consideration #2 – Ensure permissions are set correctly

The only way an end user could bypass this approach without any “all items” views available, would be if they had the permissions to do so. The permission that controls this is called the Manage Lists permission, which is only granted via the Edit, Design, Full Control, Manage Hierarchy permission levels by default.

If end users aren’t in these groups, your in luck!

Consideration #3 – list/ library contents is not searchable

If you are using views to filter who can see contents within your list/ library then you will need to ensure this setting is updated if the contents needs to be hidden (below example is a document library):

  • Press the cog button > library settings
  • Press advanced settings
  • Under Search > change allow items from this document library to appear in search results to No
  • Press OK
Update the allow items from this document library to appear in search results advanced setting to ensure items aren’t visible in search.

Consideration #4 – If it’s a list, enable item level permissions

With lists, in advanced settings there is an additional configuration option – item level permissions which allows you to specify which items users can read and edit.

As the heading implies, this consideration only works for lists in SharePoint as the functionality isn’t available out the box for document libraries. SharePoint Maven have written up what the two different levels of item level permissions you can set mean, which you can find here.

How to rename a SharePoint Online site and re-use the URL

In this post we will explore how to rename SharePoint Online sites and re-use the original URL.

  1. Intro
  2. How to use an old site URL
  3. More information


Have you ever changed the name of a SharePoint Online site and tried to re-use the old URL for a new site? If you have you have probably encountered an issue where SharePoint admin center will tell you that URL is still in use. Well this is because the URL is, in fact still in use in the form of a redirect.

Old site URL is unavailable after renaming a SharePoint site.

In 2019, Microsoft introduced the site rename feature within the SharePoint admin center, which also updated site URLs too. Once a URL is updated for a given site, or moved to a different geo location, or as part of a site swap – a redirect is automatically created to ensure any links that were pointing to the prior URL continue to work.

How to use an old site URL

To use on old site URL you need to run the following PowerShell command. Note: You will need the SharePoint administrator role to run this command:

  • Open the SharePoint Online Management Shell and run the following command:
Connect-SPOService -Url https://[TENANT]-admin.sharepoint.com

Remove-SPOSite -Identity https://contoso.sharepoint.com/sites/OldSiteName
  • Confirm you want to delete the redirect

Check your URL has been deleted by trying to browse the URL, if you get a 404 error it has been successful.

More information

The Remove-SPO site command is actually defined as “Sends a SharePoint Online site collection to the SharePoint Online Recycle Bin” in the Microsoft documentation reference guide.

Microsoft documentation says that a redirect template (Template type: REDIRECTSITE#0) is applied when the site URL is updated, which contains special headers and logic to redirect your browser requests to the new site.

How to deploy a flow across all document libraries in SharePoint

In this post we look at a specific use case for needing a Power Automate flow to be available across all of SharePoint, some of the current limitations of Power Automate and how to overcome them using Encodian Trigr.


Most organisations will have a central location where they store policies, procedures and guidance documents. For most, this would form part of their corporate intranet solution on SharePoint/ Teams, but you also might find yourself getting asked by users “how do I get my policies from my team/ collaborative locations into the the corporate policy library?” – not such an easy answer!

The problem

Policies generally can be created by individuals and small groups of people, within the Teams/ SharePoint sites that they have access to for collaboration. For these people, having a way to publish relevant documents from their own collaboration sites to a central policy location in a consistent way makes a great deal of sense and you may think Power Automate is the way to achieve it…however this is not the case! Power Automate flows have a 1:1 relationship with the lists or libraries they are triggered from, so there is no easy way to do this with out-the-box capabilities.

Power Automate is also unable to manually trigger a flow when selecting multiple documents, something else that my scenario requires. This is where Encodian Trigr can really bridge the gap. Trigr makes Power Automate flows available across SharePoint, allowing users to access and run flows from within any library or list.

The solution

In my example, I needed to have a flow available across all SharePoint/ Team sites, which would allow all users to select one-to-many documents and publish to a central policy upload center for approval – and here is how I used Encodian Trigr to achieve it:

Install Trigr

  • There is a comprehensive guide on how to deploy the Encodian Trigr app available here. I followed these steps to get Trigr setup in my environment.

Create the flow

  • Navigate to https://make.powerautomate.com/
  • Under My flows > + New flow > Automated cloud flow
  • Give your flow a name
  • Search and select the Encodian ‘When a user runs a Trigr‘ Power Automate trigger action
  • Click create
Create an automated cloud flow and select the ‘When a user runs a Trigr’ Power Automate trigger action.

NOTE: This was my first time using Encodian Trigr, so I was prompted to provide a connection name and an API key. For the connection name I just entered ‘Encodian connection for flow’, and the API key will be in your welcome email, or available via this link: https://account.encodian.com/trigr/apikey.

  • You will now see the ‘When a user runs a Trigr‘ trigger action. Enter a title & description for your flow
Add a title and description to your ‘When a user runs a Trigr’ trigger action.

The ‘When a user runs a Trigr’ Power Automate trigger action provides all of the properties relevant to the files which were selected by the user when the Trigr action was started.

For the next step we are going to use the get file content action. Due to a current limitation of Power Automate, dynamic values are not immediately accessible by the SharePoint action. To get around this, we will just enter hard-coded values at first, then replace them with dynamic values once we have finished configuring the flow.

Get file content

  • Add a get file content action
  • Hard-code the site address of the site where the files are saved that you wish to publish
  • Hard-code the file identifier as just the ID number for now

Send an email

  • Add a send an email action with the the following confirguration:
    • To: User Email Address dynamic content from the ‘when a user runs a Trigr’ trigger action’
    • Subject: Anything you wish
    • Body: Anything you wish
Add a send an email action if required to notify the user who triggered the flow they have submitted a policy document.

Update get file content

Now we will go back to our get file content action and update the hard-coded values with dynamic content from the ‘when a user runs a Trigr’ trigger action’:

  • Open the get file content action
  • Update Site Address to Site Address dynamic content from the ‘when a user runs a Trigr’ trigger action’
  • Update File Identifier to File Identifiers

NOTE: This will create put all your actions in an apply to each loop, which is what we want if we want to be able to process multiple documents. The File Identifier dynamic content will be replaced with the current item from the apply to each loop.

Update the get file content action to include the current item from the apply to each loop.

Copy file

  • Add a copy file action after the update get file content action and configure with the following properties:
    • Current site address: site address dynamic content from the ‘when a user runs a Trigr’ trigger action
    • File to copy: Current item apply to each dynamic content
    • Destination site address: select/ hard-code the destination site address (in my case the policy site)
    • Destination folder: select/ hard-code the destination library/ folder
    • If another file is already there: replace
Add a copy file action to copy the files the flow has been ran against into the policy center.

Create the Trigr action

So far we have installed trigr in our environment, created the flow which will be used and now we need to create the Trigr action in the Encodian account portal:

  • Select the flow that you created earlier and configure with the following settings:
    • Title: This will auto-populate from the data set within the Power Automate Flow, update if required.
    • Description: This will auto-populate from the data set within the Power Automate Flow, update if required.
    • Run Message: Enter a message which will be displayed to the user once the action has been started.
    • Appear in: Tick whether you want your flow to appear in all libraries/ lists or both. You can also decide whether you wish to deploy the flow to all sites or a selection.
    • Press Create

That’s it! Your Trigr action will now be created and your flow will be available across your SharePoint environment.

Microsoft Search demystified! Provide configurable search options in SharePoint, Teams & OneDrive

Microsoft Search is the unified search experience that is prevalent across Microsoft 365. Microsoft Search gives users contextual search results depending on the app they search from, be it form Word or Excel, through to SharePoint, Teams & OneDrive.


If your familiar with SharePoint search you might think this is a doddle to set up. Know your crawled properties from content sources? Managed metadata from managed properties? Well, this might not help you for modern search as not all contextual app based search results are created equally, specifically Teams and SharePoint…

Within the settings of the M365 admin center there is section called search & intelligence where you can gain access to the following configurable options within Microsoft Search:

  • Acronyms: Admin or system curated acronyms/ abbreviations used by an organisation or team
  • Bookmarks: Helps users find important information with just a search. Each bookmark includes a title, URL,  keywords and a category.
  • Floor plans: Floor plans in Microsoft Search help users find people, rooms, and spaces within a building.
  • Locations: Helps your users find addresses and locate your organization’s buildings by providing an accurate location.
  • Power BI: Support for Power BI dashboards and reports to make it easier for users to find data & analytics
  • Q&A: Creating a Q&A is similar to creating bookmarks. Answer user’s questions instead of just providing a link to a webpage.
  • Result types & verticals: Result types define how search results are shown on the page based on conditions and rules. Search verticals are tabs on the search results page that show results of a specific type or from a select source.

The problem

For all of the above options within Microsoft 365, there is a varied amount of consistency as to how each option displays within specific apps, or in some cases do not display at all. For SharePoint all of the above search options do not display in the default search results of a given site. SharePoint communication or team sites search scope is to search just the site by default. Hub sites will search the hub, plus any associated sites to the hub.

None of the above search options display from within Teams, either via the desktop app or via the browser. There also isn’t a link to organisation, or a way to see all files etc. from the search experience within Teams.

Microsoft documentation says that Acronyms, Bookmarks, Floor plans & Location only show answers on Bing, SharePoint, and Office 365. Power BI search results display in the Windows search box, SharePoint, Office 365, and Bing.

Solutions and workarounds

I only really have a solution as such for SharePoint on this one, as for Teams and OneDrive there is very little you can do to change the search result options as far as I know.

For SharePoint, the only way currently to get these options to show is to change the scope of your site. There are three search scope parameters:

  • 0 – default scope, effectively site
  • 1 – tenant
  • 2 – hub
  • 3 – site

To change the scope of your site search, you need PowerShell/ PnP. You’ll also need to be a SharePoint admin to run it, but if you are you can run this cmdlet to change the scope to tenant wide:

Connect-PnPOnline -Url https://contosodemosg.sharepoint.com/sites/Strategy -UseWebLogin
# this will prompt you to sign into your site. Use the site owner credentials to sign in

$web = Get-PnPWeb
$web.SearchScope = 1
# 1 for Tenant, 2 for Hub, 3 for Site, 0 for default behavior


Once your cmdlet has run successfully, you’ll notice the change in the site targeted as when a search is initiated it will default to the “organisation” wide search results by default, showing any of the configurable options you’ve set up within Microsoft Search.

SharePoint site configured to have a tenant-wide search scope, showing a custom configured location within the search results page.

For OneDrive on web, the search experience is subtly different than SharePoint or Teams. When you search there are the following options via a drop-down: My files, All files, or Whole organisation. All files is the default setting, but you can select the scope of your search before hitting enter, or change the scope after your results are returned.

In OneDrive for web, there is a toggle within the search bar that lets you select the search scope.

Things to consider

#1 Intranet search results will not be scoped

If you are building an intranet solution or already have one in place, changing the search scope will bring in search results from Teams, SharePoint & OneDrive, so it will not be ring fenced to just “intranet” content.

#2 All sites which require the scope change will need updating

You will need to change the scope for all the sites you wish to search tenant wide. So if you have an intranet solution, all sites will need this change applying.

#3 Ensure you have the correct admin roles

When I was creating Bookmarks/ Answers/ Locations etc. I originally gave my account the Search Administrator role. This displayed more config options within search & intelligence, but when it came to publishing, it threw up the dreaded “something went wrong” error. To be able to publish, I needed to also apply the Search Editor role.