Upload WordPress media files directly to a remote FTP server (like a download host) while preserving Elementor paths and styles. This plugin ensures that media files (e.g., images) are uploaded to a secondary domain (e.g., https://dl.example.com/uploads
) while keeping Elementor-generated CSS and assets untouched.
- ✅ Automatically uploads new media to a remote FTP server.
- ✅ Keeps Elementor styles (
elementor/css/...
) working by excluding them. - ✅ Updates media URLs to point to the remote download host.
- ✅ Automatically creates directory structures on the FTP server.
- ✅ Deletes the local copy after successful upload to save space.
- ✅ Cleanly integrated into WordPress's
upload_dir
andwp_handle_upload
hooks.
Your WordPress media files (e.g., /wp-content/uploads/2025/07/image.jpg
) will be served from:
https://dl.example.com/uploads/2025/07/image.jpg
But Elementor-generated files (like /uploads/elementor/css/post-xxxx.css
) remain untouched and are loaded from the main site:
https://example.com/wp-content/uploads/elementor/css/post-xxxx.css
- Upload the plugin folder to your WordPress site's
/wp-content/plugins/
directory. - Activate the plugin via the Plugins menu in WordPress.
- Define your FTP credentials in
wp-config.php
(optional, see below).
By default, FTP credentials are hardcoded in the plugin. To secure and externalize them, add the following constants in your wp-config.php
:
define('REMOTEUPLOADER_SUBDOMAIN_URL', 'https://dl.example.com/uploads');
define('REMOTEUPLOADER_FTP_HOST', 'ftp.example.com');
define('REMOTEUPLOADER_FTP_USERNAME', 'ftpuser');
define('REMOTEUPLOADER_FTP_PASSWORD', 'ftppass');
define('REMOTEUPLOADER_FTP_BASEDIR', '/domains/example.com/public_html/uploads');
Replace example.com
with your actual domain.
- Files uploaded under
/uploads/20xx/
are moved to the remote FTP. - Elementor-related uploads (containing
elementor
in path) are excluded. - Files are removed from the local server after successful transfer.
Make sure your FTP credentials are kept secure. Avoid committing them to version control. Prefer using wp-config.php
as described above.
MIT License
GitHub: https://github.com/BaseMax/wp-remote-uploader
Happy uploading 🚀