If you're selling a WordPress theme or plugin, having a live demo helps visitors explore your product before they buy. It's critical to keep everything updated to avoid any security issues. Hackers and spammers don't sleep. They keep searching for glitches to exploit.
This post is for WordPress plugin developers and Theme Designers.
Here are several practical tips to keep your self-hosted WordPress demo sites up to date.
1.Manual Update via WP Admin
The most obvious and easy approach is to log into each WordPress site's admin area and perform updates manually through the WordPress Dashboard. You can go to Dashboard → Updates, then click to update WordPress plugins, and themes individually or in bulk, and finally, WordPress (core) itself. You want to ensure that the plugins and themes have been updated and tested with the version you want to update to.
While this gives you control and visibility over what’s being updated, it quickly becomes a burden if you're managing multiple demo or staging sites. It's repetitive, time-consuming, and prone to being forgotten—especially when updates are released late at night, on weekends, or during holidays.
Relying solely on manual updates also increases the risk that potential customers see outdated features, broken layouts, or security warnings when visiting your demo. That’s why automated solutions (like this script or external management tools) are a far better option for maintaining polished, up-to-date demo environments.

2. Automate WordPress Updates with WP-CLI
If you know bash or have a developer friend they can help you automate the updates.
In this case we are using WP-CLI to automate updates like a pro:
We'll use the same update process as in option 1 but via command line.
Let's update all WordPress themes.
wp theme update --all
.. and then WordPress plugins
wp plugin update --all
if you have WooCommerce installed you need to run this, so WooCommerce updates its database and doesn't prompt you.
wp wc update
if you are using Elementor you need to run this, so it updates its database and doesn't prompt you.


wp elementor update db

Now we can proceed to update WordPress itself
wp core update
wp core update-db

To be able to run these commands you need to be comfortable with command line tools.
They must be run within the WordPress folder where the demo site is or via a cron job on your demo site.
3. Automatic update using orbisius/wp_updater project on github.
This php script written by the Orbisius team [the parent company behind wpdemo] allows you to update one more demo sites. It's small and powerful. It will give you feedback when it's updating a given section. It will start from one folder and try to find WordPress installations and start updating them one by one.
Open this https://github.com/orbisius/wp_updater repository and download 000_wp_updater.php script and upload it where your WordPress demo is. That's where wp-config.php file is. You need to edit the file so you change the code, so only you know it.
The file can be run from the command line or via the web.
Note: If your hosting provider blocks functions such as shell_exec() this won't work, though.
How to use it:
- Upload 000_wp_updater.php file using an FTP program or using your hosting control panel's File Manager.
- Edit the file and update the $code variable to something secure.
- Place it in the WordPress root directory where wp-config.php is.
- Then access it in your browser and pass the code you entered.
https://yourdemo.com/000_wp_updater.php?go=SomeSmartCode
This script can be run from the browser or via the command line.
It will go and update the plugins, themes and finally WordPress. It will provide information as it's processing each section. The script also checks if you are running WooCommerce and Elementor and triggers their update code as well, so you are not prompted to update db anymore.
Important: This script is for demo use only — it doesn’t back up your site. A bad plugin or theme update could break things.
You must back up things just in case.