Administration

SharePoint Site Collection Administration: Complete Guide for SharePoint Admins

Master SharePoint site collection administration. Covers site collection creation, quota management, feature activation, custom actions, sub-sites, admin tools, PowerShell management, and health monitoring.

Errin O'ConnorFebruary 25, 202613 min read
SharePoint Site Collection Administration: Complete Guide for SharePoint Admins - Administration guide by SharePoint Support
SharePoint Site Collection Administration: Complete Guide for SharePoint Admins - Expert Administration guidance from SharePoint Support

Understanding SharePoint Site Collections

A site collection is the fundamental administrative unit in SharePoint Online. Every SharePoint site is part of a site collection — and understanding how site collections work is foundational to effective SharePoint administration.

SharePoint architecture diagram showing hub sites, team sites, and content structure
Enterprise SharePoint architecture with hub sites and connected team sites

In modern SharePoint Online, site collections are created automatically when you create a site. The terms "site" and "site collection" are largely interchangeable for most modern SharePoint deployments, though administrators need to understand the underlying architecture.

Site Collection Architecture

What's in a Site Collection

```

Site Collection (Top-Level Site)

├── Root Site (/)

│ ├── Document Libraries

│ ├── Lists

│ ├── Pages

│ └── Site Settings

├── Sub-sites (discouraged in modern SP)

│ └── Sub-sub-sites (strongly discouraged)

├── Site Collection Features (cross-site functionality)

├── Site Collection Administrators

├── Site Collection Content Types

├── Site Collection Recycle Bin

├── Term Store (local to site collection)

└── Storage Quota

```

Site Collection Types in SharePoint Online

| Template | Created When | Notes |

|----------|-------------|-------|

