Infinite Uploads syncs your media files to the cloud, and WordPress tracks those files in its database. The two work together but are stored in separate locations, and that explains nearly every surprise people run into when they create a staging site or push one to production.
This guide walks through the staging and migration tools commonly used with Infinite Uploads, what to expect from each, and how to avoid the broken-image problems when migrations are done incorrectly.
This article is primarily written for site owners and editors. You do not need to edit any configuration files, run any commands, or know anything about how the Infinite Uploads connection is set up under the hood.
The goal is to give you a calm, accurate picture of what happens during each common workflow, so you can carry out staging and migration work on your own site.
WordPress Staging Site Pre-Flight Checklist
A few minutes of preparation before any staging or migration tasks will prevent most of the headaches users write in about. Run through this short checklist on your production site before you begin.
1. Confirm that Infinite Uploads is connected on your production site. Open your WordPress dashboard, and then go to the Infinite Uploads screen. Look for the connection status. A connected site with your library syncing will show a screen like below.'

2. Verify that your media is serving from the Infinite Uploads CDN. Open any post or page with images, view it on the front end, and right-click an image to inspect its URL. The URL should contain infiniteuploads.cloud or your custom CDN domain like media.mydomain.com. If your images are still loading from your own server, your library has not finished syncing, and you should let it complete before doing any staging work.

3. Take a fresh backup of your production site using whatever backup tool you trust. The point is to have a recent restore point in case anything during staging or migration work goes sideways. Cloud-hosted media is resilient, but your database and your themes still need a safety net.
Note what a healthy connection looks like right now, before you change anything. Take a screenshot of your Infinite Uploads dashboard, save the production URL of one or two media files that are serving correctly, and keep them somewhere you can find later. If something looks different after a staging operation, you will know exactly what changed.
How the Infinite Uploads WordPress Plugin Connection Works
You can connect Infinite Uploads to your WordPress site by logging in to your Infinite Uploads account through the plugin. There is no key to copy or configuration file to edit, and nothing for you to manage manually. The plugin handles authentication for you, and you can disconnect or reconnect at any time from the same screen.

This matters for staging site tasks because it means the connection is harder to break than people often assume. Across the testing that is detailed in this article, the connection survived every staging and migration operation we ran, including full pushes from staging to production, database-only pushes, full restores from backup, database-only restores, plugin-based migrations using All-in-One WP Migration and Updraft Plus, and a complete move to a different host.
If you have a custom CDN domain configured, that configuration is part of the connection and persists through the same operations. Your media will continue serving through your custom domain after a staging push, a backup restore, or a host migration without any manual reconfiguration on your part.

If you follow the workflows below, you should not need to disconnect and reconnect Infinite Uploads at any point along the way.
Method 1. How to Create a WordPress Staging Site with Cloudways
If your site is hosted on Cloudways, the built-in staging feature is the simplest way to work on your site without affecting your production site. Cloudways handles the cloning and the push back, and Infinite Uploads runs alongside the workflow without needing any special configuration. It's important to note that Cloudways is merely an example. Infinite Uploads works with ALL hosting providers, and many follow the same process as Cloudways.
When you create a staging site by cloning your production site, both sites point at the same cloud storage by default. New media added on either side is available on the other side as well. This is what makes Infinite Uploads a fast option for staging work, because you do not need to copy your media library between environments. It also means both sites are operating against the same shared storage.
Creating a WordPress Staging Site in Cloudways
In your Cloudways console, open the application you want to clone. In the left sidebar, look for Staging Management at the application level, and follow the prompts to create a staging copy. The staging site appears as a separate application with its own URL, and the cloning process takes a few minutes depending on the size of your site.

