BLACK FRIDAY
Save 59% on PageForge Annual $191/year $485/year
Claim 59% Off →
DownloadSentinel icon
Actively maintained Tested with WP 7.1 #69 in download

DownloadSentinel

Secure, masked download links for WordPress with upload management and download tracking.

Active installs10+10+ tier
Downloads · 30d116▼ -39.9% vs prev. 30d
Rating—0 reviews
Health score62/100Good
All-time downloads203Since Sep 2026
Support resolved—No recent threads
RequiresWP 6.3PHP 7.4+
Downloads · 7d35▲ +66.7% week over week
Our verdict

Solid choice

DownloadSentinel is a solid plugin choice in 2026, with a few things worth checking first. It runs on 10+ sites and was last updated 1 month ago, and scores 62/100 on our health check.

  • Tested with the latest WordPress (7.1)
  • Small user base (10+ active installs)
  • Very few reviews so far

How does it stack up?

Side-by-side on installs, updates, ratings & support

Daily downloads

102030Sep 4Sep 20Oct 7
Yesterday3
Daily average (1y)6
Peak day41Sep 4, 2026
Last 12 months208

Download spikes usually follow a new release — each site that auto-updates counts as a download.

Rankings

Where DownloadSentinel stands today

WordPress.org search rankings

Live position in the plugin search, top 100
KeywordPositionCompeting pluginsCategory
download >100 10,000 Best download plugins →
download links >100 10,000 Best download links plugins →
download tracker #91 526 Best download tracker plugins →
file protection >100 4,272 Best file protection plugins →
secure download >100 3,033 Best secure download plugins →

Version adoption

Share of active sites per release.

  • 1.0100.0%

About DownloadSentinel

From the official readme · v1.0.1

Description

DownloadSentinel lets you upload files to WordPress and share special download links that hide the real storage location. Claimed transfers update file counters, while configurable activity logging helps you review download traffic in a clear admin screen.

Under Settings → DownloadSentinel you get four tabs:

  • Files — upload or import from Media Library, copy secure links, edit locks, replace files, regenerate tokens
  • Activity — totals, 14-day chart, filters, CSV export, and recent download events
  • Settings — pretty permalinks, force download, bot filtering, tracking, proxy IP trust, and uninstall cleanup
  • About — plugin info and version

How protection works:

  • Files are stored under opaque names in a protected uploads folder blocked from direct browser access
  • Each file gets a unique token URL (/download/{token}/ by default, or ?ds_dl=token). The pretty path base is configurable under Settings.
  • Optional expiry, max downloads, and password per file
  • The plugin streams the file through WordPress, or optionally offloads it to a configured web server—visitors never see the real path
  • Optional shortcode: [downloadsentinel token=”abc…”] (prefer token= over enumerable id=)
  • Dashboard widget for a quick pulse on downloads

Installation

  1. Upload the downloadsentinel folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Open Settings → DownloadSentinel.
  4. Upload a file on the Files tab and copy the secure link onto your site.

Frequently asked questions

Can visitors guess the real file URL?

Files are stored under opaque random names in a protected uploads folder. Apache .htaccess and IIS web.config deny direct browser access (rewritten on each admin visit if missing). Downloads are only served when a valid token is requested through the plugin. Settings and Tools → Site Health run a live canary probe to verify that the folder rejects direct requests. New uploads, imports, and replacements are blocked when the folder is exposed or when protection cannot be verified.

What about Media Library imports?

Import copies the file into protected storage and creates a token link. Delete Media Library original after import is checked by default and required when the attachment URL is still publicly reachable — otherwise the Media URL stays open and token locks (password, expiry, max downloads) do not apply to it. After deletion, DownloadSentinel verifies that the attachment record, original file, generated image sizes, and known backup images are gone. It retries remaining filesystem cleanup and rolls back the protected import when deletion cannot be verified.

Can I allow ZIP or other risky types with a filter?

No. New uploads use a strict allowlist (documents, images, audio, video). Archives, executables, scripts, SVG/HTML/XML, and similar types stay on a hard disallow list. The downloadsentinel_allowed_mime_types filter cannot reintroduce them — those extensions are stripped from the allow map. Older protected files that still use a blocked extension are refused at download time and flagged on the Files screen; delete or replace them with an allowed type.

What about nginx?

.htaccess is ignored on nginx. Add a deny rule for the protected folder (opaque filenames alone are not enough if the directory is publicly readable): location ^~ /wp-content/uploads/downloadsentinel/ { deny all; } Then reload nginx. Without this rule, nginx may serve files directly and bypass password, expiry, and download limits. When nginx is detected, or when a live probe finds the folder exposed or cannot verify protection, DownloadSentinel shows guidance on its settings screen and under Tools → Site Health. Writes remain blocked until the probe confirms that direct access is denied.

