Skip to main content
PRO Only
Pro Feature

This page documents Pro edition compatibility with other popular WordPress and WooCommerce plugins. Upgrade to Pro to access these features.

Pro: Other Plugin Compatibility

Compatibility information for popular WordPress and WooCommerce plugins.

Overview

Free Downloads for WooCommerce Pro is compatible with most WordPress and WooCommerce plugins. This page documents tested integrations, known issues, and workarounds.

WooCommerce Extensions

WooCommerce PDF Product Vouchers

Status: ✅ Compatible

Integration:

  • PDF vouchers work with free downloads
  • Vouchers can be required before download
  • Download tracking includes voucher usage

Configuration:

  1. Install WooCommerce PDF Product Vouchers
  2. Create voucher template
  3. Assign to free download products
  4. Configure voucher requirements

Use Cases:

  • Gift certificates for downloads
  • Promotional vouchers
  • Limited-time access codes

WooCommerce Product Add-Ons

Status: ✅ Compatible

Integration:

  • Add-ons work with free products
  • Custom fields captured
  • Add-on data tracked with downloads

Configuration:

  1. Install WooCommerce Product Add-Ons
  2. Create add-on groups
  3. Assign to free download products
  4. Configure required fields

Use Cases:

  • Custom download options
  • User information collection
  • Personalized downloads

WooCommerce Bookings

Status: ⚠️ Partial

Integration:

  • Bookings work with free products
  • Download available after booking
  • Limited tracking integration

Known Issues:

  • Download button may not show on booking confirmation
  • Workaround: Use email with download link

WooCommerce Deposits

Status: ✅ Compatible

Integration:

  • Deposits work with free products (£0 deposit)
  • Download available immediately
  • Full compatibility with tracking

Configuration: Set deposit amount to £0 for free downloads.

Page Builders

Page builders like Elementor often use their own product blocks or modules that do not include the WooCommerce hooks where the plugin automatically injects the download button. If the download button does not show on a product page built with a page builder, use the [download_now] shortcode instead: add a Shortcode widget or block and insert [download_now id="123"] with your product ID. This works in all supported page builders.

Elementor

Status: ✅ Fully Compatible