| Team Site (STS#3) | New Team site created | Group-connected or standalone |

| Communication Site (SITEPAGEPUBLISHING#0) | New Communication site | Broadcast-focused |

| Hub Site | Admin promotes a site | Organizes other sites |

| Root Site Collection | Tenant creation | contoso.sharepoint.com |

| OneDrive Personal | User activated | personal/username |

| Search Center | Admin provisioned | Legacy — use modern search |

| Redirect Site | URL redirect | Preserves old URLs after migration |

Site Collection Administration in SharePoint Admin Center

Accessing Admin Center

SharePoint Admin Center: admin.microsoft.com → SharePoint Admin Center (or directly at contoso-admin.sharepoint.com)

Active Sites view shows all site collections with:

  • URL, site name, template
  • Storage used / allocated
  • Last activity date
  • Primary admin
  • Hub association
  • External sharing setting

Site Collection Creation

```powershell

# Create new Team site (non-group)

Connect-SPOService -Url "https://contoso-admin.sharepoint.com"

New-SPOSite `

-Url "https://contoso.sharepoint.com/sites/finance-reporting" `

-Owner "[email protected]" `

-StorageQuota 5120 ` # 5GB in MB

-Title "Finance - Reporting" `

-Template "STS#3" `

-TimeZoneId 10 # Eastern Time

```

```powershell

# Create Communication Site

New-SPOSite `

-Url "https://contoso.sharepoint.com/sites/corporate-comms" `

-Owner "[email protected]" `

-StorageQuota 10240 `

-Title "Corporate Communications" `

-Template "SITEPAGEPUBLISHING#0"

```

```powershell

# Create via PnP (more options)

Connect-PnPOnline -Url "https://contoso-admin.sharepoint.com" -Interactive

New-PnPSite -Type TeamSiteWithoutMicrosoft365Group `

-Title "Finance - Annual Reports" `

-Url "https://contoso.sharepoint.com/sites/finance-annual-reports" `

-Owner "[email protected]" `

-Lcid 1033 `

-TimeZone 10

```

Storage Quota Management

Understanding Storage

SharePoint Online storage pool:

  • 1TB per tenant + 10GB per licensed user automatically allocated
  • Example: 1,000 licensed users = 1TB + 10TB = 11TB total pool
  • All site collections share this pool unless per-site quotas are set

```powershell

# Check total tenant storage

$tenantInfo = Get-SPOTenant

Write-Output "Storage allocated: $($tenantInfo.StorageQuota) MB"

Write-Output "Storage used: $($tenantInfo.StorageQuotaAllocated) MB"

# Check all sites by storage

Get-SPOSite -Limit All | Select-Object Url, StorageUsageCurrent, StorageQuota |

Sort-Object StorageUsageCurrent -Descending |

Select-Object -First 20

# Set quota for specific site (prevent one site consuming all storage)

Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/large-archive" `

-StorageQuota 51200 ` # 50GB

-StorageQuotaWarningLevel 45000 # Warn at 45GB

```

Storage Optimization

Sites accumulate storage from:

  • Document versions (every save creates a new version)
  • Recycle bin (93-day retention)
  • Temporary files and test content

```powershell

# Find libraries with excessive version history consuming storage

Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/finance-reporting" -Interactive

$lists = Get-PnPList | Where-Object { $_.BaseTemplate -eq 101 } # Document libraries only

foreach ($list in $lists) {

$items = Get-PnPListItem -List $list -Fields "ID", "File_x0020_Size"

Write-Output "Library: $($list.Title) — Items: $($items.Count)"

}

# Clear recycle bin to reclaim storage

Clear-PnPRecycleBinItem -All -Force

```

Site Collection Administrators

Site Collection Administrators have full control over the entire site collection — including content others have restricted access to. Manage carefully.

```powershell

# Get all site collection admins across the tenant

$sites = Get-SPOSite -Limit All

foreach ($site in $sites) {

$admins = Get-SPOUser -Site $site.Url | Where-Object { $_.IsSiteAdmin -eq $true }

foreach ($admin in $admins) {

Write-Output "$($site.Url) — Admin: $($admin.LoginName)"

}

}

# Add site collection admin

Set-SPOUser -Site "https://contoso.sharepoint.com/sites/finance-reporting" `

-LoginName "[email protected]" `

-IsSiteCollectionAdmin $true

# Remove site collection admin

Set-SPOUser -Site "https://contoso.sharepoint.com/sites/finance-reporting" `

-LoginName "[email protected]" `

-IsSiteCollectionAdmin $false

```

Best Practice: Site Collection Admin Governance

  • Maximum 2-3 site collection admins per site (primary owner + IT backup)
  • Quarterly audit: Review all site collection admins across tenant
  • Remove former employees immediately (automate via HR system trigger)
  • Document all admin assignments in a SharePoint governance register

Site Features and Feature Management

SharePoint features activate/deactivate specific functionality at the site or site collection level.

```powershell

# List activated features on a site

Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/finance-reporting" -Interactive

Get-PnPFeature -Scope Web | Select-Object DisplayName, Id, Scope

# Activate a feature

Enable-PnPFeature -Identity "87294c72-f260-42f3-a41b-981a2ffce37a" ` # Publishing Infrastructure

-Scope Web

# Deactivate a feature

Disable-PnPFeature -Identity "87294c72-f260-42f3-a41b-981a2ffce37a" -Scope Web

```

Common Features to Know

| Feature | GUID | Purpose |

|---------|------|---------|

| SharePoint Server Publishing | 87294c72-f260-42f3-a41b-981a2ffce37a | Publishing workflows, page layouts |

| Metadata Navigation | 7201d6a4-a5d3-49a1-8c19-19c4bac6e668 | Library metadata filters |

| Content Organizer | 7ad5272a-2694-4349-953e-ea5ef290e97c | Automated document routing |

| Document Sets | 3bae86a2-776d-499d-9db8-fa4cdc7884f8 | Document set content type |

| In-Place Records | da2e115b-07e4-49d9-bb2c-35e93bb9fca9 | Declare records in-place |

Hub Site Administration

Hub sites are site collections promoted to hub status. They organize associated sites and share navigation and search.

```powershell

# Register a site as a hub site

Connect-SPOService -Url "https://contoso-admin.sharepoint.com"

Register-SPOHubSite `

-Site "https://contoso.sharepoint.com/sites/corporate-hub" `

-Principals @("[email protected]")

# Associate a site with the hub

Add-SPOHubSiteAssociation `

-Site "https://contoso.sharepoint.com/sites/hr-policies" `

-HubSite "https://contoso.sharepoint.com/sites/corporate-hub"

# Set hub site logo and theme

Set-SPOHubSite "https://contoso.sharepoint.com/sites/corporate-hub" `

-LogoUrl "/sites/corporate-hub/SiteAssets/hub-logo.png" `

-Title "Corporate Hub"

# List all hub sites

Get-SPOHubSite | Select-Object Title, SiteUrl, SiteId

```

Site Collection Lock States

SharePoint sites can be locked to prevent access or writing:

```powershell

# Lock states: Unlock, NoAccess, ReadOnly, NoAddAndDeleteFiles

# Set site to read-only (good for archiving active sites before deletion)

Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/old-project" `

-LockState ReadOnly

# Unlock a site

Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/restored-site" `

-LockState Unlock

# Block all access (while investigating security incident)

Set-SPOSite -Identity "https://contoso.sharepoint.com/sites/compromised-site" `

-LockState NoAccess

```

Recycle Bin Management

SharePoint has a two-stage recycle bin:

  • First-stage: User's site recycle bin (93 days)
  • Second-stage: Site collection recycle bin (admins only, additional time)

```powershell

# Get all items in first-stage recycle bin

Connect-PnPOnline -Url "https://contoso.sharepoint.com/sites/finance-reporting" -Interactive

$recycleBin = Get-PnPRecycleBinItem -FirstStage

Write-Output "Items in first-stage recycle bin: $($recycleBin.Count)"

$totalSize = ($recycleBin | Measure-Object -Property Size -Sum).Sum / 1MB

Write-Output "Total size: $([Math]::Round($totalSize, 2)) MB"

# Restore specific item

Restore-PnPRecycleBinItem -Identity $recycleBin[0].Id

# Clear second-stage recycle bin (permanent deletion)

Get-PnPRecycleBinItem -SecondStage | Clear-PnPRecycleBinItem -Force

```

External Sharing Control

```powershell

# Set external sharing at site level (overrides tenant policy for more restrictive)

Set-SPOSite `

-Identity "https://contoso.sharepoint.com/sites/client-portal" `

-SharingCapability ExternalUserSharingOnly ` # Guest accounts only

-SharingAllowedDomainList "client1.com client2.com" `

-SharingDomainRestrictionMode AllowList `

-ExternalUserExpirationInDays 365

# Disable external sharing for sensitive site

Set-SPOSite `

-Identity "https://contoso.sharepoint.com/sites/finance-audit" `

-SharingCapability Disabled

```

Health Monitoring and Reporting

```powershell

# Get sites with no activity in 90 days (stale sites)

$allSites = Get-SPOSite -Limit All

$staleSites = $allSites | Where-Object {

$_.LastContentModifiedDate -lt (Get-Date).AddDays(-90) -and

$_.Template -notlike "*REDIRECT*" -and

$_.Template -notlike "*MY*" # Exclude OneDrive

}

Write-Output "Stale sites (90+ days): $($staleSites.Count)"

$staleSites | Select-Object Url, LastContentModifiedDate, StorageUsageCurrent |

Export-Csv "C:ReportsStaleSites.csv" -NoTypeInformation

# Sites approaching storage quota

$nearQuota = $allSites | Where-Object {

$_.StorageQuota -gt 0 -and

($_.StorageUsageCurrent / $_.StorageQuota) -gt 0.8

}

Write-Output "Sites at 80%+ storage quota: $($nearQuota.Count)"

```

Bulk Operations

```powershell

# Apply same settings to all sites in a hub

$hubAssociatedSites = Get-SPOSite -Limit All |

Where-Object HubSiteId -eq "hub-site-id-here"

foreach ($site in $hubAssociatedSites) {

# Apply theme

Connect-PnPOnline -Url $site.Url -Interactive

Set-PnPWebTheme -Theme "Contoso Brand Theme"

# Set external sharing off

Set-SPOSite -Identity $site.Url -SharingCapability Disabled

Write-Output "Updated: $($site.Url)"

}

```

SharePoint Admin Center vs. PowerShell

| Task | Admin Center | PowerShell |

|------|-------------|-----------|

| Create one site | ✅ Easier | ✅ Also works |

| Create 50 sites | ❌ Manual | ✅ Scripted |

| Audit all site admins | ❌ Not available | ✅ Available |

| Apply theme to all sites | ❌ Manual per site | ✅ Scripted |

| Generate storage report | Partial | ✅ Full detail |

| Manage lock states | ✅ Available | ✅ Also works |

| Feature activation | Per site only | ✅ Bulk scripted |

For any operation affecting more than 5 sites, use PowerShell.

Conclusion

Effective SharePoint site collection administration requires both understanding of the architecture and proficiency with PowerShell. The SharePoint Admin Center handles day-to-day tasks, but bulk operations, reporting, governance enforcement, and automation require the PnP PowerShell module and SPO PowerShell.

EPC Group provides SharePoint administration services ranging from day-to-day support contracts to governance program design and PowerShell automation. Contact us to discuss your administration needs.

Share this article:

Written by Errin O'Connor

Founder, CEO & Chief AI Architect | Microsoft Press Bestselling Author | 25+ Years Microsoft Ecosystem

Errin O'Connor is a Microsoft Press bestselling author of 4 books covering SharePoint, Power BI, Azure, and large-scale migrations. He leads our SharePoint consulting practice with expertise spanning 500+ enterprise migrations and compliance implementations across HIPAA, SOC 2, and FedRAMP environments.

Need Expert Help?

Our SharePoint consultants are ready to help you implement these strategies in your organization.