Once your staging site is up, log in to its WordPress dashboard. The Infinite Uploads connection comes across with the clone, and your media library should display correctly with the same files you see on production. You can work on your staging site freely, edit posts, install plugins, and add new content without any of it touching production.
Pushing Staging to Production in WordPress with Cloudways
When you are ready to push your changes from staging back to production, Cloudways gives you three options. A full push includes both files and the database, a database-only push updates production's database without overwriting any of your files, and a selective table push updates only the database tables you choose, leaving the rest of production untouched.
The full push is the safer of the three for most use cases. During our testing, a full push from staging to production preserved the Infinite Uploads connection, kept all media URLs working on production, and brought the new staging content across cleanly with nothing breaking on either side.


The database-only push is where users sometimes get caught out. It moves all the database changes from staging back to production, including any attachment records that were added or deleted on staging.
If you added media on staging, those attachment records should come across during the push, and the files themselves will already be on the shared Infinite Uploads cloud storage. Production's media library will pick them up, and the new images should render as expected on the front end.
If you deleted media on staging, that deletion is reflected in production's database after the push. The attachment record is removed from production's media library, even though the file itself may still be available through its direct CDN URL.
After a database-only push that included a deletion, the file is still on the cloud and still accessible if you have its URL, but your WordPress media library no longer knows it exists. You will not see it in the Media Library admin screen, and any references to it in posts or pages that were published before the push will keep working only because those references hold the direct CDN URL.
Selective Database Table Push from Staging to Production
The selective table push is the most precise option of the three. You can pick the database tables you want to move from staging to production, and Cloudways pushes only those tables across.
In our testing, a selective push of wp_posts and wp_postmeta preserved the Infinite Uploads connection on production, kept all existing media URLs working, and brought the new staging content across cleanly.

Select the tables that hold your staging changes, typically posts and postmeta plus any others your staging work has modified. The options table should stay off the list, because Infinite Uploads stores its connection there.
Pulling Production to Staging in WordPress
The Cloudways staging tools also work in the opposite direction. You can pull from production to staging, which is the workflow for refreshing a stale staging environment with the current state of production. This is useful when staging has drifted out of sync and you want a clean copy to start afresh on.
With this action, production's database overwrites staging's database, and production's files overwrite staging's files. The same options apply here as on the push, including a database-only mode and a selective table mode.
Any work you have done on staging since the clone will be lost in a pull. New posts, edited content, draft pages, configuration changes present in the database, all of it gets replaced with whatever is currently in the production environment. If you have staging work that should go live, push it back to production first or copy it out of staging before running the pull.
Media uploaded to staging since the last sync is a related case. The file is saved on the shared Infinite Uploads cloud storage, where it stays after the pull. The attachment record in WordPress is what gets wiped along with the rest of the staging database. The file is still there at its CDN URL, and staging will simply not see it in the media library anymore. This is not a problem on a staging environment since nobody is browsing it, and it is the same orphaned-file observation linked to database-only operations.
What to Verify After Pushing Staging to Production
After any push, log in to your production site and confirm three things. Your Infinite Uploads dashboard still shows as connected, your existing media library shows the files you expect to see, and any new content from staging is visible on the front end with the images loading.
If anything looks wrong, see the troubleshooting section near the end of this article.
Common Issues When Pushing a Cloudways Staging Site
A database-only push from staging after a deletion removes the attachment record from the production site. The production site will have no record of the presence of the deleted media item, and it will disappear from there.
A pull from production to staging wipes any database-level changes you have made on staging since the clone. New media uploaded to staging during that window becomes orphaned on the cloud, present at its CDN URL but missing from staging's media library.
Method 2. How to Create a WordPress Staging Site with WP Staging Pro
WP Staging Pro is an excellent WordPress staging plugin that creates staging sites from inside your WordPress dashboard, without depending on your host. It works with Infinite Uploads cleanly, preserving your connection through both cloning and pushing, and it offers a selective push option that is worth knowing about if you want tight control over what goes back to production.
Cloning Your WordPress Site with WP Staging Pro
On your production site, open WP Staging from the WordPress admin sidebar, and follow the prompts to create a new clone. WP Staging Pro produces a full copy of your production site inside the same WordPress install, running under a separate URL you can log in to directly. The Infinite Uploads connection comes across with the clone, and your media library on the staging clone shows the same files as production, served from the same cloud storage.

Pushing WP Staging Pro Changes Back to Production
WP Staging Pro offers two push modes. A full push replaces production with the current state of your staging clone, covering both files and the database. A selective push lets you pick specific tables to move across, leaving everything else on production untouched.
Full push: In testing, a full push preserved the Infinite Uploads connection, kept all existing media URLs working on production, and brought the new staging content across cleanly. The result is equivalent to a full Cloudways push, and nothing breaks on either side.

A selective push is useful when you want to move content changes back to production without risking anything else in the database.
Select the tables that hold your staging changes, typically posts and postmeta plus any others your staging work has modified. The options table should stay off the list, because Infinite Uploads stores its connection there.
In our testing, pushing wpstg0_posts and wpstg0_postmeta alone left the connection unaffected, kept all pre-existing media URLs working, and brought the new content across correctly.
If the broken-media scenarios covered elsewhere in this article make you nervous, selective push is the most conservative option available across any of the methods here. You push only what you have changed, and the rest of your production database stays exactly as it was.
Known Risks of Pushing a WP Staging Pro Clone while using Infinite Uploads
No dangers were observed during our testing. Both full and selective push preserved the connection, kept media working, and propagated content correctly.
Method 3. WordPress Backup and Restore with UpdraftPlus
UpdraftPlus is the most widely used backup plugin for WordPress, and it works alongside Infinite Uploads without any special configuration. The two do not interfere with each other, but there is one aspect worth knowing about up front.
Backing Up a WordPress Site with UpdraftPlus
In your WordPress dashboard, open Settings, then UpdraftPlus Backups, and click the Backup Now button. UpdraftPlus creates a backup that includes your database, plugins, themes, uploads directory, and other site files. Since Infinite Uploads has offloaded your media to the cloud, your uploads directory will be small, and the backup completes much faster than it would on a site with a full local media library.

Restoring a WordPress Site from an UpdraftPlus Backup
UpdraftPlus offers two restore modes. A full restore replaces everything from the backup, and a database-only restore replaces only your WordPress database while leaving your files in place. Both restore modes preserve the Infinite Uploads connection, and your media URLs continue serving from the cloud after either type of restore.
UpdraftPlus Full Restore and the WP Staging Conflict
If you have WP Staging or another plugin installed that creates folders under your wp-content directory, UpdraftPlus can fail with a permissions error during the Others component restore. The error message looks something like "Could not move the files into place. Check your file permissions." The workaround is straightforward: skip the Others component before starting the restore.

UpdraftPlus will skip the conflicting directory, and the rest of the restore will complete normally.
Common UpdraftPlus Restore Issues with Infinite Uploads
Two issues account for nearly every support question on UpdraftPlus restores with Infinite Uploads.
Permissions error during a full restore. If WP Staging or another plugin has created folders under wp-content, UpdraftPlus may fail with a "Could not move the files into place" error on the Others component. Skip the Others component on the restore screen and run the restore again.
Orphaned media after a database-only restore. Any media added to your library between the backup and the restore will remain in your Infinite Uploads cloud storage but disappear from your media library, because the database no longer has attachment records pointing to it. Direct CDN URLs continue to work, so anything already published using those URLs is unaffected.
Method 4. WordPress Migration with the All-in-One WP Migration Plugin
All-in-One WP Migration is a popular plugin for moving WordPress sites between environments. It works alongside Infinite Uploads, but there is one option you must enable for the workflow to work at all.
Why the Do Not Export Media Library Option Is Required
When you create an export with All-in-One WP Migration's defaults, the plugin includes your entire media library in the export file. That may produce an export file far too large for your destination host to accept on import, by default. You will need to raise the upload file size allowed by your host.
Infinite Uploads stores your media in the cloud, so you do not need the media library in your export at all. The destination site will pick up the same media from the cloud once the database is restored. To enable this, when creating your export, expand the Advanced options and check Do not export media library before starting the export.

All-in-One WP Migration Export and Import Workflow
Once you have selected the right options, click Export To, choose File, and download the export file when it is ready. With media excluded, the export file is small enough to download and re-upload comfortably.
On the destination site, follow these steps:
- Install All-in-One WP Migration and open it from the WordPress dashboard.
- Click Import From, choose File, and select the export file you downloaded.
- Confirm the prompts, and the import will run.

After the import completes, log in to the destination site and verify the Infinite Uploads connection is showing as connected. Your existing media should serve from the cloud as before. The same orphaned-files behavior applies here. Any media added to the source site between the export and the import will exist on the cloud but not in the database, so it will not appear in your media library on the destination.
Common Issues with All-in-One WP Migration and Infinite Uploads
The orphaned-files observation applies here the same way it does to UpdraftPlus database restores.
Method 5. How to Migrate Your WordPress Site to a New Host
When you move your WordPress site to a different host, the Infinite Uploads connection comes with it. Your media will stay where it is on the cloud, your new host serves WordPress, and Infinite Uploads continues to serve your media. The migration itself is a standard WordPress backup-and-restore.
Migrating WordPress to a New Host with UpdraftPlus
UpdraftPlus supports host migrations in both its free and paid versions. The paid version includes a direct site-to-site migration that connects two installations and pushes the backup across in one click. The free version uses a download-and-restore workflow, where you take a backup on the source and bring it across to the destination yourself.
On your source site, run a full backup with UpdraftPlus. Download all the backup files to your computer. UpdraftPlus produces several files per backup, one for the database and one for each major component, and you will need all of them.
On your destination host running WordPress, install the UpdraftPlus plugin. Open UpdraftPlus on the destination dashboard and look for the Upload backup files option. Browser upload works directly for smaller backups. If your backup is too large for your destination host's upload limit, connect via SFTP or your host's file manager and place the backup files into the wp-content/updraft directory instead. Once the files are in place, click Rescan Local Folder and UpdraftPlus will recognize them as a restore option.
Click Restore, select all components, and let UpdraftPlus complete the restore. When it finishes, your destination site will be a copy of your source site, with the Infinite Uploads connection intact and your media serving from the cloud.
The Shared Cloud Storage Caveat in WordPress Host Migrations
Since the destination inherits the source's Infinite Uploads connection, both sites now point at the same cloud storage. If you keep both sites running, anything you do to your media on one site affects the other.
For a true host migration where the source site is being retired after the move, this is fine and the connection works correctly out of the box. The destination takes over the same cloud storage the source was using. In situations where both sites need to stay active independently, disconnect Infinite Uploads on the destination after the restore, and reconnect through the standard sign-in flow.
The plugin will create a fresh Infinite Uploads site on the destination, with new credentials, a new CDN subdomain, and an isolated cloud bucket. Production is unaffected by the disconnect and reconnect performed on the destination.
If you want existing production media to remain accessible on the destination after the reconnect, download a local copy of those files from your Infinite Uploads dashboard before disconnecting. You can also re-upload media on the destination after the new connection is in place.
Changing Your WordPress Domain During a Migration
If you are also switching your WordPress domain as part of the move, your CDN URLs do not need a search-and-replace. Infinite Uploads serves your media from a subdomain on infiniteuploads.cloud, and that subdomain is tied to your Infinite Uploads site identity. Your WordPress domain does not appear in these URLs anywhere.
Common Issues When Migrating WordPress to a New Host
After a full site move, your new site points at the same Infinite Uploads cloud storage as the old one. If both sites stay active, they share the same storage, and deleting media on one site can remove it from the other.
If you are retiring the old site, this is not a problem. If both sites need to stay online, run the disconnect and reconnect flow on the destination for each site to have its own storage.
Method 6. How to Set Up a WordPress Staging Site with Isolated Cloud Storage
Methods 1 through 4 give you a staging environment that shares cloud storage with production. However, there are reasons to prefer staging with its own isolated cloud storage, separate from production. Common cases include a long media reorganization you want to keep away from production's media library, or a sandbox for testing changes without touching live media.
This section covers how to set up that environment, what breaks the isolation, and how to recover if it does get broken.
Setting Up an Isolated WordPress Staging Environment
Start with a fresh WordPress install on whatever environment you plan to use. This can be a separate Cloudways application, a local development environment, a different host, or anywhere else you can run WordPress. The new WordPress install needs to start fresh, with no Infinite Uploads history of its own, and no database carried over from production.
Install the Infinite Uploads plugin on the new site, and connect it through the standard sign-in flow using the same Infinite Uploads account you use for production. The plugin will create a brand-new site in your Infinite Uploads account, with its own credentials, its own CDN subdomain, and its own isolated cloud bucket.
Uploads on this new site go to the new bucket, and your production site's media is not affected in either direction.
Verify the isolation by uploading a test image on the new site. The image's CDN URL should use a different subdomain from your production site's media URLs. Your production media library should not show this new image, and your production Infinite Uploads dashboard's file count and total size should remain unchanged from before you set up the isolated environment.
What Breaks Cloud Storage Isolation in a WordPress Staging Site
If you import production's database into the isolated site, isolation is destroyed. This includes a database-only restore using UpdraftPlus, an All-in-One WP Migration import without media, and any database import method that writes production's database into the new site.
The reason is that your Infinite Uploads connection details, including the credentials and site identity, are stored in the WordPress database. When you import production's database, you also import production's Infinite Uploads connection. The new site stops being a separate Infinite Uploads site and reattaches itself to production's cloud storage. Any new uploads on the would-be-isolated site will land in production's bucket.
This trips up users who set up an isolated environment and then try to mirror production's content across through a database import.
Restoring Isolation in Your WordPress Staging Site
If a database import has reattached your isolated site to production's cloud storage, you can restore isolation through the disconnect and reconnect flow in the Infinite Uploads plugin.
Open Infinite Uploads on the affected site, and click Disconnect. Then click Connect again, and sign in to your Infinite Uploads account. The plugin creates a fresh site with new credentials, a new CDN subdomain, and a new isolated cloud bucket. Production's connection is unaffected by this disconnect and reconnect, because the operation runs on the isolated site only.
After reconnecting, your isolated site has its own storage again. Any media previously uploaded to it through production's bucket stays in production's bucket and will not follow you to the new one. If you need that content available on the isolated site, you will have to re-upload it after the reconnect.
Common Issues with Isolated Cloud Storage for WordPress Staging
Importing production's database after the isolated site has been set up causes the import to overwrite the connection details, and uploads will start going to production's storage. The fix is to disconnect and reconnect the Infinite Uploads connection for the isolated site.
Troubleshooting Infinite Uploads with WordPress Staging Sites and Migrations
A few problems come up often enough to be worth covering here in one place.
How to Fix Missing Images in the WordPress Media Library After a Database Operation
If you are missing images from your media library after a database push, restore, or import, the files themselves are almost certainly still in your Infinite Uploads cloud storage. The database operation removed the records that pointed to those files, but the files remain. You can verify this by checking your Infinite Uploads dashboard, which shows your total stored files independently of what your WordPress database shows.
If the missing files were referenced in published posts or pages, those references will still work because they point directly at the CDN URL. New posts created after the database operation will not have access to those files through the media library, and you will need to re-add them through the standard upload process if you want them indexed in WordPress again.
How to Fix the "Could Not Move the Files Into Place" Error in UpdraftPlus
This error typically shows up when WP Staging is also installed and UpdraftPlus tries to restore files into a wp-staging-old directory it cannot write to. Deselect the Others component on the restore screen and run the restore again.
How to Fix "Your File Exceeds the Upload Limit" in All-in-One WP Migration
This usually means the export file exceeds the import size limit built into the free version of All-in-One WP Migration. Raising your host's PHP upload limits may not be enough on its own. The fix is to recreate the export with the ‘Do not export media library’ option checked, which dramatically shrinks the file because Infinite Uploads is already serving your media from the cloud.
How to Fix UpdraftPlus Backup File Size Errors on Restore
This shows up as an upload limit error when uploading the backup on the destination. The fix is to connect via SFTP or your host's file manager and place the backup files directly into the destination's wp-content/updraft directory. Click Rescan Local Folder in UpdraftPlus and the files will appear as a restore option.

