Try this on your membership site. Log in as a member, copy the link to one of your premium PDFs, open a private window and paste it. If the file opens, so can anyone your members share it with. On most WordPress sites it does.
This guide explains why locking a page does not lock its files, and how to protect downloadable files so only members can access them: from quick fixes to signed, expiring links and download credits that keep heavy users in check.
Key takeaways
Why Members-Only Pages Do Not Protect Files
When you upload a file to the WordPress media library, it lands in /wp-content/uploads/ with a permanent URL. Your web server hands that file to anyone who asks for the URL. It never asks WordPress whether the person is logged in, let alone a member. So a locked page only hides the link; the file itself is wide open.

Quick Fixes (and Why They Are Not Enough)
They are fine as extra layers. On their own, they leave the door open.
What Proper Download Protection Looks Like
Real protection has three parts:
How to Protect Member Downloads in WooCommerce
WooCommerce already knows about downloadable products, so it is a natural home for member files. With FlexWoo Memberships you build on that.
Step 1: Add files as downloadable products
Create a product for each file or bundle, tick Downloadable and Virtual, and upload the file. These products can still be sold to non-members if you like.
Step 2: Let a plan download them
In your membership plan, add the products (or their category) to what the plan unlocks, then choose how members download:

Step 3: Serve files through protected links
With FlexWoo Memberships Pro, downloads are served through signed, expiring links, so a link copied to someone else stops working. Members find their files in My Account, or wherever you place the Downloads Vault block.
Shortcodes help on any page: [flexwoo_download_product_links] lists download links for products a member can access, and [flexwoo_protected_links] shows a product’s protected files only to members who may download them.
Download Credits: Generous but Fair
Unlimited downloads sound great until one member downloads all 800 of your templates in an evening and cancels. Credits solve that without feeling stingy.

Set how many credits a plan gives and how often they refill, then set a credit cost on each downloadable product. Members see their balance in My Account and in the Member Credit Counter block, and get a low-balance e-mail before they run out. Higher tiers can simply get more credits, which makes a natural upgrade path. See membership tiers for ideas.
Spot Shared Accounts Early
Even with protected links, someone can share a login. The Downloads tab on the FlexWoo dashboard shows downloads over time and flags members who may be downloading in bulk. You set the threshold under Notifications → Credit Emails.


If you see someone downloading at a pace no human would, check their account, and consider login security settings such as lockouts after failed attempts and two-factor codes (Pro).
Extra Layers Worth Adding
FAQ: Protecting Member Downloads
Protect the Files, Not Just the Page
Your downloads are often the most valuable thing in your membership, and the easiest to leak. Serve them through membership-checked, expiring links, add credits if you have a large library, and keep an eye on unusual activity. Then you can be generous with members without being generous with everyone else. For the bigger picture, read how to restrict content in WordPress.




