Work in progress. FastCloudWP is not yet publicly available, and this plugin is pending approval on the WordPress plugin directory. Stay tuned — it's coming.
FastCloudWP is a WordPress plugin that automatically offloads your media library to FastCloud and serves every asset through a global CDN. Upload once, deliver everywhere — without changing how you work in WordPress.
WordPress sites accumulate media. That media lives on your server, slows down your stack, and costs you disk space. FastCloudWP moves it out of the way automatically and rewrites your frontend URLs so visitors get assets from the nearest CDN edge — faster, and with less load on your origin.
No AWS. No IAM. No S3 buckets. No storage configuration. Just create a FastCloudWP account, paste your sitekey into the plugin, and you're done. Everything else is handled for you — including a 5 GB free plan, forever.
- Automatic offloading — New uploads are queued and sent to FastCloudWP immediately after processing.
- CDN URL rewriting — Frontend
srcandsrcsetattributes are rewritten on the fly to point to the CDN origin. - Batch offload — Existing media can be offloaded in bulk from the admin dashboard.
- Optional local deletion — Free up disk space by removing local copies after offloading.
- Offload status tracking — Each attachment is tracked (
queued,pending,offloaded) so you always know what's been moved. - WP-CLI support — Offload media and free disk space from the command line, with progress bars.
- Settings UI — Clean Vue 3 admin interface to connect, configure, and monitor everything.
These features are on the roadmap and will ship after the initial release:
- Image optimization (Pro) — Automatic WebP and AVIF conversion on upload. The single biggest PageSpeed Insights win for media-heavy sites.
- WooCommerce support — Full compatibility with product images and attachment URL rewriting for WooCommerce stores.
- Delivery analytics — Bandwidth served, cache hit rate, and top files. See exactly what your CDN is doing.
- Agency plan — Multi-site management, higher limits, and white-label options. Join the waitlist to be notified first.
FastCloudWP includes two WP-CLI commands for managing your media from the command line.
Offload all pending media:
wp fastcloud offloadQueues all media files that have not yet been offloaded to FastCloudWP. Runs in batches and shows a progress bar. Stops automatically if your storage quota is exceeded.
Delete local copies to free disk space:
wp fastcloud free-spaceDeletes the local files for all media that has already been offloaded. Requires the "Remove Local Copies After Offload" setting to be enabled. Runs in batches and shows a progress bar.
The admin interface is built with Vue 3, TypeScript, and Vite. Compiled assets are committed to assets/ so the plugin works without a build step — but if you want to modify the frontend or verify the output yourself, here's how.
Prerequisites: Node.js 24+ and npm.
# Install dependencies
npm install
# Production build — compiles src/ into assets/
npm run build
# Development server with hot module replacement (port 5175)
npm run dev
# TypeScript type-check only (no emit)
npx vue-tsc -b
# Lint
npm run lint
npm run lint:fix
# Regenerate POT translation file (requires DDEV)
npm run make-pot
# Compile .po files → per-locale JSON for the JS bundle
npm run make-jsonWordPress loads PHP translations from .mo files the usual way. The Vue/TypeScript frontend is a compiled JavaScript bundle, so its strings need a separate delivery path: at runtime the plugin injects per-locale .json files (Jed 1.x format) into window.__fastcloudwpI18n before the app boots.
Full workflow for a new locale (fr_FR as example):
-
Regenerate the POT template (requires DDEV):
npm run make-pot
Extracts strings from PHP and Vue/TypeScript source files →
languages/fastcloud-offload-media.pot. -
Create/update the PO file — use the POT as source in Poedit or any
.poeditor, save aslanguages/fastcloud-offload-media-fr_FR.po. -
Compile to MO for PHP translations (standard Poedit export or
msgfmt). -
Generate the JSON file for the JavaScript bundle:
npm run make-json
Reads every
fastcloud-offload-media-{locale}.poinlanguages/and outputs a matchingfastcloud-offload-media-{locale}-js.json. The plugin loads this file at runtime so the Vue interface is translated alongside PHP.
This project follows the WordPress JavaScript coding standards and the WordPress PHP coding standards.
- PHP — validated with PHP_CodeSniffer using the
WordPressruleset and PHPCompatibility for PHP 8.1+. - JavaScript / TypeScript — linted with ESLint using
@wordpress/eslint-plugin, which enforces WordPress i18n rules, validsprintfusage, and correct text domain usage across all Vue and TypeScript source files.
Both checks run automatically on every push via GitHub Actions and must pass before any release is deployed.
- WordPress 6.1+
- PHP 8.1+
- A FastCloud account (not yet publicly available)
The plugin is functional and under active development. FastCloudWP itself is not open to the public yet. Once both are ready, installation will be as simple as searching "FastCloudWP" in the WordPress plugin directory.
If you're a developer and want to follow along or contribute, watch this repo.
License: GPLv2
