There are three ways to handle media offloading for multiple WordPress client sites in an agency: manually via FTP, with custom code for automation and rewriting, or with a dedicated WP FTP Media plugin. Each approach serves the same goal of reducing local storage pressure across client portfolios, but they differ sharply in setup time, costs, and scalability. This comparison draws from real agency workflows to show what each looks like in practice.
Manual FTP offloading starts simple for one site. You create directories on a shared FTP server, upload files via an FTP client like FileZilla, and edit post content or use search-replace tools to update image URLs. For agencies, this breaks down quickly. Onboarding a new client means repeating uploads for thousands of files, no bulk sync, and constant manual URL fixes. A site with 40,000 images could take days per client, with no automation for new uploads. Costs stay low at $8 to $15 monthly for the server, but time becomes the real expense as your portfolio grows to ten sites.
Custom Code Approaches Add Flexibility but Complexity
Custom code takes manual further by hooking into WordPress filters for output-based URL rewriting. Developers add functions to rewrite image URLs on-the-fly to point at FTP paths, preserving the database. New uploads require FTP hooks or cron jobs to move files automatically. This works for tech-savvy agencies but demands ongoing maintenance. Each client site needs tailored code for its subdirectory, like /clients/clientname/. Debugging connection issues, handling parallel transfers, or CDN integration falls on your team. Offboarding involves code removal and potential URL reversions, creating technical debt. While free beyond server costs, the per-client coding time mirrors S3 setups at 30 to 60 minutes each, scaling poorly.
In contrast, S3-based tools like WP Offload Media automate much of this but introduce per-site licensing and variable bills. Agencies face $299 yearly for unlimited sites, plus $50+ monthly across ten sites for storage, egress, and requests on 300GB total. IAM management, bucket isolation, and offboarding migrations add hours per client.
Plugin Workflow Simplifies Agency Scale
A dedicated WordPress FTP media offload plugin changes this to a repeatable four-step process. First, create a client subdirectory on your shared FTP server in under a minute. Install WP FTP Media, enter host details and path, then run browser-based bulk sync with parallel transfers. Libraries of 40,000 files move in 30 to 60 minutes. New uploads go automatically, URLs rewrite on output, keeping databases clean.
Total costs drop to $180 to $250 yearly for ten sites, versus $580+ for S3 stacks. Offboarding is instant: disable the plugin, and the site reverts seamlessly. This output-based method avoids database dependencies, ideal for agencies serving 10 to 30 WooCommerce stores.
For growing agencies, plugins like WP FTP Media deliver the automation manual and code methods lack, at a fraction of S3 overhead. Evaluate your portfolio to pick the fit that matches your scale.