Overview
General Settings control core WordPress Download Manager behavior including download methods, file storage, permalinks, and basic security options. These settings affect how packages are served to users across your entire site.
Prerequisites
- WordPress Download Manager installed and activated
- Administrator access to WordPress
- Write permissions on upload directory
Accessing General Settings
- Go to Downloads > Settings
- Click General tab (default tab)
Settings Reference
Download Settings
Download Method
| Setting | Description |
|---|---|
| Location | Settings > General > Download Method |
| Options | PHP Download, Direct Link, X-Accel-Redirect, X-Sendfile |
| Default | PHP Download |
PHP Download (Recommended for most sites)
- Files served through PHP script
- Maximum security (files can be outside webroot)
- Works on all hosting environments
- Slightly higher server load
Direct Link
- Apache/Nginx serves files directly
- Faster for large files
- Files must be in accessible location
- Less security control
X-Accel-Redirect (Nginx)
- Nginx handles file delivery
- PHP validates access, Nginx serves file
- Best performance with security
- Requires Nginx configuration
X-Sendfile (Apache)
- Apache handles file delivery
- Similar to X-Accel-Redirect
- Requires mod_xsendfile module
Download Speed Limit
| Setting | Description |
|---|---|
| Location | Settings > General > Download Speed Limit |
| Type | Number (KB/s) |
| Default | 0 (unlimited) |
Controls maximum download speed per connection:
0 = Unlimited (recommended for most sites) 100 = 100 KB/s (suitable for shared hosting) 500 = 500 KB/s (balanced) 1000 = 1 MB/s (high-speed limit)
Use Cases:
- Prevent bandwidth abuse
- Ensure fair distribution
- Reduce server load spikes
Resume Download Support
| Setting | Description |
|---|---|
| Location | Settings > General > Resume Download |
| Type | Checkbox |
| Default | Enabled |
When enabled:
- Users can pause and resume downloads
- Supports HTTP Range requests
- Critical for large files
- Improves user experience on unstable connections
File Storage
Upload Path
| Setting | Description |
|---|---|
| Location | Settings > General > Upload Path |
| Type | Directory path |
| Default | /wp-content/uploads/download-manager-files/ |
Where package files are stored:
Relative: download-manager-files/ Absolute: /var/www/html/wp-content/uploads/download-manager-files/ Outside webroot: /var/secure-files/ (most secure)
Security Recommendation:
Store files outside the web root when possible:
/home/user/wpdm-files/
Then configure .htaccess to deny direct access.
Chunk Upload Size
| Setting | Description |
|---|---|
| Location | Settings > General > Chunk Upload Size |
| Type | Number (MB) |
| Default | 2 |
For large file uploads:
2 MB - Works on most shared hosts 5 MB - VPS/dedicated servers 10 MB - High-performance servers
Larger chunks = faster uploads but require more memory.
Permalink Settings
Package Base Slug
| Setting | Description |
|---|---|
| Location | Settings > General > Package Base |
| Type | Text |
| Default | download |
URL structure for single packages:
Default: yoursite.com/download/package-name/ Custom: yoursite.com/files/package-name/
After changing: Go to Settings > Permalinks and click Save.
Category Base Slug
| Setting | Description |
|---|---|
| Location | Settings > General > Category Base |
| Type | Text |
| Default | download-category |
URL structure for category archives:
Default: yoursite.com/download-category/software/ Custom: yoursite.com/downloads/software/
Tag Base Slug
| Setting | Description |
|---|---|
| Location | Settings > General > Tag Base |
| Type | Text |
| Default | download-tag |
URL structure for tag archives:
Default: yoursite.com/download-tag/free/ Custom: yoursite.com/tagged/free/
Basic Security
Hotlink Protection
| Setting | Description |
|---|---|
| Location | Settings > General > Hotlink Protection |
| Type | Checkbox |
| Default | Disabled |
Prevents other sites from linking directly to your files:
When enabled:
- Checks HTTP referrer
- Blocks requests from external domains
- Protects bandwidth
Allowed Domains field appears when enabled:
example.com subdomain.example.com
Download Link Expiry
| Setting | Description |
|---|---|
| Location | Settings > General > Link Expiry |
| Type | Number (hours) |
| Default | 0 (never expires) |
How long download links remain valid:
0 = Links never expire 1 = 1 hour validity 24 = 24 hours validity 168 = 1 week validity
Note: Affects dynamically generated links, not permanent package URLs.
Logging & Tracking
Download Logging
| Setting | Description |
|---|---|
| Location | Settings > General > Enable Download Log |
| Type | Checkbox |
| Default | Enabled |
Records download activity:
- IP address
- User ID (if logged in)
- Package downloaded
- Date/time
- Browser/OS info
Privacy Note: May require disclosure in privacy policy.
Exclude IPs from Logging
| Setting | Description |
|---|---|
| Location | Settings > General > Exclude IPs |
| Type | Textarea |
| Default | Empty |
IPs that won’t be logged:
127.0.0.1 192.168.1.* 10.0.0.0/24
Useful for:
- Excluding admin testing
- Internal network traffic
- Bot exclusions
Exclude User Roles from Stats
| Setting | Description |
|---|---|
| Location | Settings > General > Exclude Roles |
| Type | Checkboxes |
| Default | None |
User roles excluded from download counts:
☑ Administrator ☐ Editor ☐ Author ☐ Subscriber
Prevents inflated download stats from admin testing.
File Handling
Delete Files with Package
| Setting | Description |
|---|---|
| Location | Settings > General > Delete Package Files |
| Type | Checkbox |
| Default | Disabled |
When a package is deleted:
- Disabled: Files remain in upload folder
- Enabled: Files deleted permanently
Caution: Enable only if files aren’t shared between packages.
Allowed File Types
| Setting | Description |
|---|---|
| Location | Settings > General > Allowed Types |
| Type | Textarea |
| Default | WordPress allowed types |
File extensions users can upload:
zip,rar,pdf,doc,docx,xls,xlsx,mp3,mp4
Security: Don’t allow executable files (exe, php, js).
Misc Settings
Items Per Page
| Setting | Description |
|---|---|
| Location | Settings > General > Items Per Page |
| Type | Number |
| Default | 20 |
Packages shown on archive pages before pagination.
Open in New Window
| Setting | Description |
|---|---|
| Location | Settings > General > New Window |
| Type | Checkbox |
| Default | Disabled |
When enabled, download links open in new browser tab.
Configuration Examples
Basic Setup (Most Sites)
Download Method: PHP Download Speed Limit: 0 (unlimited) Resume Support: Enabled Hotlink Protection: Enabled Download Logging: Enabled
High-Security Setup
Download Method: PHP Download Upload Path: /home/user/secure-files/ (outside webroot) Hotlink Protection: Enabled Link Expiry: 24 hours Download Logging: Enabled Exclude Admin from Stats: Yes
High-Performance Setup (Nginx)
Download Method: X-Accel-Redirect Resume Support: Enabled Speed Limit: 0 Chunk Upload Size: 10 MB
Shared Hosting Setup
Download Method: PHP Download Speed Limit: 500 KB/s Chunk Upload Size: 2 MB Resume Support: Enabled
Saving Settings
After making changes:
- Click Save Settings button
- If permalinks changed, go to Settings > Permalinks
- Click Save Changes to flush rewrite rules
- Test a download to verify settings work
Troubleshooting
Downloads Start Then Fail
Causes:
- Speed limit too low
- PHP memory/timeout issues
- Resume support conflict
Solutions:
- Increase speed limit or set to 0
- Increase PHP memory_limit
- Try disabling resume support temporarily
404 on Package URLs
Cause: Permalink structure not refreshed
Solution:
- Go to Settings > Permalinks
- Click Save Changes (no changes needed)
- Clear any caching
Files Not Uploading
Causes:
- Chunk size too large
- File type not allowed
- Directory permissions
Solutions:
- Reduce chunk size
- Add file extension to allowed types
- Check folder permissions (755)
Hotlink Protection Blocking Legitimate Users
Cause: Referrer not being sent
Solutions:
- Add domain variations to allowed list
- Some browsers/privacy tools block referrer
- Consider disabling if causing issues
Related Documentation
Last updated: January 2026
Applies to: WordPress Download Manager 7.x