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.
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.
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.
Expert SharePoint Services
Need Expert Help?
Our SharePoint consultants are ready to help you implement these strategies in your organization.