Delivering Product Feeds to FTP, FTPS and SFTP Servers
Deviking Product Feeds Pro can automatically deliver generated XML and CSV feeds to remote servers using:
FTP
FTPS
SFTPRemote delivery is configured separately for each feed through the Destinations tab.
A feed can have one or multiple remote destinations, allowing the same generated file to be delivered to several marketplaces, distributors, partners, or external servers.
The feed is always generated locally first. Remote delivery takes place only after the local feed file has been successfully created.
How Remote Delivery Works
The generation process is:
WooCommerce products
↓
Generate local feed
↓
Save local XML / CSV file
↓
Upload to enabled Remote DestinationsThe local feed remains available even when remote delivery is enabled.
Remote delivery does not replace the local feed file or Feed URL.
Open the Destinations Tab
Go to:
Deviking Feeds → Feeds
Edit the feed you want to deliver remotely.
Open:
Destinations
Here you can create and manage remote server destinations for that feed.
Add a Remote Destination
Add a new destination and configure its connection details.
The available settings include:
Enabled
Name
Protocol
Port
Host
Username
Password
Remote directory
Passive modeYou can also use Test Connection before relying on automatic uploads.
Destination Name
Enter a descriptive internal name.
For example:
Marketplace SFTPor:
Distributor FTPor:
Warehouse Feed ServerThe Name is only used to help identify the destination inside Deviking Product Feeds.
It does not affect the remote filename or connection.
Enable the Destination
Set:
Enabled:
YesOnly enabled destinations receive generated feed files.
This makes it possible to keep a destination saved while temporarily preventing uploads without deleting its connection settings.
Choose the Protocol
Available protocols are:
FTP
FTPS
SFTPSelect the protocol required by the receiving server.
These protocols are not interchangeable. Use the exact connection type provided by the marketplace, distributor, hosting provider, or remote server administrator.
FTP
FTP is the traditional File Transfer Protocol.
Typical configuration:
Protocol:
FTP
Port:
21Port 21 is the default FTP port, although a remote server may provide a different port.
FTPS
FTPS provides FTP connectivity with SSL/TLS protection.
Typical configuration:
Protocol:
FTPS
Port:
21Deviking Product Feeds uses port 21 as the default for FTP and FTPS, but the port can be changed when the remote server requires another value.
Always use the connection details supplied by the destination.
SFTP
SFTP uses the SSH File Transfer Protocol.
Typical configuration:
Protocol:
SFTP
Port:
22Port 22 is the default SFTP port.
If the receiving server provides another port, enter that value instead.
Host
Enter the hostname of the remote server.
For example:
feeds.example.comor:
ftp.example.comor:
sftp.example.comEnter only the host expected by the remote service.
Do not add a web page path unless the service specifically provides one as part of its connection instructions.
Port
The default ports are:
FTP:
21
FTPS:
21
SFTP:
22You can override the port when required.
For example:
Protocol:
SFTP
Port:
2222Use the port supplied by the server administrator or destination platform.
Username
Enter the username provided for the remote FTP, FTPS, or SFTP account.
Example:
merchant_12345This is the remote server username.
It is not your WordPress administrator username unless the remote server happens to use the same credentials.
Password
Enter the password associated with the remote account.
For example:
Username:
merchant_12345
Password:
••••••••••••Saved passwords are not displayed back in the feed editor.
When editing an existing destination, leaving the Password field empty keeps the previously saved password.
This means you do not need to re-enter the password every time you edit the feed.
Password Storage
When OpenSSL is available on the server, Deviking Product Feeds Pro encrypts saved remote destination passwords before storing them.
Passwords are also excluded from exported feed configuration files.
For example, if you use:
Export Configuration
the generated configuration does not include the FTP, FTPS, or SFTP password.
This prevents credentials from being unintentionally transferred with exported feed configurations.
Remote Directory
Use Remote directory to specify where the feed should be uploaded on the destination server.
Example:
/feedsor:
/incoming/feedsA complete destination could therefore be:
Name:
Marketplace SFTP
Protocol:
SFTP
Port:
22
Host:
feeds.example.com
Username:
merchant
Remote directory:
/incoming/feedsThe exact directory must match a location that the remote account can access.
Remote Directory Permissions
The remote account must have permission to upload files into the configured directory.
If:
Remote directory:
/incoming/feedsexists but the account cannot write to it, the connection may succeed while the actual file upload fails.
If remote uploads fail, verify both:
Connection credentials
Directory permissionswith the remote server provider.
Passive Mode
For:
FTP
FTPSyou can configure Passive mode.
Passive mode does not apply to SFTP.
If an FTP or FTPS connection has trouble transferring files, check whether the receiving server expects passive mode to be enabled or disabled.
The appropriate setting depends on the network and remote server configuration.
Test the Connection
Before generating the feed, use:
Test Connection
Deviking Product Feeds will check the configured remote destination.
Testing the connection is useful for detecting incorrect:
Protocol
Host
Port
Username
Password
Remote directorybefore automatic feed generation begins.
A remote destination should pass Test Connection before you rely on scheduled delivery.
Example SFTP Configuration
A typical SFTP destination could look like:
Enabled:
Yes
Name:
Marketplace SFTP
Protocol:
SFTP
Port:
22
Host:
feeds.example.com
Username:
merchant
Password:
••••••••
Remote directory:
/incoming/feedsAfter local generation completes, the generated feed is uploaded to that destination.
Example FTP Configuration
Enabled:
Yes
Name:
Distributor FTP
Protocol:
FTP
Port:
21
Host:
ftp.distributor.example
Username:
store123
Password:
••••••••
Remote directory:
/feeds
Passive mode:
EnabledExample FTPS Configuration
Enabled:
Yes
Name:
Secure Distributor FTP
Protocol:
FTPS
Port:
21
Host:
feeds.partner.example
Username:
partner-store
Password:
••••••••
Remote directory:
/products
Passive mode:
EnabledUse the actual connection values supplied by the receiving service.
Generate and Upload the Feed
Once the destination is configured:
- Save the feed.
- Use Test Connection.
- Confirm that the destination connects successfully.
- Use Save & Generate or Generate Feed.
- Allow the local generation to complete.
- Deviking Product Feeds then uploads the generated file to each enabled destination.
- Check History / Logs if you need to confirm the result.
The remote upload is part of the generation workflow.
Manual and Scheduled Generation
Remote destinations work with the normal feed-generation process.
If you manually generate the feed:
Generate Feedthe newly generated file can be delivered to enabled remote destinations.
The same applies when the feed is automatically regenerated using its configured schedule.
For example:
Schedule:
Dailycan produce the following workflow:
Daily WP-Cron generation
↓
New local feed generated
↓
Feed uploaded to remote destinationThis allows a marketplace or distributor to receive refreshed product data automatically.
Multiple Remote Destinations
A single feed can be delivered to more than one remote server.
For example:
Destination 1:
Marketplace SFTP
Destination 2:
Distributor FTP
Destination 3:
Partner FTPSAfter generation:
products.xml
├── Marketplace SFTP
├── Distributor FTP
└── Partner FTPSThis is useful when several external systems require the same product feed.
You do not need to duplicate the feed solely to send the same output to multiple servers.
Different Protocols in the Same Feed
Each destination has its own configuration.
Therefore one feed can simultaneously use:
FTP
FTPS
SFTPfor different destinations.
For example:
Marketplace A
→ SFTP
Distributor B
→ FTP
Partner C
→ FTPSEach upload uses the settings saved for that particular destination.
Local Generation Happens First
Remote delivery does not stream products directly to the destination while the feed is being built.
The workflow is deliberately:
Generate complete local feed
↓
Finish local file successfully
↓
Start remote uploadsThis ensures that the file being uploaded is the completed generated feed.
What Happens If a Remote Upload Fails?
A remote delivery failure does not remove or discard a successfully generated local feed.
For example:
Local generation:
Success
SFTP upload:
FailedThe locally generated feed remains available.
The generation result can record that local generation succeeded while one or more remote uploads failed.
You can then correct the destination configuration and generate the feed again.
One Destination Can Fail Without Removing the Local Feed
Consider a feed with:
Marketplace SFTP
Distributor FTP
Partner FTPSIf one destination cannot receive the file, the local feed still exists.
This makes troubleshooting safer because a temporary network or remote-server problem does not destroy the successfully generated product feed.
Check History / Logs to identify remote-delivery errors.
Remote Delivery and Feed URLs
Enabling FTP, FTPS, or SFTP does not remove the normal local Feed URL.
You may therefore have:
Local Feed URL:
https://example.com/.../products.xmlwhile also delivering the same generated file to:
sftp.example.comSome destinations can retrieve the Feed URL directly, while others require files to be pushed to their server.
Deviking Product Feeds supports both workflows.
Remote Delivery with Split Feeds
Remote Destinations also work with Split Feeds.
Suppose you configure:
Split Feed:
Maximum records per file
Records per file:
10000and a feed contains 25,000 records.
The generated files may be:
products-1.xml
products-2.xml
products-3.xmlEvery generated part is delivered to the enabled Remote Destinations.
For example:
Remote directory:
/incoming/feedscan receive:
products-1.xml
products-2.xml
products-3.xmlYou do not need to configure each split part separately.
Split XML Feeds
For XML feeds, every split file remains a complete XML document.
For example:
products-1.xml
products-2.xml
products-3.xmlare individually generated and then uploaded to the destination.
This is useful when an external platform limits the number of records that can be included in one feed file.
Split CSV Feeds
CSV split feeds work the same way.
If the CSV header is enabled, each generated part contains the configured header row.
All resulting CSV parts are uploaded to each enabled destination.
Administrator Access
Remote connection settings contain sensitive credentials.
For this reason, only administrators can view or modify Remote Destination connection settings.
Saved passwords are not shown again after they have been stored.
Changing a Saved Password
When editing an existing destination:
Password:
(empty)means:
Keep the existing saved passwordIt does not automatically erase the stored password.
To change the password, enter the new value and save the feed.
Exporting Feed Configurations
Remote destination passwords are deliberately excluded from feed configuration exports.
Therefore, if you:
- Export a feed configuration.
- Import it into another installation.
review the Remote Destination configuration and enter the required credentials on the new site.
This prevents authentication passwords from being transported inside configuration JSON files.
Troubleshooting Connection Problems
If Test Connection or remote delivery fails, check the following information carefully:
Protocol
Host
Port
Username
Password
Remote directory
Passive mode for FTP / FTPSEven one incorrect character in a hostname, username, or password can prevent the connection.
Check the Protocol
Make sure the selected protocol matches the remote service.
For example:
SFTPis not the same protocol as:
FTPand:
FTPSis not the same as SFTP.
Do not choose a protocol based only on the server hostname.
Use the protocol specified by the remote service.
Check the Port
Typical defaults are:
FTP:
21
FTPS:
21
SFTP:
22However, servers can use custom ports.
For example:
SFTP:
2222If the provider gives you a custom port, use that value.
Check the Host
Enter the remote hostname correctly.
Example:
feeds.example.comAvoid accidentally entering:
https://feeds.example.comwhen the remote service expects only a server hostname.
Use the exact connection details supplied by the destination.
Check the Remote Directory
A successful server connection does not necessarily mean that the account can write to every folder.
For example:
/incoming/feedsmust both:
exist or be accepted by the remote serverand:
allow the configured account to write filesIf necessary, confirm the directory with the destination provider.
Check Passive Mode for FTP / FTPS
If FTP or FTPS connects inconsistently or file transfer fails, verify Passive mode.
Some server and firewall configurations require a particular FTP connection mode.
This setting does not apply to SFTP.
Check Server Network Restrictions
The WordPress server must be able to initiate an outgoing connection to the remote destination.
A hosting provider or server firewall can block outgoing connections to ports such as:
21
22or custom FTP/SFTP ports.
If the destination settings are correct but the connection still fails, check whether the hosting environment permits outbound connections to that server and port.
Use History and Logs
After generation, review:
History / Logs
when you need to determine whether:
Local generation succeeded
Remote delivery succeeded
Remote delivery failedThis is especially useful with scheduled feeds because the upload may occur without an administrator being logged into WordPress.
Recommended Setup Workflow
For each new remote destination:
- Obtain the connection details from the receiving service.
- Edit the required feed.
- Open Destinations.
- Add a destination.
- Enter a descriptive Name.
- Choose FTP, FTPS, or SFTP.
- Confirm the Port.
- Enter the Host.
- Enter the Username.
- Enter the Password.
- Enter the Remote directory.
- Configure Passive mode when using FTP or FTPS if required.
- Enable the destination.
- Save the feed.
- Run Test Connection.
- Generate the feed.
- Confirm the remote file.
- Check History / Logs for the delivery result.
Example Complete Configuration
A marketplace provides:
Protocol:
SFTP
Host:
feeds.marketplace.example
Port:
22
Username:
merchant123
Password:
********
Directory:
/incoming/productsConfigure the destination:
Enabled:
Yes
Name:
Marketplace SFTP
Protocol:
SFTP
Port:
22
Host:
feeds.marketplace.example
Username:
merchant123
Password:
********
Remote directory:
/incoming/productsRun:
Test Connection
Then generate the feed.
The workflow becomes:
WooCommerce
↓
products.xml generated locally
↓
SFTP connection
↓
/incoming/products/products.xmlEvery time the feed is regenerated, the current generated output can be delivered to the enabled destination.
Using Multiple Destinations
A more advanced setup could be:
Destination 1
Name:
Marketplace
Protocol:
SFTP
Host:
sftp.marketplace.exampleDestination 2
Name:
Distributor
Protocol:
FTP
Host:
ftp.distributor.exampleDestination 3
Name:
Partner
Protocol:
FTPS
Host:
feeds.partner.exampleOne feed generation can then deliver the same current feed output to all three enabled destinations.
Remote Delivery Checklist
Before putting a remote feed into production, confirm:
- The destination is Enabled.
- The correct Protocol is selected.
- The Host is correct.
- The Port matches the server.
- The Username and Password are valid.
- The Remote directory is correct and writable.
- Passive mode is configured appropriately for FTP/FTPS when needed.
- Test Connection succeeds.
- Manual feed generation succeeds.
- The generated file appears on the remote server.
- Scheduled generation is configured if automatic delivery is required.
- History / Logs show the expected result.
With Remote Destinations, Deviking Product Feeds Pro can maintain the local feed normally while automatically pushing every new generation to one or multiple external FTP, FTPS, or SFTP servers.