Home › LearnDash › LearnDash Certificate Expiry
Add-on for LearnDash

LearnDash Certificate Expiry

Per-student certificate expiry, dated from each learner's own completion, with reminders, paid renewal and public verification.

Needs
LearnDash 4.x
Tested up to
WordPress 7.1
Version
1.2.0 Changelog
Updated
30 September 2026
Licence
1, 3, 5 or unlimited sites per key

Read the setup guide

What it does

LearnDash Certificate Expiry gives every student's certificate its own expiry date, counted from the day they finished the course. It emails them before it lapses, can charge for the certificate through WooCommerce, and gives each certificate a public page where an employer can check it is still valid.

Each learner gets their own expiry date

Set a validity period once per certificate, and every student’s certificate expires that long after they complete the course. You can also grant, extend or revoke one student’s certification by hand.

Students are warned before they lapse

Reminder emails go out 180, 90 and 60 days before expiry, plus an expired notice. You can edit every subject and body, and each email includes a renewal link.

Paid re-certification

Gate a certificate behind a WooCommerce product. The certificate is released automatically when the order reaches the status you choose, or you can keep offline payments for manual approval.

Public verification page

Every certificate gets a unique, non-guessable link and QR code. An employer can open it to see who holds the certificate, which course it is for, and whether it is still active.

Share-ready certificates

Students can share a verified certificate to LinkedIn, Facebook or X in one click, and certificates can be exported as Open Badges v2.0.

The problem

LearnDash certificates don’t expire. Once a student finishes a course, the certificate is valid forever. That’s fine for a hobby course. It’s a real problem for anything that has to be renewed: first aid, food hygiene, safety inductions, CPD.

Most training sites we looked at handle it with a spreadsheet. Export the completions, add a year, set calendar reminders, email people one by one. It works until someone leaves, a date slips, or an auditor asks whose certificate is still valid right now.

How it works

  1. Set how many days the LearnDash certificate stays valid. It’s set on the certificate itself, so every course that awards it uses the same period. Then pick that certificate on each course.
  2. When a student completes the course, their certification starts that day. Two students who finish a month apart expire a month apart.
  3. Reminder emails go out 180, 90 and 60 days before the expiry date, then an expired notice when it lapses. You can change the schedule per course (for example “30,7”) and edit the subject and body of every email.
  4. Each certificate gets its own verification link and QR code. Anyone who opens it sees the holder, the course and whether the certificate is active, expired or revoked.

Free, paid or approved first

Per course, you decide when the certificate is granted: straight away for free (the default), only after payment, or only after an admin approves it.

For paid certificates you link a WooCommerce product to the certificate. The certificate is released when the order reaches the status you choose (Completed by default), and you decide whether offline methods such as bank transfer, cheque or cash on delivery count.

Keeping track

Everything sits on one screen under LearnDash LMS → Certificate Expiry: every student, course, status, expiry date and payment reference. You can filter it, approve or revoke in bulk, grant, extend or revoke one student by hand, and export a CSV for compliance reporting. Admins get a weekly digest email, and an activity log records every grant, renewal, expiry and revocation.

Add the certificate status shortcode or block to a page and students see their own certificates, with a renewal link, so they don’t have to email you to find out where they stand.

What it doesn’t do

Requirements and compatibility

Your site needs

Plugins
LearnDash 4.x
WordPress
6.5 or newer
PHP
7.4 or newer
Multisite
Supported

This release

Version
1.2.0
Updated
30 September 2026
Tested up to
WordPress 7.1
Known conflicts
None known
Changelog

Version 1.2.0

* Multisite: one license covers the whole network, and each subsite running the plugin counts
as one site against the license's site limit (1, 3, 5, or unlimited). The license is stored
network-wide and only a network (super) admin can activate or deactivate it.
* Adding a subsite, or activating the plugin on one, takes an activation automatically; deactivating
the plugin on a subsite or deleting the subsite frees it again. Updates are only offered while
every subsite running the plugin is activated.

It runs alongside LearnDash and never changes its files, so you can keep updating LearnDash as usual.

How it compares

  LearnDash on its own With Certificate Expiry
Certificate expiry Never expires Per student, counted from their completion date
Renewal reminders None 180, 90 and 60 days before, plus an expired notice (editable)
Charge for the certificate on its own No Yes, via a WooCommerce product
Admin approval before issue No Yes, per course
Public page to check a certificate No Unique link and QR code
Open Badges export No Open Badges v2.0
Compliance list Build it yourself Filterable list with CSV export

Full comparison: Certificate expiry for LearnDash: the options compared

Who it's for, and who it isn't

Buy this if

You run compliance or safety training, and your learners enrol year-round and need to recertify.

Don't buy this if

Your learners move as a cohort with one shared end date.

Frequently asked questions

Does LearnDash have certificate expiry built in?

No. LearnDash certificates never expire on their own, so you need an add-on for this.

Is WooCommerce required?

No. You only need WooCommerce to charge for a certificate or its renewal. Without it, an admin can approve and renew certificates by hand.

What happens when a certificate expires?

Its status changes to expired, the verification page shows it as expired, and the student gets the expired notice. If you ticked "Also remove the student from this course when the certificate expires", their course access is removed as well.

Can I change when the reminders go out?

Yes. Each course has a reminder schedule in days before expiry, for example "180,90,60" or "30,7". You can also rewrite every email on the Email templates tab.

Can an employer check a certificate without logging in?

Yes. The verification link and QR code open a public page with the holder's name, the course and the current status. Each link is unique and can't be guessed.

What about students who finished before I installed it?

They aren't picked up automatically. Grant their certifications from the Certifications screen, where you can also set or extend each expiry date by hand.

Can a certificate be shared to LinkedIn?

Yes. The verification page has share buttons for LinkedIn, Facebook and X, and certificates can be exported as Open Badges v2.0.

What does the licence include?

One licence key for 1, 3, 5 or unlimited sites, whichever you pick at checkout, valid for a year. Every licence has every feature, plus all updates and support for that year. If you don't renew, the plugin keeps working but stops receiving updates.

Is there a refund policy?

Yes. Email support@pluginsprout.com within 14 days of buying, from the address you bought with, and we refund the full amount.

LearnDash Certificate Expiry $79 a year, one site