Knowledge Base
Deviking Product feeds Pro

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
SFTP
 

Remote 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 Destinations
 

The 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 mode
 

You can also use Test Connection before relying on automatic uploads.


Destination Name

Enter a descriptive internal name.

For example:

 
Marketplace SFTP
 

or:

 
Distributor FTP
 

or:

 
Warehouse Feed Server
 

The 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:
Yes
 

Only 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
SFTP
 

Select 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:
21
 

Port 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:
21
 

Deviking 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:
22
 

Port 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.com
 

or:

 
ftp.example.com
 

or:

 
sftp.example.com
 

Enter 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:
22
 

You can override the port when required.

For example:

 
Protocol:
SFTP

Port:
2222
 

Use 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_12345
 

This 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:

 
/feeds
 

or:

 
/incoming/feeds
 

A complete destination could therefore be:

 
Name:
Marketplace SFTP

Protocol:
SFTP

Port:
22

Host:
feeds.example.com

Username:
merchant

Remote directory:
/incoming/feeds
 

The 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/feeds
 

exists 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 permissions
 

with the remote server provider.


Passive Mode

For:

 
FTP
FTPS
 

you 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 directory
 

before 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/feeds
 

After 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:
Enabled
 

Example 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:
Enabled
 

Use the actual connection values supplied by the receiving service.


Generate and Upload the Feed

Once the destination is configured:

  1. Save the feed.
  2. Use Test Connection.
  3. Confirm that the destination connects successfully.
  4. Use Save & Generate or Generate Feed.
  5. Allow the local generation to complete.
  6. Deviking Product Feeds then uploads the generated file to each enabled destination.
  7. 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 Feed
 

the 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:
Daily
 

can produce the following workflow:

 
Daily WP-Cron generation
↓
New local feed generated
↓
Feed uploaded to remote destination
 

This 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 FTPS
 

After generation:

 
products.xml
   ├── Marketplace SFTP
   ├── Distributor FTP
   └── Partner FTPS
 

This 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
SFTP
 

for different destinations.

For example:

 
Marketplace A
→ SFTP

Distributor B
→ FTP

Partner C
→ FTPS
 

Each 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 uploads
 

This 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:
Failed
 

The 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 FTPS
 

If 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.xml
 

while also delivering the same generated file to:

 
sftp.example.com
 

Some 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:
10000
 

and a feed contains 25,000 records.

The generated files may be:

 
products-1.xml
products-2.xml
products-3.xml
 

Every generated part is delivered to the enabled Remote Destinations.

For example:

 
Remote directory:
/incoming/feeds
 

can receive:

 
products-1.xml
products-2.xml
products-3.xml
 

You 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.xml
 

are 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 password
 

It 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:

  1. Export a feed configuration.
  2. 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 / FTPS
 

Even 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:

 
SFTP
 

is not the same protocol as:

 
FTP
 

and:

 
FTPS
 

is 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:
22
 

However, servers can use custom ports.

For example:

 
SFTP:
2222
 

If the provider gives you a custom port, use that value.


Check the Host

Enter the remote hostname correctly.

Example:

 
feeds.example.com
 

Avoid accidentally entering:

 
https://feeds.example.com
 

when 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/feeds
 

must both:

 
exist or be accepted by the remote server
 

and:

 
allow the configured account to write files
 

If 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
22
 

or 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 failed
 

This 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:

  1. Obtain the connection details from the receiving service.
  2. Edit the required feed.
  3. Open Destinations.
  4. Add a destination.
  5. Enter a descriptive Name.
  6. Choose FTP, FTPS, or SFTP.
  7. Confirm the Port.
  8. Enter the Host.
  9. Enter the Username.
  10. Enter the Password.
  11. Enter the Remote directory.
  12. Configure Passive mode when using FTP or FTPS if required.
  13. Enable the destination.
  14. Save the feed.
  15. Run Test Connection.
  16. Generate the feed.
  17. Confirm the remote file.
  18. 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/products
 

Configure the destination:

 
Enabled:
Yes

Name:
Marketplace SFTP

Protocol:
SFTP

Port:
22

Host:
feeds.marketplace.example

Username:
merchant123

Password:
********

Remote directory:
/incoming/products
 

Run:

Test Connection

Then generate the feed.

The workflow becomes:

 
WooCommerce
↓
products.xml generated locally
↓
SFTP connection
↓
/incoming/products/products.xml
 

Every 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.example
 
 
Destination 2

Name:
Distributor

Protocol:
FTP

Host:
ftp.distributor.example
 
 
Destination 3

Name:
Partner

Protocol:
FTPS

Host:
feeds.partner.example
 

One 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.