Skip to content

Instantly share code, notes, and snippets.

@blacktambourine
Created July 13, 2017 04:25
Show Gist options
  • Save blacktambourine/5b3ec8e56ba8cae651fad5ef81d80e78 to your computer and use it in GitHub Desktop.
Save blacktambourine/5b3ec8e56ba8cae651fad5ef81d80e78 to your computer and use it in GitHub Desktop.
Powershell to speed up Sitecore statup times
# SCRIPT CONFIG
# Set disable features to "true" for faster startup times, "false" re-enables them.
$disableFeatures= "true"
# Set the webroot of your Sitecore Website.
$sitecoreWebroot= "D:\inetpub\wwwroot\CoC\Website\"
# folder to backup these configs
$backupFolder= $sitecoreWebroot + "_zConfig\"
#END SCRIPT CONFIG
Write-Host "STARTING SpeedUp.PS1"
Write-Host "webroot: " $sitecoreWebroot
Write-Host "disableFeatures: " $disableFeatures
Write-Host "backupFolder: " $backupFolder
# Check that "aSpeedup.config" exists, throw exception if not as Sitecore needs this when removing these other configs
$aSpeedupConfig= $sitecoreWebroot + "App_Config\Include\aSpeedup.Config"
if (-not (Test-Path $aSpeedupConfig))
{
throw [System.IO.FileNotFoundException] "aSpeedup.Config not found. Please download and add to your 'App_Config\Include' folder"
}
#CREATE BACKUP FOLDERS
# Create Backup folder if it doesn't exist
If(!(test-path $backupFolder))
{
Write-Host "backupFolder does not exist, creating folder: " $backupFolder
New-Item -ItemType Directory -Force -Path $backupFolder
}
# Create "App_Config\Include\" folder if it doesn't exist
$appFolderBackup = $backupFolder + "App_Config\Include\"
If(!(test-path $appFolderBackup))
{
New-Item -ItemType Directory -Force -Path $appFolderBackup
}
#END CREATE BACKUP FOLDERS
#IF DISABLE CONFIGS
# CES Configs
$cesFolder= "App_Config\Include\CES\"
$cesConfigs= $sitecoreWebroot + $cesFolder
$cesBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $cesConfigs $cesBackup
Write-Host "CES has been disabled"
}
# Content Testing Configs
$ContentTestingFolder= "App_Config\Include\ContentTesting\"
$ContentTestingConfigs= $sitecoreWebroot + $ContentTestingFolder
$ContentTestingBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $ContentTestingConfigs $ContentTestingBackup
Write-Host "ContentTesting has been disabled"
}
# FXM Configs
$fxmFolder= "App_Config\Include\FXM\"
$fxmConfigs= $sitecoreWebroot + $fxmFolder
$fxmBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $fxmConfigs $fxmBackup
Write-Host "fxm has been disabled"
}
# List Management Configs
$lmFolder= "App_Config\Include\ListManagement\"
$lmConfigs= $sitecoreWebroot + $lmFolder
$lmBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $lmConfigs $lmBackup
Write-Host "list management has been disabled"
}
# Marketing Configs
$mFolder= "App_Config\Include\Marketing\"
$mConfigs= $sitecoreWebroot + $mFolder
$mBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $mConfigs $mBackup
Write-Host "Marketing has been disabled"
}
# Social Configs
$sFolder= "App_Config\Include\Social\"
$sConfigs= $sitecoreWebroot + $sFolder
$sBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $sConfigs $sBackup
Write-Host "Social has been disabled"
}
$rootConfigFolder= "App_Config\Include\"
# Commerce Configs
$commConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.Commerce.*"
$commBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $commConfigs $commBackup
Write-Host "Commerce has been disabled"
}
# Experience Editor Configs
$eeConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.ExperienceEditor.*"
$eeBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $eeConfigs $eeBackup
Write-Host "Experience Editor has been disabled"
}
# Experience Explorer Configs
$eexConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.ExperienceExplorer.*"
$eexBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $eexConfigs $eexBackup
Write-Host "Experience Explorer has been disabled"
}
# Path Analyzer Configs
$paConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.PathAnalyzer.*"
$paBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $paConfigs $paBackup
Write-Host "Path Analyzer has been disabled"
}
# Misc Configs
$zzzConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.MvcSimulator.config"
$zzzBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $zzzConfigs $zzzBackup
Write-Host "MvcSimulator has been disabled"
}
$zzzConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.Processing.config"
$zzzBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $zzzConfigs $zzzBackup
Write-Host "Processing has been disabled"
}
$zzzConfigs= $sitecoreWebroot + $rootConfigFolder + "Sitecore.WebDAV.config"
$zzzBackup= $appFolderBackup
If ($disableFeatures -eq "true")
{
move-item $zzzConfigs $zzzBackup
Write-Host "WebDAV has been disabled"
}
#END IF DISABLE CONFIGS
#ELSE IF ENABLE Configs
#move everything in the backup folder back to the webroot
If ($disableFeatures -eq "false")
{
Write-Host ($backupFolder + $cesFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $cesFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $ContentTestingFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $fxmFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $lmFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $mFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $sFolder) ($sitecoreWebroot + $rootConfigFolder)
move-item ($backupFolder + $rootConfigFolder + "*.*") ($sitecoreWebroot + $rootConfigFolder)
Write-Host "All features have been re-enabled."
}
#END ELSE IF ENABLE Configs
Write-Host "SpeedUp.PS1 is DONE!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment