Title: VeriRelay
Author: adrenalin83y
Published: <strong>September 18, 2026</strong>
Last modified: September 18, 2026

---

Search plugins

![](https://ps.w.org/verirelay/assets/banner-772x250.png?rev=3702337)

![](https://ps.w.org/verirelay/assets/icon-256x256.png?rev=3702337)

# VeriRelay

 By [adrenalin83y](https://profiles.wordpress.org/adrenalin83y/)

[Download](https://downloads.wordpress.org/plugin/verirelay.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/verirelay/#description)
 * [Reviews](https://wordpress.org/plugins/verirelay/#reviews)
 *  [Installation](https://wordpress.org/plugins/verirelay/#installation)
 * [Development](https://wordpress.org/plugins/verirelay/#developers)

 [Support](https://wordpress.org/support/plugin/verirelay/)

## Description

VeriRelay moves eligible WordPress Media Library files to supported remote storage
without moving the WordPress site itself.

The normal workflow is intentionally short:

 1. Connect remote storage.
 2. Copy and verify media.
 3. Enable public/CDN delivery and visually confirm the site.
 4. Reclaim local disk space through guarded cleanup.

The safety engine remains active behind the simple wizard. Files are copied before
local cleanup, remote copies are verified, additional files in standard WordPress
year/month upload folders are detected and protected, a small cleanup pilot is required,
and every local file is checked again against its remote copy immediately before
deletion.

After historical cleanup, new attachments are automatically copied and verified.
After a configurable grace period, their local copies can be removed automatically
so local disk usage does not grow back.

Plugin-owned or non-standard upload directories are excluded from automatic cleanup
unless a compatible workflow explicitly handles them.

The bundled storage driver currently supports Hosting Ukraine Storage / cdn.express.

### Features

 * Four-step migration wizard for normal use.
 * Copy-before-delete workflow.
 * Remote existence and size verification.
 * Public/CDN delivery without database-wide URL replacement.
 * Compatibility for historical WordPress year/month media URLs.
 * Detection and protection of additional files in standard upload folders.
 * Required 50-file cleanup pilot before full historical cleanup.
 * Resumable guarded bulk cleanup.
 * Emergency restore plan retained after historical cleanup.
 * Safe-deactivation workflow that restores remote-only media locally before CDN
   delivery is disabled.
 * Automatic offload for newly uploaded media after a grace period.
 * Advanced diagnostics and restore tools separated from the normal workflow.
 * WordPress HTTP API for outbound storage requests.
 * WordPress Filesystem API family for local media writes and removals.
 * Compatibility migration for earlier internal beta/RC state.
 * Internationalization-ready source strings for WordPress.org language packs.

### External services

This plugin connects to an external storage service only after an administrator 
configures storage credentials and starts the offload workflow.

The bundled driver is for Hosting Ukraine Storage / cdn.express. When configured,
eligible WordPress media files are transmitted to the administrator’s storage account.
The plugin also sends authenticated API requests to create directories, check file
existence and size, upload files, and remove temporary test files or other remote
files only when an explicit supported workflow requires that remote action. Public
media is then served from the public storage/CDN address configured by the administrator.

Service provider: Hosting Ukraine / Ukraine.com.ua
 Service website: https://www.
ukraine.com.ua/ Privacy policy: https://www.ukraine.com.ua/legal/privacypolicy/ 
Legal terms and service documents: https://www.ukraine.com.ua/legal/

Storage credentials are provided by the site administrator and are not sent to the
plugin author.

### Privacy

VeriRelay does not create an account with the plugin author and does not send analytics
or telemetry to the plugin author. Media files and storage API credentials are used
only to perform storage operations configured by the site administrator.

Because media files may contain personal or confidential information, administrators
are responsible for determining whether their chosen external storage provider is
appropriate for the content they offload and for complying with applicable privacy,
contractual, and data-protection requirements.

### Deactivation and uninstall safety

A site with remote-only media can depend on VeriRelay for runtime URL delivery. 
Before permanent deactivation, use the main-screen “Prepare for deactivation” action.
Automatic local deletion stops first; recoverable remote-only media and files from
the retained historical cleanup plan are restored locally and size-verified; CDN
delivery is disabled only after the restore succeeds.

Normal deactivation keeps settings so the plugin can be reactivated without reconfiguration.
Deactivation also clears the plugin’s pending automatic-mirror schedule.

The plugin intentionally does not delete remote media as part of deactivation or
uninstall. If uninstall occurs after the site has reached the explicit safe-to-deactivate
state, local plugin options/state and VMOFF attachment metadata are removed. If 
uninstall is attempted without that safe state, recovery configuration is intentionally
retained in the database so reinstalling the plugin can still recover the setup.

## Installation

 1.  Upload the plugin ZIP in Plugins > Add Plugin > Upload Plugin, or install the 
     plugin folder as `verirelay`.
 2.  Activate VeriRelay.
 3.  Open Media > Remote Storage.
 4.  Enter the storage API host, API login, API password, public URL, and the remote
     folder for this site.
 5.  Click “Save and verify”. The plugin verifies authentication, creates the remote
     folder when necessary, uploads a temporary test file, verifies it, tests the public
     URL, and removes the temporary file.
 6.  Run “Copy & verify” and wait for the media copy to complete.
 7.  Enable CDN/public delivery, open several pages of the site, and confirm that images
     and documents load correctly.
 8.  Run the protected 50-file cleanup pilot. After checking the site again, continue
     with full cleanup if everything is correct.
 9.  When historical cleanup finishes, the plugin enables the steady-state workflow
     for new uploads.

Keep a normal website and database backup before the first production migration.
Do not deactivate the plugin permanently while media is remote-only unless you first
restore local copies or otherwise replace its URL-delivery behavior.

## FAQ

### Does the plugin move my WordPress site or change its IP address?

No. The WordPress application, database, themes, and plugins remain on the existing
hosting account. Only eligible media files are copied to the configured remote storage.

### Does the plugin modify existing media URLs in the database?

The normal delivery workflow does not perform a database-wide search/replace. Verified
media URLs are rewritten at runtime to the configured public storage/CDN address.

### Does it delete local files immediately after copying?

No. Historical media is copied and verified first. CDN/public delivery is enabled
and checked while local copies remain available. Cleanup requires a protected pilot,
and each file is verified again remotely immediately before its local copy is removed.

### What happens to new uploads after migration?

New Media Library attachments are copied and verified automatically. After the configured
grace period, the plugin can remove the verified local copy and continue serving
the media from remote storage.

### What happens to folders created by themes or other plugins?

Non-standard or plugin-owned upload folders are excluded from automatic historical
cleanup. VeriRelay focuses on files that can be safely associated with the standard
WordPress media workflow and protected standard year/month folders.

### Can I restore media to the local uploads directory?

Yes. Advanced diagnostics include restore tools. The historical cleanup plan is 
retained so missing local files can be restored from their verified remote copies.

### Can I deactivate the plugin after local copies have been removed?

Yes, but first use the built-in “Prepare for deactivation” workflow. It immediately
stops automatic local deletion, restores recoverable remote-only Media Library files
and historical cleanup-plan files to the local uploads directory, verifies the result,
and only then disables CDN delivery. The final screen explicitly reports when the
site is safe to deactivate.

### Does uninstalling the plugin delete files from remote storage?

No. VeriRelay does not automatically delete the remote media library during normal
cleanup, deactivation, or uninstall. Remote content remains under the administrator’s
storage account. This conservative behavior is intentional to reduce the risk of
data loss.

### Does the plugin send analytics or telemetry to the author?

No. The plugin does not send analytics, telemetry, media files, or storage credentials
to the plugin author.

### Which storage service is supported in this release?

The bundled driver currently supports Hosting Ukraine Storage / cdn.express. Additional
storage drivers are not included in version 1.0.0.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“VeriRelay” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ adrenalin83y ](https://profiles.wordpress.org/adrenalin83y/)

[Translate “VeriRelay” into your language.](https://translate.wordpress.org/projects/wp-plugins/verirelay)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/verirelay/), check 
out the [SVN repository](https://plugins.svn.wordpress.org/verirelay/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/verirelay/) by [RSS](https://plugins.trac.wordpress.org/log/verirelay/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * First public release of VeriRelay.
 * Copy-before-delete migration, remote verification, public/CDN delivery, guarded
   cleanup, automatic offload for new uploads, advanced diagnostics, and safe full
   local restore before deactivation.
 * Remote storage is never deleted automatically during cleanup, deactivation, or
   uninstall.
 * WordPress.org review hardening: distinctive public branding, WordPress.org language-
   pack readiness, standardized WordPress 6.9+ template enhancement output filtering,
   and admin notices limited to relevant screens.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.5 or higher **
 *  Tested up to **7.1.1**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [cdn](https://wordpress.org/plugins/tags/cdn/)[disk space](https://wordpress.org/plugins/tags/disk-space/)
   [media](https://wordpress.org/plugins/tags/media/)[offload](https://wordpress.org/plugins/tags/offload/)
   [storage](https://wordpress.org/plugins/tags/storage/)
 *  [Advanced View](https://wordpress.org/plugins/verirelay/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/verirelay/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/verirelay/reviews/)

## Contributors

 *   [ adrenalin83y ](https://profiles.wordpress.org/adrenalin83y/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/verirelay/)