10 Ways to Set Up a Testing Environment for WordPress

It’s very important to have an environment where you can test new themes and plugins without breaking your live site. That’s why many WordPress site administrators choose to set up a staging ground for exploring new options and then committing them to the live site after thorough testing. We’ve put together a list of some of the best ways to set up a testing environment. The local environments will depend on your operating system. Bookmark your favorites and start working unplugged!

DeployMint

DeployMint is a staging and development environment made especially for those using WordPress Multisite. It works as a plugin to take snapshots of sites within WordPress multisite and then turns them into staging environment(s), featuring robust version control and zero down time during deployments.

Read more about it in our introductory article or download DeployMint for free from its project home at Google Code.

Instant WordPress


Instant WordPress is a complete standalone, portable WordPress development environment that can even run from a USB drive. It’s easy enough for anyone to use – developers and non-developers alike. Instant WordPress is entirely free and made for WordPress, so you don’t need to set up a database and install each time you want to create a new development site. Read our recent article for more information and download it from the Instant WordPress homepage.

Local WordPress Install with MAMP


Smashing Magazine has a very comprehensive tutorial on getting set up with MAMP (Macintosh, Apache, Mysql and PHP). Their guide will take you step by step through the process of setting up a local development server on your Mac.

Local WordPress Install with XAMPP

xampp splash screen
Siobhan wrote an excellent step-by-step tutorial on creating a test environment for WordPress on your Windows machine. Follow her instructions and you’ll be up and running with XAMPP in a matter of minutes. The tutorial then guides you through setting up a WordPress installation on your new local server. Check out: Install WordPress Locally on Windows with Xampp

Clone Your Production Site with the Duplicator Plugin


The Duplicator plugin lets you easily clone a WordPress site for use in another location. This is especially helpful if you want to create an exact copy of your production install to use as a testing environment on your local server or elsewhere. Read our introductory article and download the Duplicator plugin for free from the WordPress plugin repository.

Multisite Subdomain Test Environment for Mac

Here’s a tutorial from Paul Tech aimed at those using WordPress multisite. It shows you how to easily pull down your site, make changes, test, and upload to your production environment. The tutorial walks you through the process of dumping your database, moving files, setting up a MAMP test environment, configuring your subdomains to work, as well as sending the files and database back to production. Read the tutorial at: WPMU Sub Domain Test Environment on the Mac

Create a MacOS X Local Mirror of a Production Site


This tutorial comes to you from the WordPress codex. It contains a step-by-step guide for configuring Apache and PHP, create an example.mirror static site, install and configure MySQL, set up the WordPress user and database and then automate the updating of your local mirror with the contents of your blog.

DevPress Development Environment Tutorial

This tutorial is from Patrick Daly of DevPress. Basically the tutorial assumes that you’ve already used WAMP, XAMPP, MAMP or the like to set up a local development environment. Then you’ll learn how to use your real domain and edit your HOSTS file and Apache’s httpd.conf. Patrick also points you in the right direction for source control and deployment. This may be the perfect staging environment for you. Read the tutorial at: A really sweet WordPress development environment

BitNami WordPress Stack


BitNami WordPress Stack is a free, self-contained package that has everything you need in order to run WordPress for development or production. Downloads are available for Windows, Mac and Linux. Check out the WordPress codex article on installing the BitNami WordPress Stack.

Create virtual development websites with DesktopServer


DesktopServer is a product from ServerPress that lets you create isolated development sites for dozens of projects, accessible from your desktop web browser via a fictitious, pseudo top-level domain name. It’s based on XAMP but optimized specifically for WordPress developers and designers. It includes automatic WordPress database installation, configuration, and removal, as well as a unique integrated virtual hosting domain name manager. The free DesktopServer Limited allows for 3 virtual host servers, which is definitely enough for you to try it out. Downloads are available for both Windows and Mac.

Do you have another favorite method for setting up a testing environment? Let us know in the comments!

Comments (31)

  1. I’ve already set up the local hosts using XAMPP and MAMP on different computers, but that duplicator plugin is going to help enormously as I’m trying to redo a few sites and transfer some others. Thanks!

    • It depends entirely on your OS, your skill level, how much time you want to put into it, etc. This is something you need to test and explore on your own to find what you are comfortable with. Most of them take minutes to set up, so just just out a few and settle on your favorite :)

  2. Anyone know how to increase the import file size in phpmyadmin? Tried modifying the PHP.INI file to no avail… specifically the file upload and post size parameters. I’m assuming it’s the production version file located in the php folder… thx in advance.

  3. I use WebMatrix from Microsoft. Been happy with it so far.

    I can test the site using the major popular browsers locally. Once I am happy with it, I can then upload to server for the public.

  4. I have set up a WAMP server on my Windows machine and then installed wordpress locally. I then simply install a theme on that installation whenever I want to test it out and see how it will look when it is live. When all work is done, I simply transfer the site to a Web server and voila! I have not been disappointed. I want to try “Instant WordPress” though and see how it works for me.

  5. Thanks Sarah for the informative list of ways to set up a testing environment for wordpress. To make it easier to use on Mac. I used the Multisite Subdomain Test Environment on Mac
    A tutorial is comprehensive in using WordPress multisite. It shows me how to easily pull down my site, make changes, test, and upload to the production environment. I like process of dumping the database, moving files, setting up a MAMP test environment, configuring my subdomains to work, as well as sending the files and database back to production. Many thanks for sharing this blog. I think I will try another way that you’ve recommended.

  6. Hi there Sara, what a great list you show here, thank you for that.
    I am maybe not reading/understanding well enough but what I(we) look for is some as above but one which allow us to make changes locally (updating our theme and/or adding own code snippets to functions.php and so on)and updating it again to the live site.
    But we are not sure if it is able to update an existing database and changed files or completely overwrite all.
    (Which should not be done ofcourse! else we start to cry because in the time we want to make our updates/changes, new users arived/register and wouldn’t exist anymore at moment the dbase is also overwritten)
    Would apreciate some help/advice to pick the right one.

    ps, sorry for my bad english it is not my native, but hope you or someooe else understands what is meant and could point us in the right direction.

  7. Of course the real fix would be to clean up WP so that it is location independent. However, this would require professional programmers (he said cynically).

    Why is this important? Because the current approach is to layer band-aids and patches on top of messy and redundant layers, and eventually this approach collapses when maintenance takes more than 100% of real time. Someone else comes along with a clean start and takes the market. It has happened over and over, and this time will be no exception. Ask an old timer.

    If you want to preserve your investment in WP, eschew tweaks, fixes, clever workarounds, inside knowledge, and everything like this. Insist on cleanups and transparent and properly structured app instead.

  8. Thank you, Sarah, for all the useful articles that you write. I have one question. For a total beginner, which would be better: Instant WordPress or Desktop Server? I want something simple to start with, but I also want something that is reliable.

      • Hi Sarah,
        Is it possible to transfer the local installation of wordpress(complete with theme,plugins,posts,categories,etc) built using DesktopServer to a live server ?
        I’ve currently placed placeholder theme on mydomain.com and intend to build the site locally and transfer it to live server when its ready.
        Is is advisable to do it this way or is some other method preferable like building the blog on subdomain.domain.com and transferring it to domain.com when its ready ?

Participate