How should I embed a download link?

Prefer the token shortcode shown on each file card: [downloadsentinel token=”…”]. Do not use id= in public content — numeric IDs are enumerable. Resolving by id= requires an administrator capability by default and never renders files that have no password.

Behind a reverse proxy?

By default the plugin uses REMOTE_ADDR for password lockouts and activity hashing. If your host sits behind Cloudflare or another proxy that overwrites client IP headers, enable Trust proxy IP headers in Settings. Do not enable it on a publicly reachable origin that does not sanitize X-Forwarded-For.

How are password attempts limited?

Password submissions are limited to 10 attempts per download token and client IP, followed by a 15-minute lockout. Attempt reservations are serialized before password verification so concurrent requests cannot exceed the limit. If synchronization is temporarily unavailable, verification fails closed for a few seconds instead of allowing an uncounted attempt. After a correct password, DownloadSentinel issues a signed, HTTP-only authorization cookie for that token and password. The cookie lasts for one hour and is automatically invalidated when the file password changes.

What download activity data is stored?

Depending on the tracking settings, activity records can contain the download time, file ID, a salted hash of the client IP address, WordPress user ID, user agent, and referrer URL. Raw IP addresses are not stored. Bot activity and logged-in-user activity can be excluded from the activity log; file counters still count every claimed transfer. Activity logs can be exported or cleared from the Activity tab. By default, uninstall preserves protected files and database tables, including activity records. Enable Delete files on uninstall before uninstalling if you want the plugin to purge its…

Will pretty links work without permalinks?

If WordPress permalinks are plain, or pretty permalinks are disabled in Settings, links fall back to a query-string format that still works. The pretty path base defaults to /download/{token}/. Change Pretty link base under Settings → DownloadSentinel if that slug conflicts with a page or another plugin. After deactivating or uninstalling, rewrite rules are flushed automatically. If an old pretty URL still resolves oddly, open Settings → Permalinks and click Save Changes once.

Does uninstall delete my files?

Only if you enable Delete files on uninstall in Settings. By default, uninstall removes plugin settings only — protected files and database tables stay on the server until you turn that option on or delete them manually.

What happens if deleting a protected file fails?

Deletion first disables token access, then removes the stored bytes and asks the database layer to delete the record and associated activity logs. Success is shown only after the file and record removals report success. If filesystem or database cleanup fails, the retained record stays disabled so an administrator can correct the underlying problem and safely retry deletion.

Does it work on WordPress Multisite?

Yes. Network-activating sets up every site (tables, protected storage, rewrites). New sites created while the plugin is network-active are set up automatically. Uninstall and network deactivation also walk all sites.

How do max download limits work?

Each successful GET that starts streaming the file claims one slot before the body is sent, so concurrent requests cannot oversell the limit. Expiry is also enforced in that atomic claim. If the server cannot open or read the file, that slot is released. Client disconnects after transfer begins still count — otherwise visitors could abort and retry to bypass the cap. Long transfers call set_time_limit(0) when allowed so PHP max_execution_time is less likely to cut off mid-stream after a claim. DownloadSentinel supports single HTTP byte ranges, so browsers and download clients can resume…

Can large downloads be served without tying up PHP workers?

