Preparation
Copy the Site Contents
Robocopy the existing site to the target premium server.
Use Find a site to find the source file location. https://helpjuice.com/users/sign_in?_subdomain=citrus-lime&fallback_url=https%3A%2F%2Fhowto.citruslime.com%2Fen_US%2F56780-infrastructure%2F359109-citrus-lime-database-locations&kb_language=en_US
Robocopy <<source>> <<destination>> *.* /XO /E /Z
Example
robocopy \\CITRMANWEB28\websites\citruslime.com\SWAQ\www.millracegardencentre.co.uk \\CITRMANPWEB05\websites\citruslime.com\SWAQ\www.millracegardencentre.co.uk *.* /XO /E /Z
IIS Setup
Create AppPools for the site (if several one per site) ensure the user identity is set correctly for the server. This will typically be
Set AppPool recycle time to 03:10
With the name
<Code> - <Site>
e.g.
SWAQ - www.millracegardencentre.co.uk
Edit the Site -> Authentication
Select Anonymous User and set this to the Application Pool identity (otherwise you will get a 401 when you try accessing the site.
Add the website using the same naming format as the AppPools
For the physical path target the site location via the C: drive C:\Websites\citruslime.com\SWAQ\www.millracegardencentre.co.uk
Set the hostname as per the site www.millracegardencentre.co.uk
Set the type to be https and 'Use Centralzed Name Store'
Click require Server Name Indication
Clear the option to start the site immediately
Add a HTTP binding, the easiest way to do this is to look at the settings on another site.
Repeat the HTTP and HTTPS process but with the www hostname
.e.g Create HTTP and HTTPS bindings for millracegardencentre.co.uk
We now have four bindings

Create a new c:\imagecache\site folder e.g.
c:\imagecache\www.millracegardencentre.co.uk
If there is already a site on this server ensure it's got it's own imagecache folder. Check the AppPool identity has full control over this new folder.
Create a /feeds virtual directory mapped to \\feeds.local\websites\citruslime.com\CITR\ShoppingFeeds.
Set permissions using this script.
\\citrwebapp01\c$\websites\CITR\createweb.citruslime.com\ps\SetSitePermissions.ps1
Example \\citrwebapp01\c$\websites\CITR\createweb.citruslime.com\ps\SetSitePermissions.ps1 -Path C:\Websites\citruslime.com\SWAQ\www.millracegardencentre.co.uk -User CITRMANPWEB05_IUSR
Testing
Start the sites. Edit your local hosts file to set the sites to the public IP address which is mapped to this server. The easiest way to do this is to ping the hostname of another site on the server.
PING www.workingclassheroes.co.uk (178.238.142.68)
Set hosts file accordingly.
Mine looked like this.
178.238.142.68 millracegardencentre.co.uk 178.238.142.68 www.millracegardencentre.co.uk 178.238.142.68 www.swallowaquatics.co.uk 178.238.142.68 swallowaquatics.co.uk
You can now test the site on your local machine. Place test orders and then delete the hosts entries so you are seeing the 'real' site on the standard server.
Contact the customer and explain we are going to move the database.
1. Shutdown the old site in IIS Manager.
2. Backup the database and restore this to the new machine
3. Set the web.config on both the older standard site and the new site to target the new database location.
4. Start the sites on the standard server, ensure they are still available
5. Ask the customer to change their DNS to target the new premium server IP (or change it outselves if we have control)
6. Rerun the RoboCopy script to ensure any images uploaded since the premium site was setup are copied across
7. Change the site path on the background server CITRMANWEB1 to map to the new premium site location.
8. The next day delete the sites from the standard server.