Skip to main content
WordPress made easy with the drag & drop Total WordPress Theme!Learn More

Create WordPress Product Demo Sites with Ninja Demo

May 16, 2014

If you aren’t using Ninja Demo for your WordPress product, your demo site probably sucks and you’re losing sales because of it. I’m not trying to pick a fight; I’m just stating the cold hard facts. How do I know? Because up until just a few weeks ago, my demo site sucked too.

Most of us who sell WordPress products get tons of requests to try it before buying it. A demo site is the perfect solution for this, but only if it’s done right. The problem is, none of us have been doing it right. We all have our own approaches, however, at the end of the day, we all suffer from the same shortcomings.

Note: This product has been discontinued. We recommend checking out our guide to create a staging site and choosing a live staging option to create a demo site for your product.

How We All Do Demo Sites Currently

Very quickly, let me try to describe what we all currently do. If I completely miss the mark, feel free to let me know in the comments, but I think this is fairly close to at least 99% of the demo sites out there today.

  1. We create our content, users, and design the way we want our demo site to be presented.
  2. We create a backup of the database.
  3. We write a cron that updates the database every hour or at some other interval.
  4. We hack together a series of code snippets and plugins to restrict what sections of the admin are accessible and what actions can be carried out.

Some of us automate this process better than others, but at the end of the day, all of our solutions have major flaws.

Why Demo Sites Currently Suck

There are plenty of reasons they suck, but let me cover only two. I promise, they are the only two you’ll need.


1. User Content Corruption

All of our users are trying to test the same data at the same time.

A cron that restores a backup of the database every hour doesn’t solve this. In fact it only causes more confusion. A user is testing something for several minutes and then, all of a sudden, the work they’ve been doing is completely gone.

The current demo solutions place all users in the same WordPress install, editing the same content, and modifying the same settings. If you have several users testing the same things at the same time, I can only promise you one thing: it’s not going to work for any of them. In “product world” that means the majority of users will just assume your product is broken and move on.

2. Laborious Content Updates

We have to jump through several hoops to update the demo content.

No matter how good your demo site is, it will need to be updated frequently. WordPress and plugins need to be kept up to date. As your product matures, doubtless your content will become stale and need some fine tuning. Based on how we’re all currently creating demo sites, let’s consider how challenging it actually is to update a demo site.

  • We can’t just make changes to content because users may have been, or may be currently, editing the demo. We certainly don’t want all of that possible mess in our new backup.
  • We need to kick current users out and prevent them from being able to modify anything while we’re doing our updates.
  • We need to restore the demo to our clean back up so we have a fresh starting point to add our changes to.
  • Once our changes are made, we need to make a new backup.
  • We need to release the user restrictions so demo site is once again accessible to the world.

That doesn’t seem too bad as a nice and tidy list, but if you’ve had to do it on your own demo site several times, you know that it’s a huge buzz kill. Your demo site should be a playground where people can see how awesome your product it is. This won’t happen if you see it as some sort of chore. Over time your demo site will probably be neglected.

The Future of WordPress Demo Sites

It doesn’t have to be your future. It can actually be your present with Ninja Demo.

We built Ninja Demo to solve the two major challenges we just talked about and a host of others. From our perspective, until they were addressed, our demo was probably doing more harm than good.

1. Users all test your product in their own sandbox

This was key. I want a user to be able to experience our products as if they were working on their own WordPress site.


Using the power of WordPress multisite, when a user decides to try the demo a brand new sandbox is created just for them. It’s has all the same content and settings as the main demo site, but it’s only visible to them. This allows them to make any changes they want and test the product thoroughly without impacting anyone else. Likewise, no one else will impact them.

The other great thing is that these sandboxes don’t just implode at some sort of interval. They remain live as long as the user keeps the demo site open in their browser. This way, they can test your product for 10 minutes or 10 hours and all their unique changes will be preserved.

Once a user has finished and closes the demo, it will trigger a purge of the sandbox within the hour. You won’t have any left over clutter, as sandboxes are completely deleted without a trace when they are no longer in use.

2. The main site in the network is your backup

Backup probably isn’t the right term. The main site of your network is all your demo content. When a sandbox is created, it simply duplicates that site in whatever state it’s in.  That way when you want to make a change, all you have to do is log into your main site and make any changes you want. All new sandboxes will automatically get those changes.

As I’m the one who generally maintains our demo site, I love this. I’m actually excited to dream up new ways to promote our product in the demo because making those changes is so easy and they’re instantly available.

3. User can only access what you let them


Security and access is always an issue with a demo site. To test your product properly, users often need to be able to access the WordPress admin. We don’t want the users being able to do everything under the sun; we just want them to fully test the product.

Ninja Demo comes with a complete whitelist settings section where you can select what sections of your admin users can access. This doesn’t modify the capabilities of your demo user, so even in a whitelisted section the user will only have the ability to perform the actions of that role.

The great thing about this is that you can give different demo users access to the same sections, but they will still only have the capabilities that those roles allow.

Another great thing about Ninja Demo is that only a Super Admin has access to the main site on your network. This means that you don’t have to worry about your demo admin user messing with your default content. It also makes the demo more secure, as many of the capabilities that an admin might normally have aren’t possible in a network install.

A product demo doesn’t have to just be about trying a product

If Ninja Demo only ever planned on solving the “demo” problem, we think it would be a pretty fantastic product. It’s easy to set up. It’s easy to keep updated. And best of all, it just does what it’s supposed to do. We still think your demo can do more though.

Here are just a few things we think your demo site could do to help you improve your product and increase your sales:

  1. Collect data about how users are testing your product, and the most looked at pages and features.
  2. Get feedback from users about specific parts of your product.
  3. Present different versions of your product to users (A/B Testing) to see which they prefer.
  4. Use your demo as a training tool by giving your users a guided tour of your product.

All of those things and more are coming to Ninja Demo. Thanks for making it through this wall of text, and we hope that you give Ninja Demo the opportunity to make your demo suck less and your products even better.

Article by Kyla staff
Subscribe to the Newsletter

Get our latest news, tutorials, guides, tips & deals delivered to your inbox.


  1. Sean Davis

    My previous demo sucked… I won’t even lie. In fact, I probably shouldn’t even call it a demo. I had visitors looking at the front-end of a theme framework when the thing’s features were all back-end. Logging in wasn’t even an option!

    I’m so glad that I picked up Ninja Demo. I even restructured my homepage because now I’m proud to have a big button linking to the demo when at first it was a little text link hidden below a button that led to a page full of features. -___-

    Thanks for building Ninja Demo. Easily the most exciting plugin I’ve spent money on in a while… and well worth it.

    • James Laws

      Sean, thank you so much for the kind words and great job on your demo.

  2. Hermann LAHAMI

    It’s been few years now and looks like this project has been put on hold due to the team busy schedule. We developed a private demo generation system so our clients could be able to check the backend of our plugins and see how it works. They could create a clone of an existing website into a different folder of the server, login there and then manipulate the plugin or theme we wanted them to check.

Leave a Reply

Your email address will not be published. Required fields are marked *

Learn how your comment data is processed by viewing our privacy policy here.