Let’s discuss what it takes to launch a typical WordPress site.

For this example we’ll assume you have a development site up and running that is now complete and ready to go live.

We’ll also assume that you’re not using any fancy deployment process and instead you’ll be launching on a fairly typical shared WordPress hosting environment where you have access to SFTP and cPanel.

Nothing good comes of rushing this process. Take your time and double check all of the steps. If you’re doing this for a client, warn them that you should plan the launch days in advance and be prepared for it to take a few hours once the process begins.

Steps

Halt all changes

Make sure you have agreement from all of your site editors that no more changes will be made on the dev site until the launch is complete. If they keep editing you will need to restart your launch process or their changes will be lost.

Backup backup backup

Now is the time to grab a backup of your dev site files and database. If there is a live site that you are replacing, do the same for it. Make sure these backups exist before proceeding.

For the files backup, use SFTP/rsync/FTP(last resort) to download all of the files for the site off the server.

For the database use your cPanel to gain access to phpMyAdmin and use the export functionality to download all of your tables. Make sure you export to file and select gzip for the compression.

Convert the database

Create a duplicate of your dev site database .sql export file.

If you have access to the WordPress CLI for your dev site it will be invaluable.

Use wp search-replace 'devsite.url' 'livesite.url' --export=renamed.sql

This is particularly useful as WP-Cli will recalculate any serialization.

Remember that the WP-Cli will not export or rename records that are in the database but are not WordPress tables.

Upload the files

Next part is straightforward. Make sure all of the dev site files are now on the live site. Update the wp-config.php file to use the new live site database name and credentials.

Upload the database

Using phpMyAdmin or whatever interface your web host provides, upload the dev site database .sql export.

Next if you have it, upload the renamed.sql file output from WP-Cli.

If you have done both of these, you’re probably in pretty good shape, but just to be extra sure, download an export of this database now.

Then using your favourite text editor, search replace for devsite.url and livesite.url to catch any reference that may be remaining.

Upload this updated database export to your site and your database conversion should be complete.

You’re live

At this point your site should be live and working, but there’s a few after launch steps that you should review.

Confirm site accessible

Check that your /robots.txt and your WordPress settings are not preventing search engines from indexing your site. You may have put restrictions on during the development phase that you no longer should have. Also confirm you do not have any htaccess/htpasswd password protection still enabled for the live site too.

Check your analytics

Confirm you’re receiving data from any 3rd party service that is included on your site. Check Google Analytics or similar to make sure you’re seeing traffic.

Monitor the situation

Keep an eye on the site. No launch ever goes perfectly. There will always be little things you discover you want to change after the launch. That’s normal, just stay on top of it.

Use redirect plugin

Use the WordPress Redirection plugin to monitor the 404 records on your new site and create redirection rules to point to where this content may be found on your new site.

That’s it

Congrats, you’re now live and monitoring the situation. It’ll get easier each launch.

Now may be a great time to look into alternative deployment procedures using git or staging steps provided by hosting providers like pantheon or wpengine.