Harden your site security with Login Security, Two-Factor Authentication (2FA), Vulnerability Scanner, Firewall, and more. Formerly iThemes Security.
- Installs
- 700,000+
- Rating
- 4.6 (4K)
- Updated
- 17 days ago
Protect your uploads directory. Prevent browsing, password-protect files, add watermarks, and discourage right-click copying.
| Last updated | October 7, 2026Updated in the last 3 months |
|---|---|
| Tested up to | WordPress 7.1.4Covers WordPress 7.1.4, the current release |
| Needs WordPress | 5.0 or newer |
| Needs PHP | 7.4 or newer |
| First published | March 31, 2015 |
| Support, last two months | 0 of 1 threads resolved (0%) |
4.8 / 5 from 12 reviews
| 5 stars | 11 |
|---|---|
| 4 stars | 0 |
| 3 stars | 1 |
| 2 stars | 0 |
| 1 star | 0 |
The uploads directory is where the files of the WordPress media library are stored. Unfortunately, this directory is not protected by default: anyone who wants to see your whole library may be able to list it by going to http://yourwebsite/wp-content/uploads. This plugin hides the contents by adding an index.php file to your uploads directory and its subfolders, or by adding an .htaccess file that returns a 403 error (Forbidden Access).
For more information, visit protectuploads.com.
Features:
The opening of the plugin's own description. The full text, installation notes and changelog are on its WordPress.org page.
When enabled, watermarking automatically adds text to images when they are uploaded. You can customize:
– The watermark text (defaults to your site name)
– Position (top-left, top-right, bottom-left, bottom-right, center)
– Opacity (0-100%)
– Font size (small, medium, large)
The watermark is applied to new uploads only. Animated GIFs are left unchanged.
Yes: the watermark is drawn on the uploaded file itself, so every size WordPress generates from it carries the mark. Before drawing it, the plugin keeps an untouched copy of the original in wp-content/uploads/protect-uploads-originals/, in the same year/month folders. That folder is blocked from web access on Apache and LiteSpeed; on Nginx each copy has a random name so its URL cannot be guessed.
You choose files one by one: any media file, including PDFs, images, videos and documents, can have its own passwords.
On Apache and LiteSpeed, yes: the plugin adds rules to the uploads .htaccess file that send the file’s direct URL to the password prompt. Nginx does not read .htaccess files, so there the password protects the links WordPress shows but the file itself stays reachable at its uploads URL.
Partly. The index.php method, watermarking, right-click protection and the password prompt work on any server. Nginx does not read .htaccess files, so the .htaccess method is not available and a password-protected file can still be downloaded at its direct uploads URL by anyone who knows it. To block directory listing on Nginx, also make sure “autoindex” is off for your uploads directory.
Security



Harden your site security with Login Security, Two-Factor Authentication (2FA), Vulnerability Scanner, Firewall, and more. Formerly iThemes Security.
Firewall, Malware Scanner, Two Factor Auth, and Comprehensive Security Features, powered by our 24-hour team. Make security a priority with Wordfence.
#17 by installs
Connect ChatGPT, Claude, or another AI agent to your site. Plus backup, malware scan, firewall, stats, CDN, and SEO tools in one plugin.
Easily improve site security with WordPress Hardening, Two-Factor Authentication (2FA), Login Protection, Vulnerability Detection and SSL certificate.
#20 by installs
Simplified WordPress management. Manage site info, maintenance, security, & redirects.
WordPress login security with brute force protection, Two-factor authentication (2FA/MFA), firewall, IP/country blocking, and login monitoring
Read from the WordPress.org plugin API on , when WordPress 7.1.4 was the current release. WordPress.org rounds active installs into buckets. These are the directory's figures, not my verdict, and I haven't tested this plugin.