Description
Manage your PDF catalogs from a single screen and hand them out through signed links that expire, so the link you share stops working after the time you set instead of living forever. Drop a download button anywhere with a shortcode or a data attribute on any existing button.
Features
- Manage unlimited PDF catalogs from one screen
- Download links are never permanent — each one carries a signature and an expiry you choose
- Expiring, HMAC-signed download links (configurable expiration)
- Download counter per catalog
- Shortcode
[catr_download_button id="123"], plus adata-catr-catalog="123"attribute for any button or link - Bulk import from the Media Library and CSV export of your catalogs
- Native WordPress admin UI — inherits your admin color scheme and your theme’s button styles on the front end
Going further
Catalog Rocket Pro is a separate commercial edition that replaces this free version — you install it instead of the free plugin, not alongside it. On activation it automatically deactivates the free version and keeps your existing catalogs and settings. It turns each download into a lead: a built-in capture form, an email notification on every download, and a leads dashboard with CSV export. The features described in this readme are fully functional in this free version on their own.
Screenshots



Installation
- Upload the
templates-rocket-catalog-managerfolder to/wp-content/plugins/, or install it from Plugins Add New. - Activate the plugin.
- Go to Catalogs to add your first PDF catalog.
- Place a button with the shortcode
[catr_download_button id="X"](replace X with the catalog ID), or adddata-catr-catalog="X"to any existing button.
FAQ
-
Are the PDF files really protected?
-
Yes, both the link and the file. Every download is handed out as an HMAC-signed link that stops working after the expiry you set, so a link that gets forwarded or posted somewhere is dead by the time anyone else opens it.
Every PDF you add is stored in a private folder with an unguessable name, so the only way in is through a valid link. A PDF you add with Upload PDF never has a public URL. A PDF you pick from the Media Library is copied into the private folder, and the original stays in the Media Library with its normal URL; the catalog row marks it as a Public copy.
-
How long is a download link valid?
-
By default 30 minutes. You can change it under Catalogs Settings.
-
Does it work with my page builder?
-
Yes. Use the shortcode, or add
data-catr-catalog="ID"to any button or link from your theme or page builder. -
The shortcode outputs a plain button that inherits your active theme’s button styling, so it matches the rest of your site. Add your own CSS class with the
classattribute if you want.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Protected PDF Downloads – Secure Expiring Links & Catalog Manager” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Protected PDF Downloads – Secure Expiring Links & Catalog Manager” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.20.1
- Fixed: if Catalog Rocket Pro 1.0.21.1 or later was deleted with the choice to keep your catalogs, deleting the free edition afterwards now keeps them too.
- Fixed: deleting the free edition while Catalog Rocket Pro is installed no longer resets the link expiry setting the two editions share.
- Tested with WordPress 7.1.
1.1.20
- Fixed: on catalogs created before 1.1.19, “Remove public copy” deleted the Media Library file the catalog was still using, so its download stopped working. The file is now copied into the private folder first, and if that copy cannot be made, nothing is deleted.
1.1.19
- PDFs you upload are now stored privately, in a folder with an unguessable name, and served only through the signed link. Until now the file kept the public URL it had in your Media Library.
- “Upload PDF” now uploads straight into that private store, so no public copy is ever created.
- Importing from the Media Library still works: the file is copied into the private store and the catalog row tells you a public copy is left behind, with a button to remove it when you choose. Nothing is deleted on your behalf.
- Uploads are checked to be real PDFs, not just files named .pdf.
- Deleting a catalog now also removes its private file.
1.1.18
- Fixed: on sites with page caching, the download button could stop working until the cache was cleared. The button no longer relies on a security token that expires inside the cached page. Downloads are still served through the same signed, expiring links.
1.1.17
- Added a Settings link to the plugin’s row on the Plugins screen for quicker access.
1.1.16
- Added a dismissible upgrade banner on the Catalogs screen that highlights Catalog Rocket Pro’s lead capture. “Not now” hides it for two weeks.
1.1.15
- Improved the review request with clearer choices (leave a review / not now / already did) and a support link.
1.1.14
- Creating a catalog now correctly says “Catalog created” (it previously said “updated”).
- Actions that fail (save, delete, load) now show an error instead of doing nothing silently, and the list no longer gets stuck on “Loading…”.
- Bulk import: the “Create” button is hidden when nothing is pending (no “Create 0 catalogs”), and the queue is locked while it runs.
- The download button is hardened against double-clicks (which could open duplicate tabs), and the download counter only counts a real, served file.
1.1.13
- Updated “Tested up to” to WordPress 7.0.
1.1.12
- Hardened downloads: signed-link handling now enforces strict path containment and fails closed if a file resolves outside the protected catalog folder.
- Added compatibility guards so the plugin degrades safely instead of erroring on unexpected environments.
- Schema migration now runs automatically on update to keep the catalogs table current.
- Improved multisite compatibility.
- Fixed: “Tested up to” now reports a valid WordPress version.
1.1.11
- Fixed: on some browsers the catalog download could be blocked by the pop-up blocker; the download now opens reliably.
1.1.1
- Added a friendly review request after two weeks of use.
1.1.0
- Added an in-plugin overview of Catalog Rocket Pro features on the Catalogs screen.
1.0.0
- Initial release.
