Posts

Showing posts with the label Jewel Mesina

How Do You Deliver Digital Products on a Static Jekyll Site?

One major challenge after migrating from WooCommerce to Jekyll is: how do you securely deliver digital downloads? WooCommerce handles access control, download limits, and user accounts — none of which exist on static sites.

But there’s a surprisingly elegant way to make it work — using Stripe + secure file delivery services or automated email workflows. Here’s how you can set this up with no backend at all.

Option 1: Use Stripe + Gumroad or Lemon Squeezy

Why Use an External Delivery Platform?

Stripe only processes the payment. It doesn’t deliver files. That’s where services like Gumroad, Lemon Squeezy, or Paddle come in. You can list your digital product there and simply link the “Buy” button from Jekyll to their checkout URL.

How It Works:

  • Create product in Gumroad with file attached.
  • Copy the Gumroad checkout link.
  • Add the link to your Jekyll product front matter.
---
title: "Productivity Notion Template"
description: "A minimal, distraction-free productivity system"
gumroad_url: "https://gum.co/notionkit"
---
{% raw %}
<a href="{{ page.gumroad_url }}" class="btn-download">Buy & Download</a>
{% endraw %}

This approach handles everything: delivery, taxes, download limits, and support.

Option 2: Use Stripe + Email Automation via Zapier

If you want to control everything yourself, but still avoid a backend, this is a great solution:

What You’ll Need:

  • Stripe Checkout link for each product
  • Zapier or Make.com automation
  • Email service like Gmail, MailerLite, or Postmark
  • Secure file hosting on Dropbox, Google Drive, or BunnyCDN

Step-by-Step:

  1. User clicks Stripe Checkout link on your Jekyll site
  2. Stripe processes the payment
  3. A Zapier trigger detects the successful charge
  4. Zapier sends an email to the buyer with a private download link

Protecting the Files:

You can obfuscate or expire links using:

  • BunnyCDN signed URLs
  • A Google Drive folder with limited access
  • Amazon S3 + Cloudflare Workers (advanced)

What About Order History and Invoices?

Stripe Customer Portal

Stripe offers a hosted Customer Portal where users can view past purchases and download invoices. You can link to this from your Jekyll site if they created an account or used their email address.

https://billing.stripe.com/p/session/abc123

To make this available, enable it in the Stripe Dashboard → Billing → Customer Portal.

Case Study: Selling Design Resources with Stripe + Jekyll

Context:

  • Original platform: WooCommerce with plugin-heavy setup
  • Products: UI Kits and Icon Packs (ZIP files)
  • Goals: Reduce maintenance, increase speed

Migration Plan:

  1. Moved products into _products Jekyll collection
  2. Added Stripe checkout links per item
  3. Created Zapier automation: Stripe → Gmail → Buyer
  4. Files stored on Dropbox Pro with shared link expiry enabled

Outcome:

  • Site Speed: Improved from 4.9s to under 1.1s
  • Maintenance: Reduced from weekly to monthly checks
  • Revenue: Increased slightly due to faster UX and cleaner UI

How to Build a Digital Product Dashboard (Without WordPress)

Static Account Page with Magic Link Access

While Jekyll can’t authenticate users directly, you can simulate access by generating unique links per buyer and emailing them after purchase.

These links point to a unique download or access page, like:

https://example.com/downloads/thankyou-4d2a.html

Store the HTML file in a special folder (e.g. /downloads/) and do not link to it publicly.

Alternative: Notion as Delivery Portal

Some creators use a locked Notion page or workspace as their product portal. After purchase, users are granted view access.

Best Practices for Static Digital Product Delivery

  • Use hosted checkout (Stripe, Lemon Squeezy, etc.) — no server, secure, fast
  • Automate delivery using Zapier, Make, or Integromat
  • Secure your files — use link expiry or hidden pages
  • Provide clear support contact on each page
  • Rebuild trust post-WooCommerce with guarantees, clean UI, and testimonials

Conclusion: Delivering Digital Products Is Easier Than You Think

Migrating from WooCommerce to Jekyll doesn’t mean sacrificing digital delivery. With Stripe Checkout, Zapier, and some clever file hosting — you can run a clean, fast, low-maintenance digital product business entirely on static infrastructure.

This workflow is ideal for indie creators, template sellers, info product authors, and anyone tired of PHP-based platforms. You gain full control, transparency, and fewer moving parts — with no compromise on buyer experience.