WordPress.org

Plugin Directory

WP STAGING WordPress Backup Plugin – Migration Backup Restore

WP STAGING WordPress Backup Plugin – Migration Backup Restore

Description

Backup, Staging, Cloning & Migration of WordPress Sites

WP STAGING is a professional all in one backup, staging, and duplicator plugin. Unit and e2e tested on an enterprise level for all version of php 7.0 – 8.3.

Instantly* create an exact backup and clone of your website, perfect for staging, development, or simply keeping your data safe. *Cloning and backup time depends on the size of your website.
Perfect for staging, backup, or development purposes.

With WP STAGING, you can easily clone your site to a subfolder or subdomain (Pro version), complete with a full database copy, ensuring a seamless transition and a reliable backup. All data stays on your server and will not be transferred to any third party!

Our powerful backup tool is designed for speed and efficiency, making it one of the fastest backup and restore plugins available for WordPress. Even this free version allows you to restore a backup of your website in minutes if anything goes wrong. Experience peace of mind with WP STAGING.

For pushing & migrating a staging site to the production site and uploading a backup to cloud providers and for more premium features, check out WP STAGING | PRO

WP STAGING runs all the time-consumptive operations for database and file cloning and backup operations in the background. This tool does automatically a search & replacement of all links and paths.

This staging and backup plugin can clone your website quickly and efficiently, even if it is running on a weak shared hosting server.

WP STAGING can prevent your website from breaking or going offline due to installing untested plugins!

WP STAGING FREE – BACKUP & STAGING FEATURES

  • Clones the entire production site into a subdirectory like example.com/staging-site.
  • High Performance – Backup and clone an entire website, even with millions of database rows faster and less resource-intensive than with other plugins
  • Backup schedule. Create an automatic daily backup plan.
  • Easy to use! Create a clone / backup site by clicking one button
  • High Performance Background Processor – Runs the backup in the background very efficiently without slowing down your website
  • No Software as a Service – No account needed! All your data stays on your server. Your data belongs to you only.
  • No server timeouts on huge websites or small and weak servers
  • Very fast – Migration and clone / backup process takes only a few seconds or minutes, depending on the website’s size and server I/O power.
  • Use the clone as part of your backup strategy
  • Only administrators can access the clone / backup website.
  • SEO friendly: The clone website is unavailable to search engines due to a custom login prompt and the meta tag no-index.
  • The admin bar on the staging / backup website is orange colored and shows when you work on the staging site.
  • Extensive logging features
  • Supports all popular web servers: Apache, Nginx, Microsoft IIS, LiteSpeed Server
  • Every release passes thousands of unit and acceptance tests to make the plugin extremely robust, reliable and fast on an enterprise code quality level
  • Fast and professional support team

WP STAGING | PRO – BACKUP & STAGING FEATURES

The backup & cloning features below are Premium. You need WP STAGING | PRO to use those features. More about WP STAGING | PRO!

  • Migration – Migrate and transfer WordPress to another host or domain
  • Push staging website including all plugins, themes, and media files to the production website wth one click
  • Clone the backup / clone site to a separate database
  • Choose custom directory for backup & cloned site
  • Select custom subdomain as destination for backup / clone site like dev.example.com
  • Authentication – Define user roles for accessing the clone / backup site only. This can be clients or external developers.
  • Multisite Support – Migrate, backup and clone WordPress multisites
  • Backup Plans – Schedule recurring multiple backups by hours, time and interval
  • Backup Transfer – Download and upload backups to another server for migration and website transfer
  • Backup Retention – Select number of backups you want to keep on your server or cloud remote storage provider
  • Backup Custom Names: Choose custom backup names to differentiate easily between different backup files
  • Mail notifications – Be notified if a backup can not be created.
  • Backup of WordPress multisites
  • Backup to Google Drive
  • Backup to Amazon S3
  • Backup to (s)FTP
  • Backup to Dropbox
  • Specify custom backup folder destination for backup cloud storage providers
  • Priority Support for backup & cloning or if something does not work as expected for you.

DOCUMENTATION

Backup, Restore & Migration

How to Backup and Restore WordPress
https://wp-staging.com/docs/how-to-backup-and-restore-your-wordpress-website/

Backup & Transfer WordPress Site to Another Host
https://wp-staging.com/docs/how-to-migrate-your-wordpress-site-to-a-new-host/

All Backup Guides
https://wp-staging.com/docs/category/backup-restore/

Working with Staging Sites
https://wp-staging.com/docs/category/working-with-wp-staging/

FAQ for Backup & Cloning
https://wp-staging.com/docs/category/frequently-asked-questions/

Troubleshooting Backup & Cloning
https://wp-staging.com/docs/category/troubleshooting/

Change your workflow of updating themes and plugins:

  1. Use WP STAGING to clone a production website for staging, testing, or backup purposes
  2. Create a backup of your website
  3. Customize the theme, configuration, update or install new plugins
  4. Test everything on your staging site and keep a backup of the original site
  5. If the staging site works 100%, start the migration and copy all updates to your production site!
  6. If something does not work as expected, restore the previous backup

Can´t I just use my local WordPress development system like xampp / lampp for testing and backup purposes?

You can always test your website locally, but if your local hardware and software environment is not a 100% exact clone of your production server, there is NO guarantee that every aspect of your local copy works on your production website exactly as you expect it.

There are noticeable differences like the PHP version or the server your website is running under. Still, even such non-obvious settings like the amount of RAM or the CPU performance can lead to unexpected results on your production website.

There are dozens of other reasons why a local test website will never mimic the production site server. That’s why a successful local test or backup site is no guarantee that the site will run in the production environment as expected.

That is where WP STAGING shows its strengths… Site cloning, backup, and staging site creation simplified. WordPress cloning on an enterprise-ish level!

