There are many options when you’re looking to deploy or launch a new website. If you have an existing site at the domain you’ll use, you can either set up the new site on a deployment server or set it up on the actual domain you’ll be using. There are pros and cons to both options. Here’s a breakdown.
[quote]Would you rather build your house on the land where it will be or build it down the street and then move it with a crane?[/quote]
Note, there are other more complex options (SVN, etc.) that I’m not going to get into here. Also, I’m assuming that hosting might not be optimal (say, moving from a standard cPanel host to a GoDaddy hosting account). Finally, sometimes you don’t have access to everything you’d like e.g. cPanel, MySQL, PHP MyAdmin, which can make moving a site even more cumbersome.
With this option, you’re setting up your new site on the domain it will be on when live e.g. actualdomain.com. You’re either going to use a Maintenance Mode (if there’s not already an existing site) or hide the site from all but those logged in.
- Speed: no moving, migrating, just turn on (and turn old site off)
- Simplicity: when launching, usually only have to edit or remove a single file and done
- Cost: if only changing a single file, little time and cost involved
- Complete: no search and replace (and possibly missing some e.g. widgets)
- Accounts: you can already set up e.g. WordPress Jetpack stats (and not have to worry about which domain it’s tracking)
- Conflicts: Could conflict with current site (if same URL)
- Hide: Need to hide new site so Google (search) doesn’t get confused
- Compatibility: maybe current domain is ASP and you’re building a new PHP site that prefers UNIX hosting. Ouch.
By using a development site/server, you set up the site on another domain (or a subdomain of the actual domain e.g. actualdomain.com/devsite).
- Simplicity: no need to worry about conflict with current/actual site
- Compatibility: you can build whatever you want, however you want, with no regard for the server configuration of the future host
- Cost: Need to migrate/move/transfer to real domain
- Complexity: especially if you can’t do a clean PHP MyAdmin or MySQL database migration, things can get messy and manual
- Speed: it’s going to take longer than flipping a switch …
As you can see, it’s going to depend on your situation. For example, if your current site is hosted on a Windows server, maybe you can’t set up your WordPress site there just yet and you’ll need to build it elsewhere, change hosting for the actual domain, then move it.
But in a nutshell, I find that if you can build the new site on the actual server, it’ll make lots of elements lots simpler.