Below is a checklist of tasks that should be done before setting a site to 'go live'. These steps will increase security and performance, and also (in some cases) make your site appear more professional.
Properly Secure Your Site
Follow the directions in our Security Best Practices guide to properly secure your site. These steps should ALL be performed before considering a site ready to go live. Ideally your 'Security Audit' section at the top of your admin page should be cleared.
Enable HTTP Compression
Optimize your bandwidth by GZipping static and dynamic content. See this blog for more information.
Add an SSL Certificate
Customers look for the "closed lock" on your site when they want to checkout. A SSL Certificate is not only good business, for many Gateways it's required. The brand of certificate rarely matters anymore, so don't get talked into a $300/yr certificate when a $30 one will do the same thing.
NOTE: Google Checkout does require a certificate from one of their approved SSL authorities. See the list here for details.
In order to use SSL on multiple site domains, a certificate that supports multiple domains is required, or multiple single site certificates. You will also need to create a new LiveServer appconfig for each store and set it to the appropriate domain.
Turn off Debug Mode
Edit your web.config file, and search for "debug". Make sure you set it to false (debug="false"). This will improve your website load times, and overall performance.
Rename Admin folder
"Admin" is easy to guess, so rename your Administration site. Then set the AdminDir AppConfig to the name of the new folder, so the store will know where to find it.
Lock-down your Administration site
Require a Windows Authenticated login for your admin folder. You can request this via your hosting company.
Re-compress product images
You can maximize your bandwidth, and even double your throughput by heavily compressing your product images. This blog
has more information.
Set-up redirects for non-www requests
If you want to make sure *all* requests go to your www-site instead of your non-www site, setup a redirect in IIS. Here's how
Make sure that you're not excessively-blocking search engine spiders. Consider the images folder... do you want your product images to be searchable? Have you added any custom pages that you don't want indexed?
Open the web.config file, and search for "MachineKey". Every site should have a unique set of validation and decryption keys. You can generate your own here
Set a memory limit for your AppPool
Here's a good whitepaper
(somewhat dated, but still accurate) on how to configure the AppPool for your web application.
Remove unused files from the site
Any files that your site doesn't use should be removed for your site (don't delete the file, just move it off the site in case you need it later). After removing any file, be sure to test your site to ensure you didn't break any functionality. Here's a list of files that are often removed:
Set a custom error page and enable custom errors
In the web.config file there is a "customErrors" element. When you are convinced that your site is working properly you should set customErrors to On and create a static .htm page to be shown to your customers when an error occurs on the site. This will A) prevent your customers from seeing an ugly .NET exception if an error does occur, and B) will prevent your site from disclosing potentially sensitive information about your hosting environment such as the database name (in the case of a SQL error) or disk path of your site.