Yes, when the web server is configured for internal file offloading. Developers can use the downloadsentinel_offload_response filter to return an array with header and value keys. The only accepted headers are X-Sendfile and X-Accel-Redirect. For Apache mod_xsendfile, the value is normally the authorized absolute path: add_filter( 'downloadsentinel_offload_response', function ($offload, $file, $path) { return array( 'header' => 'X-Sendfile', 'value' => $path, ); }, 10, 3 ); For nginx, the value must be an internal URI backed by a correctly configured internal location and alias: add_filter(…

Changelog

1.0.1

  • Added the current list of allowed upload file types to the “How it works” card.
  • Changed spaces in filenames to underscores instead of dashes for new and replacement uploads.

1.0.0

  • Initial release.

Full changelog on WordPress.org →

For developers

Is this your plugin? Show off the numbers.

Add a live badge to your site, docs or GitHub README. It updates on its own — no account needed.

Active installs badge Rating badge Health score badge

Best DownloadSentinel alternatives

All download plugins →
Alternatives
Rank Plugin Active installs Rating Updated Health
1 Download Plugin Download Plugin Download any plugin from your WordPress admin panel's Plugins page by just one click! Now… by Metagauss 60K+ ★★★★★★★★★★ 4.5 (26) 2 months ago 84
2 Export Media Library Export Media Library Allows users to export media library files as a compressed zip archive. Links Website… by Andrej Pavlovic 30K+ ★★★★★★★★★★ 4.9 (48) 4 years ago 48
3 Download Plugins and Themes in ZIP from Dashboard Download Plugins and Themes in ZIP from Dashboard Download installed plugins and themes in ZIP files directly from your WordPress admin… by WPFactory 30K+ ★★★★★★★★★★ 4.9 (27) 3 months ago 71
4 Simple Download Monitor Simple Download Monitor Easily manage downloadable files and monitor downloads of your digital files from your… by mra13 / Team Tips and Tricks… 20K+ ★★★★★★★★★★ 4.7 (157) 4 weeks ago 86
5 Easy Media Download Easy Media Download Easy Media Download allows you to embed download buttons on your WordPress site. Add file… by Noor Alam 9K+ ★★★★★★★★★★ 4 (28) 2 months ago 80
6 Download Attachments Download Attachments Download Attachments is a new approach to managing downloads in WordPress. It allows you to… by dFactory 8K+ ★★★★★★★★★★ 4.5 (46) 4 months ago 76
7 Email Before Download Email Before Download Email Before Download (EBD) presents your users with a form where they submit information… by ashokaggarwal 5K+ ★★★★★★★★★★ 4.3 (44) 2 years ago 51
8 Media Library Downloader Media Library Downloader Professional media download solution with bulk operations, smart management, and… by M.Code 5K+ ★★★★★★★★★★ 4.8 (8) 2 months ago 63
9 PDF Forms Filler for CF7 PDF Forms Filler for CF7 Build Contact Form 7 forms from PDF forms. Get PDFs auto-filled and attached to email… by maximum.software 3K+ ★★★★★★★★★★ 4.8 (13) 6 months ago 65
10 Lana Downloads Manager Lana Downloads Manager Downloadable files management system by Lana Codes 3K+ ★★★★★★★★★★ 5 (16) 10 months ago 59

FAQ

DownloadSentinel: quick answers

Straight answers, pulled from live WordPress.org data.

Live data from WordPress.org · checked Oct 8, 2026

Is DownloadSentinel free?

Yes. DownloadSentinel is free to download and use from the official WordPress.org plugin directory.

Is DownloadSentinel safe to use in 2026?

DownloadSentinel is a solid plugin choice in 2026, with a few things worth checking first. It runs on 10+ sites and was last updated 1 month ago, and scores 62/100 on our health check.

How many websites use DownloadSentinel?

DownloadSentinel is active on 10+ WordPress websites and has been downloaded 203 times since it launched in September 2026. It was downloaded 116 times in the last 30 days.

Does DownloadSentinel work with WordPress 7.1?

Yes. The developer has tested DownloadSentinel up to WordPress 7.1.3, the latest release. It requires WordPress 6.3 or newer.

What PHP version does DownloadSentinel need?

DownloadSentinel requires PHP 7.4 or higher. Most hosts run PHP 8.x today, so it works on any modern WordPress hosting.

When was DownloadSentinel last updated?

The latest version, 1.0.1, was released on September 5, 2026 (1 month ago).

Who makes DownloadSentinel?

DownloadSentinel is developed and maintained by Alex Hedström.

What are the best alternatives to DownloadSentinel?

The most popular alternatives to DownloadSentinel are Download Plugin (60K+ installs), Export Media Library (30K+ installs) and Download Plugins and Themes… (30K+ installs).

Powered by PageForge

Want thousands of pages that rank like these? Build them in an afternoon.

This directory runs on the same engine as PageForge. Turn any spreadsheet, CSV or API into thousands of fast, SEO-ready WordPress pages — with schema, internal links and AI-written copy baked in.

  • CSV, Google Sheets & API data sources
  • AI content, schema & internal links per page
  • Works with Elementor, Gutenberg, Yoast & Rank Math
  • Free on WordPress.org — no credit card
Sarah is here to help!
Hi there! 👋 Need help finding what you're looking for?
Sarah
Sarah
Online & Ready to Help
Hi there! 👋 Need help finding what you're looking for?

We'll use this to continue our conversation

Just now ✓ Verified

Join 500+ SEO Pros Scaling Their Strategy

Get exclusive programmatic SEO tactics, AI content workflows, and the latest PageForge updates delivered straight to your inbox. Stay ahead of the algorithm.

We care about your data in our privacy policy.