How to Move a SharePoint Subsite To Another Site within a Site Collection?
Had a requirement to move a SharePoint site from one subsite to another site of the same site collection. Source site URL was: https://sharepoint.crescent.com/teams/marketing/us/Policies/ and it should be moved to https://sharepoint.crescent.com/teams/marketing/Policies/ ultimately, the aim was to move the “Policies” SharePoint site from “us” site to its top-level site “marketing”.
So, we need to move the subsite “Policies” which is under an another subsite “US” to Top level site “Marketing”. Yes, fairly simple! I can do export-Import (Stsadm -o Export or Export-SPWeb). But found another easier way today: Edit “ServerRelativeUrl” property of SPWeb!
PowerShell to move a SharePoint subsite from one site to another:
#Get the Source Site
$web=Get-SpWeb "https://sharepoint.crescent.com/teams/marketing/us/Policies/"
$web.AllowUnsafeUpdates=$true
#Set the Target URL
$web.ServerRelativeUrl="/teams/marketing/Policies/"
$web.AllowUnsafeUpdates=$false
$web.update()
As SharePoint Manager Tool supports write back some of the properties, we can utilize this tool to update the “ServerRelativeUrl” property of SPWeb.
Just updated Server relative Url property, Save it back, Done!
Move SubSite to another Site (subsite) using Content and Structure:
- Go to Site Settings >> Click on “Content and structure” Link under Site Administration
- Select your Site to Move >> Click on Actions >> Choose Move
- Select the Target Site to Move your site, Click OK to start move operation
- Depending on the size of the Sub-site, Your SharePoint subsite will be moved into the selected site. BTW, You need to have the Publishing feature enabled to avail of this feature.
For those that follow,
$web.update
Should be
$web.update()
Would this work for sites on SharePoint Online by chance?
Yes