WP STAGING BACKUP & CLONING TECHNICAL REQUIREMENTS & INFORMATION

  • Works on latest version of WordPress
  • Minimum Supported WordPress Version 3.8
  • Cloning and Backup work on all webhosts
  • No extra libraries required
  • Backup & cloning supports huge websites
  • Custom backup format is much faster and smaller than any tar or zip compression
  • Backup & cloning works in low memory & shared hosting environments

SUPPORT

https://wp-staging.com/backup-wordpress

Screenshots

  • Create new WordPress staging / backup site (Dark Mode)
  • Create new WordPress staging / backup site (Lite Mode)
  • Select name for staging / backup site (Lite Mode)
  • Create Full Site Backup (Dark Mode)
  • Create Full Site Backup (Lite Mode)
  • Cloning / backup processing (Dark Mode)
  • Backup Complete (Dark Mode)
  • Login to staging site
  • Staging demo site

Installation

Installation via admin plugin search

  1. Go to Plugins > Add new. Select “Author” from the dropdown near search input.
  2. Search for “WP STAGING”.
  3. Find “WP STAGING WordPress Backup Plugin” and click the “Install Now” button.
  4. Activate the plugin.
  5. The plugin should be shown below settings menu.

Admin Installer via zip

  1. Visit the Add New plugin screen and click the “Upload Plugin” button.
  2. Click the “Browse…” button and select the zip file of our plugin.
  3. Click “Install Now” button.
  4. Once uploading is done, activate WP STAGING WordPress Backup Plugin.
  5. The plugin should be shown below the settings menu.

FAQ

Why should I use a Backup & Staging Website?

Plugin updates and theme customizations should be tested on a staging / backup platform before applying them on the production website.
Usually, it’s recommended having the staging / backup platform on an identical server like the production server. You can only catch all possible errors during testing with the same hardware and software environment for your test & backup website.

So, before you update a plugin or install a new one, it is highly recommended to check out the modifications on a clone / backup of your production website.
That ensures that any modifications work on your production website without throwing unexpected errors or preventing your site from loading, better known as the “WordPress blank page error.”

Testing a plugin update before installing it in a production environment isn’t done very often by most users because existing staging solutions are too complex and need a lot of time to create a
an up-to-date copy of your website.

You could be afraid of installing plugins updates because you follow “never touch a running system.” You know that untested updates increase the risk of breaking your site.

That’s is one of the main reasons WordPress installations are often outdated, not updated at all, and insecure because of this non-update behavior.

It’s time to change this, so there is no easier way than using “WP STAGING” for backup, cloning, and migration of your WordPress website.

How to install and set up a staging site / site backup?

Install WP STAGING backup via the admin dashboard. Go to ‘Plugins’, click ‘Add New’ and search the plugins for ‘WP STAGING’. Install the plugin with ‘Install Now’.
After installation, go to WP STAGING > Staging Sites and create your first staging / backup site

Is WP STAGING a backup plugin?

Yes, absolutely! WP STAGING started as a staging tool but evolved to a full fledged wordpress backup plugin. Even the free version can be used for backup purposes and comes with automatic backup background processing.
The pro version delivers you few more backup features like uploading a backup to cloud backup file storage providers like google drive, (s)FTP, dropbox, Wasabi, DigitalOcean or Amazon S3 but even the free version allows you to restore the backup files in case something happens to your production site. There are many other backup plugins out there but WP STAGING’s goal is to bring the reliability and performance of business and enterprise level quality assurance to a WordPress backup plugin to a new level.

We are offering a basic but still powerful backup feature free of charge for all users. If you want more, WP STAGING PRO will provide a full-fledged premium backup solution with enterprise code quality affordable for everyone.

Video: How we run automated tests on WP STAGING

What is the difference between WP STAGING backup and other backup plugins?

Note: WP STAGING | PRO provides more advanced backup functionality compared to other backup plugins. The speed and Performance of WP STAGING’s backup feature often exceed even the most prominent and most well-established backup plugins.

We are now adding more advanced backup features to deliver what other existing backup plugins are still missing.

You may have heard about other popular backup plugins like All in one Migration, BackWPUp, BackupWordPress, Simple Backup, WordPress Backup to Dropbox, or similar WordPress backup plugins and now wonder about the difference between WP STAGING and those backup tools.

Other backup plugins usually create a backup of your WordPress filesystem and a database backup that you can use to restore your website if it becomes corrupted or you want to go back in time to a previous state.

The backup files are compressed and can not be executed directly. WP STAGING, on the other hand, creates a full backup of the whole file system and the database in a working state that you can open like your original production website.

Even though WP STAGING’s basic has been started as pure staging plugin it now comes with powerful backup features. So it shifted from being mainly a staging plugin to a staging and backup plugin that can be used to restore a backup and bring back you website to a previous state
If you go with the WP STAGING | PRO version, you will get the same backup functionality of other backup plugins but at a much higher tested level and performance.

Note, that some free backup plugins are not able to support custom tables. (For instance, the free version of Updraft plus backup plugin). In that case, your backup plugin is not able to create a backup of your staging site when it is executed on the production site.
The reason is that the tables created by WP STAGING are custom tables beginning with another table prefix.
To bypass this limitation and to be able to create a backup of your staging site, you can use any backup plugin or the WP STAGING backup plugin on the staging site and create the backup from that site. That works well even with every other WordPress backup plugin.

Why do I need a Backup plugin at all?

Consistent website backups are the foundation of a robust disaster recovery strategy. For mission-critical websites,
frequent backups safeguard against data loss from hardware failures, software malfunctions, or even ransomware attacks.
By creating backups of website files, databases, and configurations at regular intervals, You can ensure a swift
restoration process, minimizing downtime and potential revenue loss.
Backups should encompass all essential data, including website code, content management system files,
user data stored in databases, and website configurations. Utilizing a combination of full backups and incremental
backups optimizes storage efficiency while capturing the latest website updates.
Furthermore, employing automated backup solutions streamlines the process, eliminating human error
and ensuring consistent data protection.
By prioritizing website backups, You demonstrate a commitment to data security and business continuity.