Integration:

  • Shortcodes work in Elementor widgets
  • Custom templates supported
  • Visual editing available
  • If the automatic download button does not show (Elementor's product widgets may not fire WooCommerce hooks), use the [download_now] shortcode as below.

Usage:

  1. Add Shortcode widget
  2. Insert download shortcode
  3. Style with Elementor
  4. Preview and publish

Example:

[download_now id="123"]

Divi Builder

Status: ✅ Fully Compatible

Integration:

  • Shortcodes work in Divi modules
  • Custom CSS supported
  • Theme Builder compatible

Usage:

  1. Add Code module
  2. Insert download shortcode
  3. Style with Divi
  4. Save and publish

Beaver Builder

Status: ✅ Fully Compatible

Integration:

  • Shortcodes work in HTML modules
  • Custom templates supported
  • Page Builder compatible

Usage:

  1. Add HTML module
  2. Insert download shortcode
  3. Style with Beaver Builder
  4. Publish page

WPBakery Page Builder

Status: ✅ Compatible

Integration:

  • Shortcodes work in text blocks
  • Custom elements supported
  • Visual Composer compatible

Caching Plugins

WP Rocket

Status: ✅ Compatible

Configuration:

  1. Exclude download URLs from cache
  2. Exclude logged-in users from cache
  3. Disable cache for download pages

Settings:

Excluded URLs:
/download/*
/?download=*

Exclude Cookies:

wordpress_logged_in_*
somdn_*

W3 Total Cache

Status: ✅ Compatible

Configuration:

  1. Exclude download pages from page cache
  2. Exclude download queries from database cache
  3. Disable cache for logged-in users

Settings:

Never cache the following pages:
download/*

WP Super Cache

Status: ✅ Compatible

Configuration:

  1. Add download URLs to rejected URLs
  2. Disable cache for known users
  3. Clear cache after plugin updates

Settings:

Rejected URLs:
/download/

LiteSpeed Cache

Status: ✅ Compatible

Configuration:

  1. Exclude download URLs from cache
  2. Exclude logged-in users
  3. Configure ESI for dynamic content

Settings:

Do Not Cache URIs:
/download/

Security Plugins

Wordfence

Status: ✅ Compatible

Configuration:

  • Whitelist download URLs from rate limiting
  • Exclude download scripts from firewall
  • Allow download AJAX requests

Settings:

Whitelisted URLs:
/wp-admin/admin-ajax.php?action=somdn_*

Sucuri Security

Status: ✅ Compatible

Configuration:

  • Whitelist download functionality
  • Exclude from hardening rules
  • Allow file downloads

iThemes Security

Status: ✅ Compatible

Configuration:

  • Whitelist download URLs
  • Exclude from brute force protection
  • Allow AJAX requests

All In One WP Security

Status: ✅ Compatible

Configuration:

  • Whitelist download scripts
  • Exclude from firewall rules
  • Allow file access

CDN Services

Cloudflare

Status: ✅ Compatible

Configuration:

  1. Create page rule for download URLs
  2. Disable cache for download pages
  3. Allow cookies to pass through

Page Rules:

URL: yoursite.com/download/*
Settings:
- Cache Level: Bypass
- Disable Performance

MaxCDN / StackPath

Status: ✅ Compatible

Configuration:

  • Exclude download URLs from CDN
  • Use origin server for downloads
  • Configure proper headers

KeyCDN

Status: ✅ Compatible

Configuration:

  • Exclude download paths
  • Configure origin pull
  • Set proper cache headers

Email Marketing

Mailchimp for WooCommerce

Status: ✅ Compatible

Integration:

  • Works alongside Pro MailChimp integration
  • Separate list management
  • No conflicts

Note: Use Pro MailChimp integration for download-specific lists.

Klaviyo

Status: ✅ Compatible

Integration:

  • Download events can be sent to Klaviyo
  • Custom integration possible
  • Tracking compatible

Custom Integration:

add_action('somdn_count_download', 'send_to_klaviyo', 10, 3);
function send_to_klaviyo($product_id, $user_id, $variation_id) {
// Send event to Klaviyo
if (function_exists('klaviyo_track_event')) {
klaviyo_track_event('Downloaded Product', array(
'product_id' => $product_id,
'user_id' => $user_id
));
}
}

ConvertKit

Status: ✅ Compatible

Integration:

  • Email capture can trigger ConvertKit subscription
  • Custom integration available
  • Form embedding supported

Analytics

Google Analytics

Status: ✅ Compatible

Integration:

  • Download tracking as events
  • Custom dimensions supported
  • Enhanced ecommerce compatible

Implementation:

// Track downloads in Google Analytics
document.addEventListener('somdn_download_complete', function(e) {
if (typeof gtag !== 'undefined') {
gtag('event', 'download', {
'event_category': 'Free Downloads',
'event_label': e.detail.product_name,
'value': e.detail.product_id
});
}
});

MonsterInsights

Status: ✅ Compatible

Integration:

  • Automatic download tracking
  • Enhanced ecommerce support
  • Custom event tracking

Configuration: Enable "File Downloads" tracking in MonsterInsights settings.

Matomo (Piwik)

Status: ✅ Compatible

Integration:

  • Download tracking as events
  • Custom variables supported
  • Goal tracking available

Multilingual

WPML

Status: ✅ Compatible

Integration:

  • Products translatable
  • Settings per language
  • Shortcodes work in all languages

Configuration:

  1. Translate products
  2. Translate settings strings
  3. Configure language-specific limits

Polylang

Status: ✅ Compatible

Integration:

  • Product translations supported
  • Language-specific settings
  • Shortcode compatibility

TranslatePress

Status: ✅ Compatible

Integration:

  • Visual translation of buttons
  • Settings translation
  • Full compatibility

Performance

Query Monitor

Status: ✅ Compatible

Usage:

  • Debug download queries
  • Monitor performance
  • Identify bottlenecks

P3 Plugin Performance Profiler

Status: ✅ Compatible

Usage:

  • Measure plugin impact
  • Optimize performance
  • Compare with other plugins

Known Conflicts

Conflicting Plugins

Download Manager Plugins:

  • May conflict with download handling
  • Disable other download managers
  • Use only one download plugin

Aggressive Caching:

  • Some cache plugins may cache download pages
  • Configure exclusions properly
  • Test after cache plugin updates

Security Hardening:

  • Overly restrictive security may block downloads
  • Whitelist download functionality
  • Test download process after security changes

Troubleshooting

Plugin Conflicts

Symptoms:

  • Downloads not working
  • Buttons not showing
  • Errors in console

Diagnosis:

  1. Disable all plugins except WooCommerce and Free Downloads
  2. Test download functionality
  3. Re-enable plugins one by one
  4. Identify conflicting plugin

Resolution:

  • Contact support for both plugins
  • Look for compatibility settings
  • Use workarounds if available

Cache Issues

Symptoms:

  • Old content showing
  • Download counts not updating
  • Settings changes not applying

Resolution:

  1. Clear all caches (plugin, browser, CDN)
  2. Exclude download pages from cache
  3. Disable cache for logged-in users
  4. Test in incognito mode

Security Blocks

Symptoms:

  • Downloads blocked
  • 403 errors
  • Firewall messages

Resolution:

  1. Check security plugin logs
  2. Whitelist download URLs
  3. Exclude from firewall rules
  4. Test with security temporarily disabled

Best Practices

Testing New Plugins

  1. Test on staging site first
  2. Check download functionality
  3. Verify tracking works
  4. Monitor for errors
  5. Test with cache enabled

Performance Optimization

  1. Use caching appropriately
  2. Exclude dynamic content
  3. Optimize database queries
  4. Monitor server resources
  5. Regular performance testing

Compatibility Maintenance

  1. Keep all plugins updated
  2. Test after updates
  3. Monitor error logs
  4. Document custom integrations
  5. Regular compatibility checks

Requesting Compatibility

Need Integration?

If you need compatibility with a specific plugin:

  1. Contact support with plugin details
  2. Provide use case description
  3. Share any error messages
  4. Test with latest versions
  5. Follow up on progress

Information Needed:

  • Plugin name and version
  • WordPress version
  • WooCommerce version
  • Free Downloads version
  • Description of issue
  • Steps to reproduce