Why isn’t the PDF enough?
Because anyone can edit a PDF, and a PDF can’t change after it’s downloaded. An employer holding a first aid certificate from two years ago has no way to tell from the document whether it has expired, been revoked, or was ever issued at all.
So they email you. On a small site that’s a minor chore. On a site issuing hundreds of certificates to people who change jobs, it’s a steady stream of “can you confirm this person completed the course?” messages, each needing someone to look it up.
What is a certificate verification page?
A public page, one per certificate, that anyone can open without logging in. It shows the facts that matter and nothing more: who holds the certificate, which course it’s for, and whether it’s valid right now. The PDF, the QR code and any share link all point to it, so there’s one source of truth that updates when the certificate expires or is revoked.

What makes a verification page trustworthy?
- It’s on your domain. A link to your own site is more convincing than a link to a third-party service the employer hasn’t heard of.
- The link can’t be guessed. If certificate 101’s page lives at
/verify/101, anyone can walk through every certificate you’ve issued. Each link needs a long random identifier. - It shows current status, not just the issue date. Active, expired or revoked. An issue date alone answers the wrong question.
- It shows as little personal data as possible. Name and course are enough to confirm a match. Email addresses and scores don’t belong on a public page.
Does LearnDash have verification pages built in?
No. LearnDash generates certificates as PDFs and has no public page for checking them, and no status that could change. You need an add-on or custom development for this, and because it’s tied to validity, it usually comes with certificate expiry. If your certificates don’t expire yet, start with our guide on making LearnDash certificates expire.
How do you set up a verification page?
With LearnDash Certificate Expiry it takes three steps:
- Create a normal WordPress page, for example “Verify a certificate”, and add the
[learndash_certificate_expiry_verify]shortcode to it. - Under LearnDash LMS → Certificate Expiry → Verification & Sharing, choose that page as the one hosting the verification shortcode.
- Tick the networks students can share to: LinkedIn, Facebook and X.

From then on, every certificate has its own link that can’t be guessed. The page shows the holder, the course and the status (active, expired or revoked), and it changes by itself when the certificate expires or you revoke it.
How do you put a QR code on a LearnDash certificate?
This step is easy to miss, because the code isn’t added to the PDF automatically. Open the certificate in LearnDash (LearnDash LMS → Certificates), place the [learndash_certificate_expiry_qr_code] shortcode where you want the code to print, and save. Then make sure Show a verification QR code on this certificate is ticked on each course that uses it.
The code links to that certificate’s verification page, so a printed certificate pinned to a noticeboard can still be checked with a phone camera.
Where should the QR code go on the certificate?
Somewhere it can’t be mistaken for decoration and won’t be cut off when printed. A bottom corner works for most designs. Some practical points:
- Size. Big enough to scan from a printed A4 or letter page at arm’s length. If it’s the size of a postage stamp it’ll work; smaller gets unreliable.
- Contrast. Dark code on a plain light background. A code printed over a watermark or a gradient may not scan.
- A line of text beside it. Something like “Scan to check this certificate is current”. People don’t scan codes they don’t understand.
- Test it. Print one certificate, scan it with two different phones, and check it opens the right page.
Can students share certificates to LinkedIn?
Yes. The verification page has share buttons for the networks you enabled (LinkedIn, Facebook and X), and the post links back to the verification page. Anyone who clicks through sees the live status, not a screenshot of the certificate.
Certificates can also be exported as Open Badges 2.0, if you tick Allow this certificate to be exported as an OpenBadge on the course. The [learndash_certificate_expiry_openbadge_link] shortcode gives students the export link.
Can students see the status of their own certificates?
Add the [learndash_certificate_expiry_status] shortcode, or the Certificate status block, to a page students can reach, such as their profile. They see each certificate, its status and expiry date, and a link to renew. Add course_id="123" to show one course only.
It saves another kind of email: students asking when their own certificate runs out.
What happens when you revoke a certificate?
The verification page says so straight away. On LearnDash LMS → Certificate Expiry → Certifications you can revoke one certificate or several in bulk, for example when training turns out to have been completed dishonestly, or a qualification it depended on was withdrawn. The certificate’s status becomes revoked, and anyone opening its link or scanning its QR code sees that instead of “active”.
That’s the real value of a verification page over a PDF. You can’t recall a document someone has already downloaded, but you can change what it points to.
What should an employer do if the page says expired?
Treat it as a question, not an accusation. An expired status means the certificate’s validity period ran out and it hasn’t been renewed on your site. The holder may have renewed with another provider, or be partway through renewing now (see how annual recertification works in LearnDash). Ask them. If they renew with you, their certificate shows as active again.
It helps to put a sentence to that effect on the verification page itself, above the shortcode, along with a contact address for questions. Employers who land there usually have one question, and it’s better answered on the page than by email.
What should you tell students about the public page?
That it exists, and what it shows. A verification page is public by design, so a student’s name and course are visible to anyone with the link. Say so in your privacy policy and your course terms, and make sure the page shows nothing beyond what’s needed to confirm the certificate.
Because the links can’t be guessed, nobody can page through them to see who else holds a certificate. In practice, someone finds a student’s page because the student gave them the link or the certificate.
What verification doesn’t do
- Stop someone editing a PDF. It makes the edit pointless, because the verification page shows the truth.
- Verify certificates issued before you set it up, until those students have certifications on the Certifications screen. Grant them there first.
- Work if the page isn’t chosen. If links open a blank or missing page, check the Verification & Sharing tab has the page with the shortcode selected.
LearnDash Certificate Expiry. Per-student certificate expiry, dated from each learner's own completion, with reminders, paid renewal and public verification.
View the add-on