How to Verify Your Infinite Uploads Connection Is Healthy
A quick three-point check tells you everything you need.
- In your WordPress dashboard, click Infinite Uploads in the sidebar and confirm it shows as connected, with the Status showing a white check.
- Open the front end of your site, find an image, and check that its URL points at
infiniteuploads.cloudor your custom CDN domain, e.g.media.mydomain.com. - Open your Infinite Uploads account at infiniteuploads.com and confirm the site appears in your account's site list.
If all three are satisfied, your connection is working as expected.
How to Recover Media Deleted on Staging and Pushed to Production
Yes, in most cases. Infinite Uploads stores your files on the cloud independently of the WordPress database. Files only leave the cloud when you remove them through your Infinite Uploads account dashboard or cancel your account. An accidental deletion pushed from staging to production leaves the file intact at its original CDN URL.
What you have lost is the attachment record in your production database. WordPress no longer knows the file exists, even though the file itself is fine. Recovery comes down to getting the record back, or working with the file through its direct URL.
If you have a database backup from before the push, restoring it brings the attachment record back. UpdraftPlus and most other backup plugins let you restore the database alone without changing files.
Important Considerations for WordPress Staging and Migration
Shared Cloud Storage Between WordPress Staging and Production
Files on Infinite Uploads' cloud storage are deleted in only two scenarios.
The first is explicit deletion through the InfiniteUploads.com dashboard. Clicking "Delete site & data" inside the account dashboard removes the cloud files immediately.

