The process I normally take is this:
Main website: website1.com
Temp Site: 188.8.131.52 (ip address etc..)
Change your home & main website url to the ip address in WP. RE-upload or adjust all of your images if you are doing that, if you have already backedup and moved your images then no need to re-upload.
Make your adjustments being careful NOT to hard code the ip address within the template files of WP.
Right before you are ready to change the DNS I go into WP and alter my settings from the IP to the real website domain name. Next I open PHPMyAdmin and go to the table "wp_posts".
I then run a replace command and replace ALL ip addresses with the real website:
UPDATE wp_posts SET post_content = REPLACE(post_content, '184.108.40.206', 'http://www.website1.com')
This will replace all hard coded links to images or url's you have in your content to the new site.
Then alter your DNS and you should be fine. :)