I want to backup my local website and copy it to production and another host

If you want to migrate your local website to an already existing production site, you can use our pro version WP STAGING | PRO.
WP STAGING is intended to create a staging site with the latest data from your production site or create a backup of it.

What are the benefits compared to a migration and backup plugin like Duplicator?

We like the Duplicator plugin. Even though Duplicator is not as fast as WP STAGING for creating a backup, it’s still is a great tool for migrating from a development site to production one or from production site to development one. Overall it’s a good tool to create a backup of your WordPress website.
The downside is that before you can even create an export or backup file with Duplicator, a lot of adjustments, manual interventions, and requirements are needed before you can start the backup process.
The backup plugin Duplicator also needs some skills to be able to create a backup and development/staging site. In contrast, WP STAGING does not need more than a click from you to create a backup or staging site.

If you have created a local or web-hosted development site and you need to migrate that site the first time to your production domain, you do nothing wrong by using
the Duplicator plugin! If you need all your latest production data like posts, updated plugins, theme data, and styles in a testing environment or want to create a quick backup before testing out something, then we recommend using WP STAGING instead!

If speed, performance, and code quality are a matter for you as well, give WP STAGING a try.

I can not log in to the staging / backup site

If you are using a security plugin like Wordfence, iThemes Security, All In One WP Security & Firewall, or a plugin that hides the WordPress default login URL, make sure that you have installed the latest version of WP STAGING to access your cloned backup site.
Suppose you can still not log in to your staging / backup site. In that case, you can go to WP STAGING > settings and disable there the WP STAGING extra authentication. Your admin dashboard will still be protected and not accessible to public users.

Can I activate permalinks on the staging / backup site?

Permalinks are disabled on the staging / backup site after first time cloning / backup creation
Read here how to activate permalinks on the staging site.

How to use a Backup file to Migrate WordPress Backup to another Host or Domain

