Download files never go into your public Media Library. They’re stored in the protected files folder that Paid Memberships Pro manages, and every request is checked against the member’s access before the file is sent.

Where Files Are Stored

Paid Memberships Pro creates a protected folder inside your uploads directory with a random name, like wp-content/uploads/pmpro-[random]/. Download files go in its pmpro-downloads subfolder. You can see the full path under Memberships > Settings > Security in the Restricted Files section.

Each file is saved with a cleaned-up version of its original name, with a number added if a file with that name already exists. Members see the original file name. You can upload any file type your WordPress site allows.

How Files Are Served

Download links point to your site’s home page with the file name in the URL, like https://example.com/?pmpro_restricted_file=guide.pdf&pmpro_restricted_file_dir=pmpro-downloads. When someone opens the link, Paid Memberships Pro:

  1. Finds the published download that holds the file.
  2. Checks whether the current visitor has access to that download, based on its levels and categories.
  3. Sends the file if they do. Otherwise, shows a “You do not have permission to access this file” message.

Files from draft, private, or trashed downloads are not served to anyone, including administrators. Images open in the browser, and other file types download.

Protect the Folder on NGINX Servers

Download links are only half of the protection. The folder itself also has to block direct access, so nobody can skip the access check by guessing a file’s direct URL.

  • Apache: Paid Memberships Pro adds an .htaccess file that denies direct access. No setup needed.
  • NGINX: .htaccess files are ignored. Ask your host to add the rule shown under Memberships > Settings > Security to your server configuration.

The Status in the Restricted Files section shows Protected when direct access is blocked and Accessible when it isn’t. Learn more in the Security Settings documentation.

Important: If the status shows Accessible, anyone with a file’s direct URL can open it. Fix this before you add downloads.

Deleting and Replacing Files

  • Replace File: The old file is deleted only after the new file uploads successfully.
  • Remove: The file is deleted from the server right away.
  • Trash: Moving a download to the Trash keeps the file, but it can’t be downloaded while the download is trashed.
  • Delete Permanently: The file is deleted from the server when the download is permanently deleted.

Last updated on November 9, 2026


Was this article helpful?
YesNo