There are numerous ways you can setup a staging area for a site redesign. Here are three suggestions:
- If the content will remain the same and you’re just going to change the theme, you can use a plugin that changes the theme based on the user and set yourself (and your client when appropriate) to use the new theme. Here’s a plugin to do this (Note: I’ve never used this, so can’t vouch for it).
- Similar to the above, you can use WordPress’ built-in theme preview functionality to test out new designs. Just add something like
?preview=1&template=twentyten&stylesheet=twentyten
to the end of your URL (replacing twentyten as appropriate) - If the content will be different, the above clearly aren’t options. Regardless, another choice would be to setup a testing subdomain, e.g. redesign.site.com and host the new site on that. If you set this up on the same server as the old site, you can launch it in a matter of moments by changing the domain in the new install’s general settings and changing your web server config to point the live domain to the new location. Otherwise, you can just move everything over when the time is right.