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_dirandwp_handle_uploadhooks.
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
elementorin 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 π