Skip to main content

Remove orphaned redirect sites

Author: Albert-Jan Schot

Changing the URL of a site results in a new site type: a Redirect Site. However this redirect site does not get removed if you delete the newly renamed site. This could result in orphaned redirect site collections that redirect to nothing. This script provides you with an overview of all orphaned redirect sites and allows you to quickly delete them.

$sites = m365 spo site list --webTemplate "REDIRECTSITE#0" | ConvertFrom-Json

$sites | ForEach-Object {
Write-Host -f Green "Processing redirect site: " $_.Url
$siteUrl = $_.Url

$redirectSite = Invoke-WebRequest -Uri $_.Url -MaximumRedirection 0 -SkipHttpErrorCheck
$body = $null
$siteUrl = $_.Url

if($redirectSite.StatusCode -eq 308) {
Try {
[string]$newUrl = $redirectSite.Headers.Location;
Write-Host -f Green " Redirects to: " $newUrl
$body = Invoke-WebRequest -Uri $newUrl -SkipHttpErrorCheck
}
Catch{
Write-Host $_.Exception
}
Finally {
If($body.StatusCode -eq "200"){
Write-host -f Yellow " Target location still exists"
}
If($body.StatusCode -eq "404"){
Write-Host -f Red " Target location no longer exists, should be removed"
m365 spo site remove --url $siteUrl
}
}
}
}

Keywords:

  • SharePoint Online
  • Redirect sites
CTRL + M