The pro version of WP STAGING can backup your whole WordPress website.
With the pro backup function, you can backup and copy your entire WordPress website to another domain, new host, or new server very easily, and often faster and more reliable than with any other existing backup plugins.
Have a look at [https://wp-staging.com/docs/how-to-migrate-your-wordpress-site-to-a-new-host/](this article), that introduces the backup feature.

Is There a Translation of WP STAGING in my Language?

We have translated WP STAGING into five languages nearly completely:

English: WP STAGING Backup & Duplicator WordPress Plugin. Backup & Migrate WordPress websites.
French: Plugin WordPress de sauvegarde et de duplication WP STAGING. Sauvegarder et migrer les sites Web WordPress.
German: WP STAGING Backup & Duplicator WordPress Plugin. Migrate WordPress Webseiten.
Spanish: WP STAGING Complemento de copia de seguridad y duplicador de WordPress. Copia de seguridad y migración de sitios web de WordPress.

The following languages have been partially translated. You can help us with the translation:

Croatian: WP STAGING Backup & Duplicator WordPress dodatak. Izradite sigurnosnu kopiju i migrirajte WordPress web stranice.
Dutch: WP STAGING Back-up & Duplicator WordPress-plug-in. Back-up en migratie van WordPress-websites.
Finnish: WP STAGING Backup & Duplicator WordPress-laajennus. Varmuuskopioi ja siirrä WordPress-verkkosivustoja.
Greek: WP STAGING Πρόσθετο WordPress Backup & Duplicator. Δημιουργία αντιγράφων ασφαλείας και μετεγκατάσταση ιστοσελίδων WordPress.
Hungarian: WP STAGING Backup & Duplicator WordPress beépülő modul. WordPress-webhelyek biztonsági mentése és migrálása.
Indonesian: WP Staging Backup & Duplikator Plugin WordPress. Cadangkan & Migrasi situs web WordPress.
Italian: WP STAGING Plugin WordPress per backup e duplicatori. Backup e migrazione di siti Web WordPress.
Persian: WP STAGING پشتیبان گیری و افزونه وردپرس Duplicator. پشتیبان گیری و مهاجرت از وب سایت های وردپرسی.
Polish: WP STAGING Wtyczka WordPress do tworzenia kopii zapasowych i powielania. Twórz kopie zapasowe i migruj witryny WordPress.
Portuguese (Brazil): WP STAGING Backup & Duplicador Plugin WordPress. Backup e migração de sites WordPress.
Russian: Плагин WP STAGING Backup & Duplicator для WordPress. Резервное копирование и перенос сайтов WordPress.
Turkish: WP STAGING Yedekleme ve Çoğaltıcı WordPress Eklentisi. WordPress web sitelerini yedekleyin ve taşıyın.
Vietnamese: WP STAGING Backup & Duplicator WordPress Plugin. Sao lưu và di chuyển các trang web WordPress.

Can I give you some feedback for WP STAGING Backup & Cloning?

This plugin has been created in thousands of hours and works even with the smallest shared web hosting package.
We also use an enterprise-level approved testing coding environment to ensure that the cloning and backup process runs rock-solid on your system.
If you are a developer, you will probably like to hear that we use Codeception and PHPUnit for our backup plugin.

As there are infinite variations of possible server constellations, it still can happen that something does not work for you 100%. In that case,
please open a support request and describe your issue.

Reviews

دسمبر 4, 2024
This plugin was incredibly helpful for building a staging site when my organization did a complete website overhaul. Couldn’t have completed the project without it. Everything was smooth and easy to use.
دسمبر 4, 2024
Excellent plugin with great customer service. I have used WP Staging Pro for the past four years. Recently when I had a problem with automatic renewal of our license (due to an inactive credit card– our fault) I reached out to support and received a timely response with instructions and a link to resolve our issue swiftly and effectively. Thank you Renee for your help!
دسمبر 4, 2024
Very great support, quick help with detailed answers and troubleshooting. Thanks a lot.
دسمبر 2, 2024 1 reply
I’ve made a research and WP Staging looks really pro, recommended by most trustful reviews. I had an issue and needed to contact the customer support. Reply was very fast, friendly and helpful. Great team, thank you!
Read all 2،361 reviews

Contributors & Developers

“WP STAGING WordPress Backup Plugin – Migration Backup Restore” is open source software. The following people have contributed to this plugin.

Contributors

“WP STAGING WordPress Backup Plugin – Migration Backup Restore” has been translated into 7 locales. Thank you to the translators for their contributions.

Translate “WP STAGING WordPress Backup Plugin – Migration Backup Restore” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.9.3

  • New: Supports WordPress 6.7.1
  • New: Secure backup upload form before starting upload by OTP sending via email. #3857
  • UX: Improve rendering log entries in log process modal. #3877
  • Dev: Handle loading of assets when Dev Basic is enabled in the free version. #3936
  • Dev: Prepare database importing code to be DRY so it can be used in Standalone Restorer tool. #3917
  • Dev: Update doc to show how to chose playwright tests. #3691
  • Dev: playwright command ‘make e2e_playwright_ui’ not working properly. #3896
  • Dev: Reduce timeout-minutes for github e2e test and display tests duration when debug mode is enabled. #3464

3.9.2

  • New: Supports WordPress 6.7
  • New: Add a new confirmation modal before “update staging site” to prevent accidentally overwriting a staging site. #2465
  • New: Add filter wpstg.backup.restore.use_current_scheme_on_same_site to use current http(s) scheme instead of scheme in the backup when restoring on same site. #3911
  • Enh: Create backup storage folder on plugin activation. #3899
  • Enh: Improved logs in case of failure of WP Staging jobs. #3886
  • Enh: Beautify “Backup Completed” modal. #3780
  • Enh: Make the logs in the logs modal filterable by a log type button. #3784
  • Enh: Make more warning messages translatable (i18n). #3892
  • Fix: Remove wpstg-blank-loader.js from being loaded on frontend. #3440
  • Fix: Optimizer plugin is not updated when free and pro version is different. #3888
  • Fix: Exclude the root directory from scanning during the cloning process. #3897
  • Fix: Don’t show cache related admin notice on staging site when WP_CACHE is set to true. #3860
  • Fix: German translation can break layout of some modals. #3908 #3923
  • Dev: Extend playwright e2e for testing WP Staging on Windows. #3874
  • Dev: Webdriver e2e “Pro Single Site Cloning” failing. #3912
  • Dev: Improve usage of property_exists() #3865

3.9.1

  • New: Now supports cloning and pushing sites where the wp-content folder is located outside the main WordPress directory, as well as sites with a renamed wp-content folder. #1989
  • New: Add links to quick guide and support on WP Staging plugins listing page. #3808
  • Enh: Use our modern backup architecture for deleting and editing a staging site to provide a better and faster workflow experience. #3737
  • Enh: Merge all backup restore filters into a single new filter, deprecating the others. One filter to rule them all… and make devs’ lives easier. #3717
  • Enh: Improve wordings for several notices. #3781
  • Fix: Deleting an unfinished staging site, does not delete its folder. #3785
  • Fix: Filesystem scanner keeps on running during backup creation. #3902
  • Fix: Autosave WordPress Permalinks after creating a staging site. #3618
  • Fix: Files index error due to invalid files count in multipart backups. backup is still restoreable as this is only a logging error! #3872
  • Fix: Remove wordpress.com related messages. #3641
  • Fix: Rare fatal error “Call to undefined function apache_get_modules” after the push process. (Pro) #3763
  • UX: Remove the advanced settings on the update staging site page. #3768
  • Dev: Add our own playwright image with bundled PHP for efficent e2e testing with Playwright. #3867
  • Dev: Move unit tests to a new location. #3881
  • Dev: Prepare multipart backup feature for v2 backups. Change file extension for database parts. #3876
  • Dev: Add newsfeed validator. #3803

3.9.0

  • New: Added magic login links for both production and staging sites with customizable expiration times and role-based access. Ideal for granting temporary access to external developers or clients who need quick, limited-time access to your WordPress site. Read more: https://wp-staging.com/create-magic-login-links (Pro) #3582
  • Enh: Improve error messages for expired login link and increase the expiration time. #3816
  • Enh: Add License key as authentication method for WP Staging Restore tool. #3505
  • Fix: Make some missing string translateable. #3764
  • Fix: Change twitter logo to X #3852
  • Fix: Unable to create and view backups when WordPress root directory is not readable. #3841
  • Fix: Knowledgebase and What’s new blocks are not looking good under Settings, System Info and License page. #3831
  • Fix: Make sure that backup is restored properly when W3 Total Cache is installed on production site. #2451
  • Fix: Download Backup Modal has broken css. (Pro) #3843
  • Fix: “PHP Fatal error: Uncaught TypeError: property_exists()” with Google Drive auth. (Pro) #3862
  • Fix: A typo in I18n.php file #3766
  • Fix: Database cloning doesn’t work if using mixed upper and lower cases in database prefix when MySQL uses the setting lower_case_table_names. #3817
  • Fix: Cannot restore database when the last CONSTRAINT is not correctly replaced in a CREATE TABLE query. #3794
  • Fix: Handle temporary login link creation properly after creating staging site. (Pro) #3767
  • Fix: Main menu navigation not working during development. #3835
  • Dev: Playwright tests failing because beforeEach was not working #3833
  • Dev: Add unit tests workflow for Windows on Github CI. #3486
  • Dev: DRY Github workflow files by adding input option to select PHP version. #3828
  • Dev: Move docker-compose.yml files to ./docker/ to cleanup repo root. #3840
  • Dev: Fix playwright test failing due to wrong message detection on expired link. #3869

3.8.7

  • New: Add newsfeed to the WP Staging user interface in DE and EN language #3772
  • Enh: Show warning when wpstg-restore file exists in root path. #3552
  • Enh: Refactor some code from wpstg-backup.js file #3777
  • Security: Add identifier to log file names to avoid prying eyes. #3782
  • Fix: Don’t generate login link if PRO version is not defined. #3798
  • Fix: Undefined CURL constant while gathering system info. #3769
  • Fix: Use correct i18n title for delete confirm modal popup. #3800
  • Fix: Can’t install basic core version on WP STAGING PRO. #3790
  • UX: Improve Edit Backup Modal. #3776
  • Dev: Change the order of bootstrapping Pro/Basic Service, so that these are registered early. #3761

3.8.6

  • Enh: Make all JavaScript included strings translatable and implement i18n to them. #3418
  • Fix: Fatal error due to calling php_uname if it is disabled by hosting providers. #3773
  • UX: Visually improve log modal. #3746
  • Dev: DRY code between standalone restore tool and core plugin. #3525
  • Dev: DRY Success and Process Modal across Backup, Staging and other general operations. #3753

3.8.5

  • New: Compatible up to WordPress 6.6.2
  • New: Compatible up to PHP 8.4.0 beta5
  • New: Add feature to “Disable WooCommerce Action Scheduler for Subscriptions” on staging sites. (Pro) #3470
  • New: Make backup v.2 compatible on 32 bit PHP versions. #3714
  • New: Purge LiteSpeedCache after performing push.(Pro) #3693
  • New: Show count of total and selected database tables before performing push. #3724
  • New: Log all WP Staging global and specific tasks settings. #3633
  • New: Show memory exhausted error in process modal. #3710
  • Fix: Preserve login by link data on staging site after update process. (Pro) #3731
  • Fix: Adjust php 5.6 compatible message and disable email footer in feedback emails. #3696
  • Fix: Delete W3 Total Cache drop-in files during push job when the Push Changes > Uninstall all plugins/themes on production site option is selected. #3620
  • Fix: Stop backup creation earlier when the server disk is full. #3606
  • Fix: Global translation po & mo files are not recognized. Load translations files from wp-content/languages/plugins folder. #3757
  • Fix: Automatically send request using GET method to fire queue ajax if POST method doesn’t work. Add filter wpstg.queue.request.force_get_method to force use GET method. Useful in case if somehow the POST method for ajax request is blocked by hosting provider or other plugins. #3705
  • Fix: Resolve console errors caused by duplicate and missing HTML element IDs. #3702
  • Fix: Don’t use the same dropbox data for live and staging site. (Pro) #3739
  • Fix: Unable to write file header for v2 backups on Windows OS. #3694
  • UX: Make the hamburger icon and responsive menu look more appealing in light and dark mode. #3703
  • UX: Show license information on Settings, System Info and WP Staging | Restore page. (Pro) #3726
  • UX: Make the locked backup loader for ongoing background backups look good in dark and light mode. #3721
  • UX: Improve restore modal description to avoid confusion about what is being restored. List all the backup restore related filters in the restore logs. #3671
  • UX: Improve pro banner in free version. (free) #3679
  • UX: Improve Upload modal, add notice to reload page after uploading backup via FTP. #3672
  • Dev: Refactor namespace and files. #3749
  • Dev: Add wpdb DB helper class with crud operations for options table in playwright testing. #3712
  • Dev: Add PHP 8.4 in test suite. Make unit and e2e tests pass with the beta version of PHP 8.4. #3662

3.8.4

  • New: Compatible up to WordPress 6.6.1
  • New: Add filter wpstg.backup.restore.exclude_backup_parts to skip plugins, mu-plugins, themes, uploads, database, other content and extra root folder if included during backup restore. #3625
  • New: Add option to download the WP Staging Restore script from wp-staging.com. #3376
  • New: New navigation bar that ensures a visually appealing user interface across all screen resolutions. #3473
  • New: Show count of total and selected database tables while doing cloning job. #3634
  • Enh: Log installed plugins and themes before performing a push job.(Pro) #3613
  • Enh: Disable “Load Remote Backups” button while loading backups. (pro) #3570
  • Enh: Improve error message when unable to add backup metadata or files-index in the backup in final step. #3396
  • Enh: Show triangle icon instead of checkbox in front of Advanced Settings link. #3593
  • Enh: Show OS and PHP architecture in system log. #3621
  • Enh: Create human-friendly default names for staging sites if no optional staging name is provided. “Star Trek – Live long and prosper!” #3614
  • Fix: Make clear what login credentials to use when WP Staging | Restore standalone installer is used on a new site after backup restore. #3680
  • Fix: Validate database prefix when creating a staging site to confirm it does not begin with the production site database prefix. #3553
  • Fix: Increase delay interval between backup status requests from 5 seconds to 8 seconds to reduce chances of 503 errors. Add filter wpstg.backup.interval.status_request to customize this value. #3611
  • Fix: Show actual installed free version in system information. #3594
  • Fix: Make sure that the Reset process works correctly even when the staging site database has FOREIGN_KEY_CHECKS enabled. #3686
  • Fix: Remove duplicate ajax requests for backup related operations. #3664
  • Fix: Make the validate icon displayed correctly. #3688
  • Fix: Search and replace does not work when url contains ‘www.’. #3631
  • Fix: Make Ninja Forms work properly after performing backup restore. #3608
  • Dev: Fix e2e cloning tests. #3649
  • Dev: Move all views/templates/* to views/* folder. Also fix Undefined array key page warning. #3690
  • Dev: Move MemoryExhaust logic to src/Framework namespace. #3666
  • Dev: Replace internal email address #3541
  • Dev: Move classes/services out of Backup namespace that could be used with Cloning feature. #3668
  • Dev: Remove the wpdb dependency from DatabaseImporter class by decoupling the database logic through DatabaseInterface. #3642
  • Dev: Move all views to src/views/* folder. Move blank-theme and default wp-config.php to src/resources folder. #2825
  • Dev: Add v1 and v2 backup specification. #3518
  • Dev: Set up playwright env. #3578
  • Dev: Replace docker-compose with docker compose in fast tests, as docker-compose went missing in Github Actions. #3660
  • Dev: Move all classes from legacy folder Backend/Pro/Licensing to Pro/License. #2866
  • Dev: Improve npm commands to build and run Windows docker setup. #3012
  • Dev: Replace shorthand ‘-P’ by its option name ‘–service-ports’ in docker command that runs playwright. #3697

3.8.3

  • New: Compatible up to WordPress 6.6.1
  • UX: Make backup log window more appealing and consistent. #3604
  • UX: Refresh error message when clicking the backup menu tab. #3587
  • Fix: Disable email notifications when a backup successfully runs. #3517
  • Fix: Properly catch fatal errors when merging logs into single file when sending backup error report. #3573
  • Fix: Make the backup restoreable even when it has not correctly replaced table constraint(s). #3595
  • Fix: Update new admin login password if user account already exists while creating staging site. (Pro) #3598
  • Dev: Refactor backup remote storage downloading code. (Pro) #2751

3.8.2

  • New: Compatible up to WordPress 6.6
  • New: Add super admin role when creating login link. Existing staging sites need to be updated. (Pro) #3520
  • New: Redesign process logs to make them more appealing and robust, ensuring they look good. #3281
  • Security: Encrypt sensitive information when downloading the system info files. #3305
  • Enh: Implement a mechanism that can be used to better log failure of jobs. #3436
  • Enh: Add upgrade routine to enable email notifications for free version by default. #3491
  • Enh: Add a tooltip to the backup modal explaining the function of “Validate Backup”. #3513
  • Fix: Backup Restore failed to read the cache file of old object data when using PHP 7.2. #3539
  • Fix: Make sure to backup all other files in the WP root directory when running background backup. #3564
  • Fix: Ensure that backup process works properly when attempting to create multipart backup with free version. #3444
  • Fix: Show correct timestamp when retrieving remote backup from an FTP storage provider. (Pro) #3499
  • Fix: Google authentication throws exception when user cancels backup auth process. (Pro) #3510
  • Fix: Fatal error on activation of WP Staging Pro on PHP 7.0. (Pro) #3580
  • Fix: Sometimes warnings were generated during PUSH when trying to cleanup tmp directory for plugins and themes. #3588
  • UX: Ensure smooth transition of HTML attributes in advanced options. #3535
  • UX: Toggle Email Address and Slack Webhook URL fields when email and slack notifications enabled. #3532
  • Dev: Don’t rerun CI workflows when one of the changelogs is adjusted. #3493
  • Dev: Failing unit tests at \NoticesTest::shouldShowDisabledOptimizerNotice(). #3601

3.8.1

  • New: Compatible to WordPress 6.5.5
  • New: Enable remote backup loading for dropbox storage provider. (Pro) #3475
  • New: Add ‘Upload to Cloud’ button to upload existing local backups to cloud storage. (Pro) #3331
  • New: Add option to backup custom directories in WordPress root path. #2903
  • New: Add backup notifications via Slack. (Pro) #3297
  • New: Add backup email notifications to WP Staging free version. #3297
  • Enh: Show a message when ajax requests get blocked by a firewall rule. #3449
  • Fix: Magic login link does not work when it is used more than one time. Requires updating existing staging sites to fix this. (Pro) #3512
  • Fix: Handle staging and backup creation when file name contains new line character. #3417
  • Fix: Make “copy to clipboard” button works properly in all browsers, regardless of protocol (HTTP, HTTPS). #3443
  • Fix: Show correct folder count if the staging site file structure contains multiple plugin and theme folders. #3419
  • Fix: Prevent backup retention from being modified when scheduling backup. #3422
  • Fix: Show ‘Settings form’ after authenticating with storage providers Google Drive and Dropbox. #3356
  • Fix: The site URL is not replaced correctly in the blog table on PUSH for network subsites that have a different domain than the main site. (Pro) #3501
  • Fix: Several PHP warnings when using RESET on an existing staging site. #3438
  • Fix: Optimize and clean up CSS. Fix X and Github icons. Remove of ‘!important’ declarations in dark theme. #3448
  • Fix: Validate new admin account email address before cloning. #3467
  • Fix: Make sure appropriate message is displayed after successful backup. #3474
  • Fix: Some files may not be scanned and/or copied during staging site creation if their relative path to ABSPATH contains the value of ABSPATH. #3476
  • Fix: Use wp_kses instead of esc_html when logging backup message in logger, to keep json formatting for messages. #3536
  • Fix: Error 500 when listing backup due to open_basedir restriction on ABSPATH. (Pro) #3548
  • Dev: Add unit test to make sure file extraction task works for multiple requests. #3481
  • Dev: Improve basic performance cest e2e and reduce flakiness. #3522
  • Dev: Rename Compressor service to Archiver service to match what this service does. #3496
  • Dev: DRY multipart code, so that compression feature can be used with it. #3498
  • Dev: Add developer docs for the standalone installer script. #3235

3.7.1

  • New: Compatible up to WordPress 6.5.4
  • New: Automatic login to staging site after initial creation by creating a temporary login. #3198
  • New: Add option to run backup in background without keeping browser open. #3286
  • Security: Sanitize parameters in remote storage settings to prevent possible path traversal and executing of potential malicious code. #3461
  • Enh: Add support for Wordfence 2FA authentication in the WP Staging login form. #3358
  • Enh: Refactor dropbox and google drive sign in buttons. (Pro) #3405
  • Enh: Reducing plugin size by minifying js and css files and removing map files. #3279
  • Enh: Redesign plugin deactivation feedback form. #3000
  • Enh: Hide sensitive values in system info. #3447
  • Fix: Unable to restore backup when it contains huge number of files which requires extracting in multiple requests. #3477
  • Fix: Improve reliability and robustness of the background processor: Stalled actions will automatically be cancelled if they are in processing state for more than 15 mins. #3454
  • Fix: Backup by URl throws error “Invalid backup file content”. #3404
  • Fix: Standalone restorer randomly terminated while restoring large files. #3348
  • Fix: The backup version of WP Staging Restore is not up to date. #3425
  • Fix: Refactor the contact form. New default options for sending backup log files and accepting privacy policy. #3370
  • Fix: Ensure listing of remote backups and uploading of local backups to cloud storage works correctly. #3434
  • Fix: Hide sensitive fields (secret key, access key…) in backup storages settings. #3389
  • Fix: Don’t optimize the .htaccess as default any longer if server is litespeed. Revert to old behavior by using the filter wpstg.create_litespeed_server_config. #3409
  • Fix: Table Renaming Task fails during Restore and Push if database prefix contains capital letter(s) and database is hosted on Windows based OS system i.e. Microsoft Azure. #3372
  • Fix: Disconnect google drive account if it fails to refresh access token. #3388
  • Fix: Cloud storage options are overlapped by other elements. #3343
  • Fix: Don’t load and list remote backup for dropbox as it is not supported yet. (Pro) #3407
  • Dev: Refactor BackupValidateTask to BackupSignerTask to match the action it does. Also move the signer related logic to separate service. #3367
  • Dev: Add pre-requisite code for a new faster and more secure backup format. #2915
  • Dev: Add option in UI to validate backup files during backup creation. #3368
  • Dev: Auto eslint js files and format scss files during make watch. #3398
  • Dev: Add phpcs rule to make each file ends with only one empty line. #3390
  • Dev: Replace rollup-plugin-postcss with rollup-plugin-styles to have better control over source maps. #3429
  • Fix: Unable to restore backup when it contains huge number of files which requires extracting in multiple requests. #3477

3.7.0 (Skipped)

3.6.0

  • New: Compatible up to WordPress 6.5.3
  • New: Implemented dark mode UX with options to switch between ‘Default OS Mode’, ‘Lite Mode’ and ‘Dark Mode’ #3261
  • New: Now you can restore backup of single site and/or multisite subsite to self or another multisite subsite. (Pro) #3240
  • New: Allow user to push all folders under (/wp-content/). #2760
  • New: Add the a new user role ‘visitor’ to share login link option. (Pro) #3332
  • Enh: Add type hinting for ProTemplateIncluder. #3337
  • Enh: Make sure to prevent other plugins from injecting their messages into WP Staging UI. #3364 #3036
  • Fix: Keep cloud storage connected to Google Drive even if files listing from remote storage fails. (Pro) #3347
  • Enh: Revamped system-info page, ‘Purge Backup Queue’ modal and moved JavaScript code to a separate file. #3262
  • Enh: Automatically exclude uploads folder during push if it is a symlink. #2989
  • Fix: Sync User Account feature duplicates existing user as administrator role. #3311
  • Fix: Backup restore stuck on importing users for subsite when restoring an old backup on single site. #3373
  • Fix: Make sure to handle fatal error due to missing COLLATE while creating ‘wp_wpstg_queue’ table for scheduled backup. #3359
  • Fix: Hide the ‘wp-content/wp-staging-sites’ folder from staging site directory selection, as it is always excluded during cloning. #3267
  • Fix: Show exact error message for open_basedir restriction error if destination directory does not have write permissions. #3116
  • Fix: Memory usage of the staging site is higher than of the live site. #3307
  • Fix: Make sure to only sync production site’s users fields that exist in cloned site’s users table. #3362
  • Fix: Send log files from last 14 days and compress them before sending. Add Contact Us button to error messages. #3323
  • Fix: Make sure to display default login link on custom login form if login is blocked by a security plugin with OTP or 2FA enabled. #3293
  • Fix: Ensure that the All in One Security Plugin (AIOS) isn’t disabled by the wp staging optimizer when AIOS’s salt option is enabled. #3351
  • Fix: Reconnect DB if mysql has gone away during update of queue table. #3354
  • Fix: Create backup folder in google drive, if it does not exist, before uploading to backup cloud provider. #3381
  • Fix: Make sure loading bar is removed once a WP Staging page is refreshed successfully #3365
  • Dev: Add end-to-end tests for the standalone installer script. #3025
  • UX: Make sure that backup cards always look good. #3345
  • UX: Make sure that automatic backup icon looks good. #3338
  • UX: Display backup name and cloud storage settings in ‘Edit Backup Plans’ Modal. #3299

3.5.0

  • New: Tested on WordPress 6.5.2
  • New: Add option to download and restore backup directly from cloud storage providers Google Drive, Amazon S3, OneDrive, FTP, SFTP. #1968
  • New: First release of the standalone WP Staging Restore tool. Add the constant WPSTG_ACTIVATE_RESTORER to wp-config.php if you want to test it. #2435
  • Fix: Generated create table DDL is corrupted during backup creation if table DDL contains multiple constraints with CASCADE, SET NULL, SET DEFAULT, RESTRICT or NO ACTION referentials actions. #3303
  • Fix: Backup Type missing in scheduling options. Resulting in creation of entire multisite backup even for just subsite backup on multisite. #3312
  • Fix: Resolve browser warnings due to invalid HTML syntax. #2490
  • Fix: Make sure to remove the loading placeholder after 5 seconds if the server call experiences delays or fails due to any error. #3294
  • Security: Use more secure implementation to invalidate expired login links. #3270
  • Security: Prevent accessing the system info from unauthenticated users. #3290
  • Security: Check if uploaded backup file is a valid WP Staging backup file before uploading it to the server. #3318 #3273

3.4.3

  • New: Tested on WordPress 6.5.0
  • Fix: If endurance-page-cache mu-plugin is installed (on Bluehost and Hostgator) a staging site shows white page error then. #3216
  • Fix: Backup retention does not work for backups created on a staging site. #3138
  • Fix: Backup log entries could contain log entries from staging processing under certain circumstances. #3079
  • Fix: Moved tmp directory to wp-content/wp-staging/tmp to fix a cross-device link error on sites hosted on Azure. #3213
  • Fix: Make sure that there are no errors in console after uploading backup to remote storages. #3258
  • Fix: Handle complex table relation syntax on SQL dumper and restorer. #3259
  • Fix: Validate and handle null values before invoking strlen() to ensure compatibility and prevent runtime errors. #3127
  • Fix: Make network cloning more robust by supporting different combination of www prefix. #3230
  • Fix: On some server files were not properly extracted. Using a fallback function now. #3272
  • Fix: Fix condition to check custom destination path for staging site on basic version. #3282
  • Fix: Warning “Indirect modification of overloaded elements” of WP_Hook. #3155
  • UX: Make sure the loading placeholders are rendered properly over all pages. #3207
  • UX: Beautify “license invalid” messages. #3237
  • Enh: Don’t prefix html attribute ‘data’ by ‘wpstg’. #3048
  • Enh: Add pro clone features as inactive items to Actions button in wp staging free version. #3228
  • Enh: Show error message if custom selected destination path for staging site will be same as root of live sites folder. #3204
  • Enh: Show better backup logs and warnings if backup fails. #3263
  • Dev: Add support for retrying failed tests in codeceptione2e suites. This is done to counter test flakiness. #3118
  • Dev: Update outdated code of wpstg uncomment command. #3245
  • Dev: e2e_backup_test make command was not using basic plugin when running basic tests. #3225
  • Dev: Adding improved logging. #3252
  • Dev: Make sure the debug.log is kept clean from unwanted logs when running e2e tests. #3202
  • Dev: Refactor ‘ThirdParty’ namespace changing Framework/Support/ThirdParty to Framework/ThirdParty. #3224

3.4.2

  • [skipped]

3.4.1

  • Enh: Remove files that were false-positive detected as malicious. #3184
  • Fix: Remove two css files accidentially loaded on the frontpage. #3208
  • Fix: Make sure to not encode single and double quotes while downloading log files. #3168

3.4.0

  • New: Add option to create a new admin user account for your staging site during it’s creation. #3087
  • New: Add option to use non-blocking process for uploading to FTP storage when using FTP extension for backup upload. #3103
  • New: Add advanced excludes option at WP CLI backup-create command. #3114
  • New: Add ‘Delete Settings’ button within the backup storage provider interface to facilitate the removal of the cloud provider configuration. #3108
  • New: Add support for Search Replace of urls in content of network subsites. #2960
  • New: Add option on edit staging site page for testing database connection. #3106
  • New: If uploads folder is symlinked exclude it from disk space calculation before creating a staging site. #3092
  • Enh: Update look and feel of backup scheduling modal. #3090
  • Enh: Add page loader for each page of the user interface. #3142
  • Enh: Add new upgrade buttons to header and license page. #3135
  • Enh: Add more information like database name to system information. #3125
  • Enh: Avoid scanning of excluded directories during the push and backup process. #3049
  • Fix: Fatal error on old WordPress 4.4.32 due to using of get_current_network_id(). #3174
  • Fix: Base prefix wrongly replaced for users and usermeta tables in views when creating backup of views in multisite subsite. #3128
  • Fix: Prevent error while directory listing protection due to open_basedir restriction. #3180
  • Fix: Update free version plugin meta description to “Required by WP Staging Pro”. #3171
  • Fix: Remove redundant admin notices for invalid license keys during activation. #3139
  • Security: Fix a potential security error and add better sanitizing for backup title. #3152
  • Fix: Make sure EDD license checks are triggered only once. #3179
  • Fix: Google drive authentication not working properly under all circumstances. #3156
  • Fix: Selected custom tables on a staging site that had a different prefix than the prefix in the wp-config.php could not be pushed anymore. #3170
  • Fix: Prefix for user capabilities was not replaced when creating a backup of network subsite. #3129
  • Fix: The “Prefix” field was empty for listed staging sites if they were created in an external database and the prefix was not specified. #3166
  • Fix: The optimizer setting was shown as disabled, even if it was still active. #3151
  • Fix: Add loading icon beside ‘Refresh License Status’ button and adjusted loading bars on licensing page. #3185
  • Fix: Super (network) admins were not able to login with when network subsite backup was restored on a single site. #3191
  • Fix: Reference Error wpstgPro is not defined during staging site creation on FREE version. #3136
  • Fix: Make sure that backup plugin notice doesn’t overlap Create Staging Site button in UI. #3148
  • Fix: List of active plugins in system info is misleading. #2996
  • Fix: Make sure that mail setting page looks good on all screen resolutions. #3094
  • Fix: Incorrect process modal title for preserving data task. #3130
  • Fix: DRY properties in BackupMetadata and remove error message “trying to hydrate dto errors BackupMetadata::setCurrentNetworkId()” #3199
  • Dev: Update DI52 library to latest version for small performance gain. #3146
  • Dev: Fix missing adminer host on wpstg command. #3120
  • Dev: Load Basic or Pro service provider once other dependencies are loaded. #3160
  • Dev: Populate dev hosts from env variables to add to hosts file. #3122
  • Dev: Add adminer to dev tools for database management. #3112
  • Dev: Fast test fails on GitHub due to the missing of ‘wpstgBackupHeader.txt’ file, checksum needed to be updated each time. #3110
  • Dev: Update Github actions to latest version that uses Node 20 to avoid deprecation message Github CI. #3200

3.3.3

  • New: Support for WordPress 6.4.3
  • New: Add filter wpstg.push_excluded_directories to exclude specific folders during push. #3050
  • New: Add ‘Do review link’ to backup success modal after staging site and backup creation. #3085
  • Enh: Reduce number of API calls to wp-staging.com for version number checking. #3091
  • Enh: Add option to use APPEND Mode for uploading backup using FTP from settings UI. #3044
  • Enh: Add loading icon during activation of the free version. #3041
  • Enh: Improve the message when backup has been created with older version of WP Staging. #3033
  • Enh: Make sure the checkbox icon appears at centre on all system. #2920