Title: Protected PDF Downloads – Download Form, Lead Capture &amp; Expiring Links
Author: templatesrocketwp
Published: <strong>Metheven 23, 2026</strong>
Last modified: Gwynngala 29, 2026

---

Search plugins

![](https://ps.w.org/templates-rocket-catalog-manager/assets/banner-772x250.png?
rev=3586736)

![](https://ps.w.org/templates-rocket-catalog-manager/assets/icon.svg?rev=3586766)

# Protected PDF Downloads – Download Form, Lead Capture & Expiring Links

 By [templatesrocketwp](https://profiles.wordpress.org/templatesrocketwp/)

[Download](https://downloads.wordpress.org/plugin/templates-rocket-catalog-manager.1.3.0.zip)

 * [Details](https://cor.wordpress.org/plugins/templates-rocket-catalog-manager/#description)
 * [Reviews](https://cor.wordpress.org/plugins/templates-rocket-catalog-manager/#reviews)
 *  [Installation](https://cor.wordpress.org/plugins/templates-rocket-catalog-manager/#installation)
 * [Development](https://cor.wordpress.org/plugins/templates-rocket-catalog-manager/#developers)

 [Support](https://wordpress.org/support/plugin/templates-rocket-catalog-manager/)

## Description

Ask your visitors for their details before a PDF downloads. You build the form, 
each request arrives in your inbox, and the file is handed out through a signed 
link that expires, so the link someone forwards stops working instead of living 
forever.

Add your PDF catalogs, coupons or price lists, and drop a download button anywhere
with a shortcode or a data attribute on any existing button.

#### Download form

 * A form opens when a visitor clicks a download button, and the PDF opens once 
   they send it
 * Build it yourself with the basic fields: name, email, text, paragraph, number,
   dropdown, single choice, checkboxes, and a consent checkbox that links to your
   privacy page, with the link text you choose
 * Reorder fields by dragging or with the keyboard, mark them required, add help
   text, and see the whole form in a live preview as you edit
 * Write your own title, introduction, button label and thank-you message, and pick
   the button colors
 * Email notifications like WPForms: choose who gets each request (one address or
   several), the sender, the subject and the message, with tags for every answer,
   in HTML or plain text; replying writes straight to the visitor
 * Spam protection: a hidden trap field, a limit per visitor and optional Cloudflare
   Turnstile
 * Accessible dialog: keyboard focus stays inside, Esc closes it, and errors are
   announced next to each field
 * Works with page caching, and uses your theme’s font so it matches your site

#### Protected downloads

 * Add as many PDF catalogs as you like, one at a time
 * Every PDF is stored in a private folder with an unguessable name and served only
   through a signed link that stops working after 30 minutes
 * Shortcode `[catr_download_button id="123"]`, plus a `data-catr-catalog="123"`
   attribute for any button or link
 * Native WordPress admin screens, and a download button that inherits your theme’s
   style

#### Free and Pro

This plugin is complete on its own: it protects your PDFs and emails you every request.
[Catalog Rocket Pro](https://templatesrocket.com/catalog-rocket-pro/) is a separate
commercial add-on that works on top of it and adds:

 * **Leads:** every request saved in a list you can search and export to CSV
 * **Notifications:** up to ten per form, each sent only when an answer says so,
   a different inbox for each catalog, and your logo and color on them
 * **Metrics:** downloads, requests and conversion rate for each catalog, and the
   campaign every lead came from
 * **More fields:** phone with country code and validation (ten digits for the US,
   Canada and Mexico), website, date, country and state, hidden campaign fields,
   fields that show up depending on an answer, and two-column layouts
 * **Content:** headings, text blocks, images and dividers anywhere in the form,
   and a form without a visible title
 * **Ways to ask:** an optional form, the file sent to the visitor’s email, returning
   visitors remembered, and a different form or mode for each catalog
 * **Your brand:** every color, rounded corners, Google Fonts served from your own
   site, field styles, your logo, a blurred backdrop, and a form that slides in 
   from the side or rises from the bottom on phones
 * **Big catalogs:** PDFs larger than your hosting allows, bulk import, catalog 
   export, and your own link duration

Catalog Rocket Pro can be tried free for 14 days, and its forms can be tried in 
a [live demo](https://templatesrocket.com/catalog-rocket-pro/demo/).

### External services

This plugin can use **Cloudflare Turnstile** to tell people from bots on the download
form. It is off by default and only runs when you enter your own Turnstile site 
key and secret key under Catalogs  Settings.

When it is on, the page with the form loads Turnstile’s script from Cloudflare (
challenges.cloudflare.com), which runs its check in the visitor’s browser. When 
the form is sent, your site sends Cloudflare the check’s answer and the visitor’s
IP address to confirm the result. Cloudflare’s [terms of service](https://www.cloudflare.com/website-terms/)
and [privacy policy](https://www.cloudflare.com/privacypolicy/) apply.

No other data leaves your site: the answers to the form are sent by email from your
own server.

## Screenshots

[⌊The download form on your site: visitors fill it in and the PDF opens in a new
tab.⌉⌊The download form on your site: visitors fill it in and the PDF opens in a
new tab.⌉[

The download form on your site: visitors fill it in and the PDF opens in a new tab.

[⌊Build the form yourself, with a live preview, under Catalogs → Download form.⌉⌊
Build the form yourself, with a live preview, under Catalogs → Download form.⌉[

Build the form yourself, with a live preview, under Catalogs  Download form.

[⌊Manage your PDF catalogs from one screen and copy ready-to-paste shortcodes.⌉⌊
Manage your PDF catalogs from one screen and copy ready-to-paste shortcodes.⌉[

Manage your PDF catalogs from one screen and copy ready-to-paste shortcodes.

## Installation

 1. Install the plugin from Plugins  Add New, or upload the `templates-rocket-catalog-
    manager` folder to `/wp-content/plugins/`.
 2. Activate it.
 3. Go to **Catalogs** to add your first PDF catalog.
 4. Place a button with the shortcode `[catr_download_button id="X"]` (replace X with
    the catalog ID), or add `data-catr-catalog="X"` to any existing button.
 5. Adjust the form under **Catalogs  Download form**.

## FAQ

### Where do the visitor’s answers go?

To your inbox. Under Catalogs  Download form  Email you choose who gets each request(
one address or several), the sender, the subject and the message, as in WPForms;
replying to it writes to the visitor. This plugin does not store the answers in 
your database. Catalog Rocket Pro keeps them in a list you can search and export.

### Can I skip the form for some catalogs?

In this plugin the form is on or off for the whole site. Catalog Rocket Pro lets
you choose for each catalog: a form, an optional form, the file sent by email, or
no form at all.

### Does the form work with page caching?

Yes. The download request does not depend on a token printed in the page, so cached
pages keep working. Bots are stopped by a hidden trap field, a limit of 10 requests
every 10 minutes per visitor and, if you add your keys, Cloudflare Turnstile.

### I updated from an earlier version. Did anything change for my visitors?

Only the link duration. On sites that already had catalogs, the form starts switched
off and downloads work as before, through links that now always last 30 minutes.
Turn the form on under Catalogs  Download form when you are ready.

### Is there a limit on the number of PDFs?

No. Add as many catalogs as you like.

### 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 30 minutes, 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**, with a button to remove it.

### 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.

### How do I style the download button?

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 `class` attribute
if you want.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Protected PDF Downloads – Download Form, Lead Capture & Expiring Links” is open
source software. The following people have contributed to this plugin.

Contributors

 *   [ templatesrocketwp ](https://profiles.wordpress.org/templatesrocketwp/)

“Protected PDF Downloads – Download Form, Lead Capture & Expiring Links” has been
translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/templates-rocket-catalog-manager/contributors)
for their contributions.

[Translate “Protected PDF Downloads – Download Form, Lead Capture & Expiring Links” into your language.](https://translate.wordpress.org/projects/wp-plugins/templates-rocket-catalog-manager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/templates-rocket-catalog-manager/),
check out the [SVN repository](https://plugins.svn.wordpress.org/templates-rocket-catalog-manager/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/templates-rocket-catalog-manager/)
by [RSS](https://plugins.trac.wordpress.org/log/templates-rocket-catalog-manager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.0

 * New: email notifications on the model of WPForms. Choose Send to (one address
   or several), Subject, From name, From email, Reply to, Message and Format (HTML
   or plain text), with a Tags menu for every answer, the catalog, the visitor’s
   name and email, the page, the date and each question. An empty message sends 
   the standard summary. Forms saved before keep sending exactly the same email.
 * New: the Design tab is laid out in cards, one for each part of the form, each
   saying what it changes.
 * New: Add a field shows the questions visitors answer apart from the content they
   only read.
 * New: the consent checkbox link can say what your site calls its privacy page.
 * Fixed: the form preview now shows the whole form, however long it grows. It used
   to stop at a fixed height, and the last fields and the button could not be seen.
 * Fixed: a form with a heading or another read-only block from Catalog Rocket Pro
   could not be sent.

#### 1.2.0.2

 * Fixed: a catalog button made without a link, such as a page-builder button with
   no URL, can now be reached with the Tab key and opened with Enter or Space, and
   screen readers announce it as a button. When the download form closes, focus 
   goes back to that button.

#### 1.2.0.1

 * Fixed: the download form opens above everything else on the page. A cookie notice
   or a chat button could cover its button until the visitor dealt with them. Older
   browsers without popover support keep the previous behavior.

#### 1.2.0

 * New: a download form. Visitors fill it in before a catalog downloads, and each
   request arrives by email with every answer. Replying writes to the visitor.
 * New: form builder under Catalogs  Download form, with the basic field types, 
   drag-and-drop or keyboard ordering, required fields, help text, your own texts
   and button color, and a live preview.
 * New: spam protection for the form, with a hidden trap field, a per-visitor limit
   and optional Cloudflare Turnstile. A new setting says whether the site sits behind
   a proxy such as Cloudflare, so the limit counts real visitors.
 * On sites that already had catalogs, the form starts switched off, so downloads
   work as before until you turn it on.
 * Changed: download links now always last 30 minutes. The download counter, bulk
   import, the catalog list export and the link duration setting are now part of
   Catalog Rocket Pro.
 * The download script no longer loads jQuery on your pages.
 * Fixed: “View PDF” on the Catalogs screen did not open PDFs that were uploaded,
   or whose public copy was removed. It now opens every catalog through a signed
   link. The “Copy URL” button, which copied a file name or the public copy’s address,
   is gone; the shortcode and the attribute are still one click to copy.
 * Fixed: editing a catalog whose PDF was uploaded turned its file name “catalog.
   pdf” into “http://catalog.pdf”. File names changed that way are repaired on update.
   The files themselves were never affected.
 * If a cached page was built before the form was turned on, a click on a download
   button now asks to reload the page instead of reporting empty fields.
 * Fixed: after a site moves to another server, downloads keep working. Each PDF
   is found under the new uploads folder and its record is repaired; “Remove public
   copy” and deleting a catalog find the file there too.

#### 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.

## Commercial plugin

This plugin is free but offers additional paid commercial upgrades or support. [View support](https://templatesrocket.com/catalog-rocket-pro/)

## Meta

 *  Version **1.3.0**
 *  Last updated **2 dydh ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/templates-rocket-catalog-manager/),
   [Spanish (Mexico)](https://es-mx.wordpress.org/plugins/templates-rocket-catalog-manager/),
   ha [Spanish (Spain)](https://es.wordpress.org/plugins/templates-rocket-catalog-manager/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/templates-rocket-catalog-manager)
 * Tags
 * [download form](https://cor.wordpress.org/plugins/tags/download-form/)[gated content](https://cor.wordpress.org/plugins/tags/gated-content/)
   [lead capture](https://cor.wordpress.org/plugins/tags/lead-capture/)[pdf](https://cor.wordpress.org/plugins/tags/pdf/)
 *  [Advanced View](https://cor.wordpress.org/plugins/templates-rocket-catalog-manager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/templates-rocket-catalog-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/templates-rocket-catalog-manager/reviews/)

## Contributors

 *   [ templatesrocketwp ](https://profiles.wordpress.org/templatesrocketwp/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/templates-rocket-catalog-manager/)