
How to Host a Lead Magnet Without WordPress
Table of Contents
- Host a Lead Magnet Without WordPress
- 1. Prepare Your Resource
- 2. Choose How the Email Gate Works
- 3. Build the Landing Page
- 4. Set Up Confirmation and Delivery
- With an email tool (double opt-in)
- Without an email tool (Netlify Forms)
- 5. Deploy the Landing Page
- 6. Test the Full Path as a New Visitor
- 7. Measure What You Can
- 8. Update the Resource Without Sending a New Link
- 9. Apply Basic Privacy and Security Practices
- Final Thoughts on Lead Magnet Hosting Without WordPress
- Host a Lead Magnet Without WordPress
- 1. Prepare Your Resource
- 2. Choose How the Email Gate Works
- 3. Build the Landing Page
- 4. Set Up Confirmation and Delivery
- With an email tool (double opt-in)
- Without an email tool (Netlify Forms)
- 5. Deploy the Landing Page
- 6. Test the Full Path as a New Visitor
- 7. Measure What You Can
- 8. Update the Resource Without Sending a New Link
- 9. Apply Basic Privacy and Security Practices
- Final Thoughts on Lead Magnet Hosting Without WordPress
Host a Lead Magnet Without WordPress
You do not need WordPress, a theme or a download plugin to offer a lead magnet. A lead magnet is a free resource that you give in exchange for an email address. A PDF guide, a template, a short report or a small HTML calculator needs only three things:
- The resource itself, finished and tested.
- A landing page that explains the offer and holds a sign-up form.
- A service that confirms the email address and delivers the file.
A static host (a service that serves fixed files) gives you the landing page. Cloudflare Pages, Netlify and GitHub Pages all serve a folder of HTML, CSS and files at a stable URL. An email marketing tool with double opt-in does the confirmation and the delivery. Double opt-in means that the reader clicks a link in an email to confirm the address. This guide uses Kit as the example for that part. It also shows a simpler setup with only a form on Netlify, for when you do not need a mailing list.
The full procedure has these steps:
- Prepare the resource.
- Choose how the email gate works.
- Build a one-page landing site.
- Set up confirmation and delivery.
- Deploy the page.
- Test it as a new visitor.
- Measure what you can, and update the file at the same link.
1. Prepare Your Resource
The email gate (a form that asks for an email before the download) can get the click. But the resource must be worth the email address. If a visitor gives an email address and gets a vague five-page sales pitch, the visitor will remember the disappointment.
Define one clear result for the reader. For example, a freelance designer can offer a pricing worksheet. A consultant can offer a 12-page readiness report. An agency can share a campaign-planning template. A founder can publish a small HTML calculator with a PDF that explains the method.
Before you upload a file, make sure that each item in this table is ready:
| Item | What to Check | Why It Matters |
|---|---|---|
| File name | Use a descriptive name such as proposal-pricing-guide.pdf |
Visitors can find the file after they download it |
| Opening page | State the problem and the promised result | Readers can see in seconds if it is relevant to them |
| Links | Test every internal and external link | Broken links make the resource look neglected |
| File size | Compress large images and remove unused assets | A smaller download works better on mobile connections |
| Version details | Add a date or edition inside the document | Readers know if the material is current |
| Contact path | Include one clear way to respond | Interested readers know what to do next |
For a PDF, export selectable text, not images of pages. Open the PDF on a phone and on a laptop. Remove comments, tracked changes, hidden spreadsheet tabs, author details and embedded source files.
For an HTML resource, keep its assets together. Make sure that the relative paths (paths that start from the current folder) work. You can move a folder with index.html, CSS, images and downloads to any host. You cannot move a page that uses paths on your own computer.
2. Choose How the Email Gate Works
“Email-gated” can mean very different things. Choose the version that gives you the information that you need about the reader.
| Approach | What checks the address | Where the file lives | Good fit | Main limit |
|---|---|---|---|---|
| Email tool with double opt-in (for example Kit) | The visitor clicks a confirmation link that the tool sends to the address | Delivered after confirmation, as a download or a link | To build a mailing list from the resource | People can forward the file URL |
| Form on a static host (for example Netlify Forms) | Nothing. The form accepts any typed address | On your site, with a link from a thank-you page | Quick collection when a confirmed address is not important | Fake addresses get through, and anyone who submits the form can see the file link |
| Cloudflare Access with a one-time PIN | Cloudflare emails a code before it serves the page | Behind the gate on Cloudflare Pages | A known group, such as named clients or one company domain | Each person who signs in uses a Zero Trust seat (one user place in the plan). This is not good for an open sign-up form |
| Public page with no form | Nothing | On your site | Reach is more important than the address | You learn nothing about the people who downloaded it |
For most lead magnets, double opt-in is the right choice. The reader confirms the address before the file goes out, and the reader agrees to get email from you. The gate controls who gets the link, not who can open the file later. This is acceptable for marketing material. For confidential documents, do not use a lead form. Use a real access control, such as Cloudflare Access limited to named addresses.
3. Build the Landing Page
A lead magnet page needs no framework (a code library for building sites). One HTML file and a stylesheet are enough:
lead-magnet/
├── index.html
├── thanks.html
├── styles.css
└── images/
└── cover.webp
Add a files/ folder only if you host the PDF on the same site. If your email tool delivers the file, the site does not need a copy.
Keep the page short. Put these items on it:
- A headline that names the result. “Estimate your project margin in ten minutes” is stronger than “Download our PDF.”
- Three or four lines about what is inside and who it is for.
- A cover image or one sample page, so that readers see what they will get.
- The form, which asks only for the email address.
- One sentence about what happens next: “We will email you a confirmation link. Click it and the guide downloads.”
- A privacy line that says that you will add the reader to your list, and how to leave it.
This is a minimal index.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Project Pricing Worksheet</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<main>
<h1>Price your next project with confidence</h1>
<p>A two-page worksheet for freelancers who quote fixed-price work.</p>
<img src="/assets/cover.webp" alt="Worksheet cover">
<!-- Paste the form embed code from your email tool here -->
<p>We will email you a confirmation link. Click it and the worksheet downloads.</p>
</main>
</body>
</html>
thanks.html is the page that people see after they submit the form or confirm the address. On this page, repeat what happens next. Also add a link to one relevant page on your site.
4. Set Up Confirmation and Delivery
With an email tool (double opt-in)
In Kit, the confirmation email (also called the incentive email) is the first email that a new subscriber gets. It contains the double opt-in step. Do these steps in Kit:
- Create a form in Kit for this lead magnet. If each resource has its own form, you can tell the sign-ups apart.
- Open the form and select Settings in the top toolbar. Then select the Confirmation Email tab.
- Select Send confirmation email. Do not select Auto-confirm new subscribers, so that double opt-in stays on.
- Select Edit Email Contents and write a plain email. Use a sender name that readers know. Use a subject such as “Confirm to get your pricing worksheet.” Add one button.
- Under After confirming redirect to, choose Download and upload the PDF. As an alternative, choose URL and enter the address of your
thanks.htmlpage or of the hosted file. - Save the form. Then copy its embed code (the HTML for the form) into
index.html.
Other email tools, such as MailerLite, have their own double opt-in settings with different menu names. The principle is the same: the reader gets no file until the reader confirms the address.
Without an email tool (Netlify Forms)
If you want only to collect addresses and do not need confirmation, use Netlify Forms. It works on a plain HTML page:
- In the Netlify project, go to Forms and select Enable form detection.
- Add a
nameand thedata-netlify="true"attribute to the form. Setactionto your thank-you page:
<form name="lead-magnet" method="POST" action="/thanks.html" data-netlify="true">
<label>Email <input type="email" name="email" required></label>
<button type="submit">Send me the worksheet</button>
</form>
- Put the download link on
thanks.html. - To get an email for each sign-up, go to Forms > Submission notifications and select Add notification.
Netlify does not test if the address works. Treat these sign-ups as unconfirmed.
5. Deploy the Landing Page
Choose one host. All three hosts give you HTTPS and a stable address. On each host, you can add your own domain later.
To use Cloudflare Pages with drag and drop, open Workers & Pages in the Cloudflare dashboard. Select Create application > Get started > Drag and drop your files. Enter a project name and upload the lead-magnet folder. Then select Deploy site.
The page goes live at <project-name>.pages.dev. Drag and drop accepts up to 1,000 files of up to 25 MiB each. This is more than enough for a landing page. If you prefer the terminal, run these commands:
npx wrangler login
npx wrangler pages project create
npx wrangler pages deploy lead-magnet
To use Netlify, drag the folder onto Netlify Drop. Sign in, so that the project stays in your account. If you chose Netlify Forms above, use Netlify. The forms work only on sites that Netlify serves.
To use GitHub Pages, push the folder to a repository and turn on Pages in the repository settings. On GitHub Free, the repository must be public. A public site is acceptable for a landing page. Do not put private material in the repository. GitHub says that Pages sites are public on the internet even when the repository is private.
For more information, read the step-by-step guides for Cloudflare Pages, Netlify and GitHub Pages.
6. Test the Full Path as a New Visitor
Do not share the link if you tested only the view of the owner. Open the link in a private window. Do every step with an email address that you control:
- Make sure that the page tells a visitor in a few seconds what they will get.
- Submit the form. Make sure that the thank-you message or page shows.
- Make sure that the confirmation email arrives and that readers know the sender. Also look in the spam folder.
- Make sure that the button in the email opens the download or the right page.
- On a narrow screen, make sure that you can sign up and open the file.
- Make sure that the file has the intended name and that it opens.
- If a visitor mistypes the address, make sure that they can submit the form again.
Keep the offer plain, for example: “Enter your email to get the 2026 Pricing Worksheet.” Do not use a long introduction or several required fields. Do not add a second call to action that competes with the first. A two-minute test finds a missing file, a broken redirect or an old document before prospects (possible customers) find it.
7. Measure What You Can
Without WordPress plugins, you get the numbers from two places. Your email tool shows who signed up through the form and who confirmed the address. The analytics of your host show the visits to the landing page.
To turn on analytics in Cloudflare Pages, open the project and go to Metrics. Under Web Analytics, select Enable. Cloudflare adds the script on the next deployment (setup guide). Cloudflare says that Web Analytics does not collect visitors’ personal data. The numbers are totals, not data about individual people.
A static host does not tell you which subscriber opened the PDF or how much of it they read. If you need this information, share the document through a tool for this purpose, such as DocSend or Papermark. For the options, read how to track PDF opens.
Do not read too much into the signals:
| Signal | Reasonable Interpretation | Sensible Response |
|---|---|---|
| Many visits, few sign-ups | The offer or page copy is not convincing | Rewrite the headline and the “what is inside” lines |
| Sign-ups without confirmations | Readers miss the confirmation email, or it is unclear | Review the sender name and the subject line. Find out if the email goes to spam |
| Confirmed sign-up | The reader wanted the resource | Send useful follow-ups, not an instant sales call |
| A reply to your follow-up | Real interest | Answer the question they asked |
| No visits | People do not find the link | Before you blame the content, look at where you put the link |
A confirmed sign-up does not prove that the reader wants to buy. A person can save a report and not read it. Use the sign-up as context for a relevant follow-up about the problem that the resource helps with.
8. Update the Resource Without Sending a New Link
Lead magnets get old. Prices change, screenshots go out of date and links break. A report from January can give wrong information by September. Keep one stable address and replace the file behind it:
- Edit the source document or the HTML on your computer.
- Export the changed PDF with the same file name.
- Put the new edition or date inside the document.
- Replace the file where it is. For a hosted file, replace it in the
lead-magnetfolder. If your email tool delivers the file, replace it in the confirmation settings of the form. - Deploy again. On Cloudflare Pages, open the project and select Create a new deployment. Or run
npx wrangler pages deploy lead-magnetagain. On Netlify, drag the updated folder onto the drop zone on the Deploys page of the project. - Do the private-window test from step 6 again.
The URL of the landing page and the URL of the file stay the same. Because of this, links on event cards, in old emails and in social profiles continue to work. If an update changes what the resource promises, also update the text of the landing page.
9. Apply Basic Privacy and Security Practices
An email form gives you responsibilities. Addresses and sign-up records are personal data. Usually, it is safest to collect less data. The UK Information Commissioner’s Office says that personal data must be adequate, relevant and limited to what is necessary. It also recommends that you review your data from time to time and delete the data that you no longer need (data minimisation guidance).
| Item | What to Check | Why It Matters |
|---|---|---|
| Purpose notice | Say why you ask for the email and that the address goes on your list | Visitors understand what they give and what they get |
| Extra fields | Remove questions that you will not use | Less data means less risk |
| Unsubscribe | Every follow-up has a working unsubscribe link | Readers can leave without writing to you |
| Retention | Set a review date for unconfirmed and inactive contacts | Old records lose value and add risk |
| File contents | Remove comments, metadata (data about the file, such as the author) and hidden data | The file can go far beyond the gate |
| Sensitive material | Do not use a lead form for confidential documents | A lead gate controls delivery, not later access |
If you collect addresses from several countries, get legal advice. Do not assume that one privacy notice is correct for every jurisdiction (area with its own laws).
Final Thoughts on Lead Magnet Hosting Without WordPress
A lead magnet works best as a small setup with one purpose, not as a small website:
- Offer one clear result.
- Ask for the email address, and do not ask for data that you will not use.
- Confirm the address before you deliver the file.
- Test the full path in a private window.
- Use sign-ups and visits as context, not as proof.
- When the file is out of date, replace it at the same link.
A static page and an email tool with double opt-in are enough for PDFs, reports, templates, presentations and small HTML tools. Host the page on Cloudflare Pages, Netlify or GitHub Pages. You have no server to patch or update.
A docs portal with Ask AI
and support tickets
Connect a repository, or describe your product to start. Each docs site has search, Ask AI, an API console, an MCP server and support tickets.
- Publishes from GitHub on every push
- Works with Mintlify repositories
- API console from your OpenAPI file
- MCP server and llms.txt for AI agents
- Ask AI and support tickets
- Analytics for people and AI agents
Frequently Asked Questions
Is a confirmed email the same as identity verification?
No. Double opt-in shows that a person had access to the inbox at that address. It does not prove a legal name, a job title or the authority to receive confidential information. Also, one shared team inbox can confirm for several people.
Should every lead magnet require an email?
No. If reach is more important than a list, use a public page. An example is a short checklist that you want people to share. If the resource is substantial and you plan to send useful follow-ups, ask for an email.
Related Articles

Add a Custom Domain to a Cloudflare Pages Site
Add a custom domain or www to a Cloudflare Pages site: set it up in Pages first, add the DNS record, fix stuck verification and redirect www.

What Is localhost:3000?
Your browser uses localhost:3000 to reach an app running on your own computer. Sending that address to someone else does not give them access to your app.

Move Exported Grok Website Files to Another Host
Export a Grok Build site to GitHub, deploy it on Cloudflare Pages, Netlify, Vercel or GitHub Pages, test it, then retire the grok.me copy.