The second is account cancellation. Infinite Uploads' policy is to remove data 14 days after cancellation.
Routine staging and migration actions do not trigger deletion. Downloading files locally from the IU dashboard, disconnecting the plugin from a WordPress site, pushing or pulling between staging and production, restoring a database backup, and migrating between hosts all leave the cloud files intact.
Running a Long WordPress Rebuild While Production Stays Live
It is normal to keep production sites live while a long rebuild is being carried out on the staging environment. The Infinite Uploads side of this is straightforward, and the staging methods covered above all support it.
Use a full push to move files and the database when you are ready to go live with your changes. This will bring your changes across cleanly and preserve the connection.
Avoid doing media work on production during the rebuild. If you delete or rearrange media on production while staging is being rebuilt, the rebuild will not know about those changes. When you push staging back, you may push older media records that conflict with what is currently on production.
You can consider whether you need a second isolated environment. Cloudways' built-in staging shares cloud storage with production by design, and WP Staging Pro's clones share storage as well.
If a long rebuild involves large-scale media reorganization that you do not want to test against production's media, set up a separate WordPress install with its own isolated Infinite Uploads connection. Method 6 above covers the setup, what to avoid, and how to restore isolation if it gets broken.
Using Infinite Uploads with WordPress Multisite
If you run a WordPress multisite network, the Infinite Uploads connection is set at the network level rather than per site. The principles in this guide apply to multisite as well, with the addition that all sites in your network share the same network-wide Infinite Uploads connection.
When to Contact Infinite Uploads Support
If you have done a careful staging or migration operation and something is still not behaving the way this guide describes, the Infinite Uploads support team can help.
Send them your account email, the URL of the affected site, and a description of what you did and what you saw. The more specific you can be about the operation that ran before the problem appeared, the faster they can help you get back to a working state.
Next Steps for Getting the Most from Infinite Uploads
If you are setting up Infinite Uploads for the first time, the connect wizard inside the plugin will walk you through the initial connection in a few minutes.

If you are already up and running and want to understand the Infinite Uploads features beyond media offloading, follow the links to the documentation for each feature in your dashboard.