An employer, auditor or client holds a LearnDash certificate PDF and wants to know if it is real. They should not have to email you and wait for an answer.
With this plugin they can verify a LearnDash certificate themselves. The certificate carries a QR code and a printed verification code. Scanning the QR code opens a certificate verification page on your own site.
It works with the LearnDash certificates you already have. You add one shortcode to the certificate template. There is no new certificate builder and no settings screen.
One of three answers.
The page returns HTTP 200, 404 or 410 for these three answers, so a script can tell them apart. It is marked noindex as a header and a meta tag, and it is sent with no-cache headers. The only branding on it is your site name.
[cert_qr_verify] to your certificate under LearnDash LMS > Certificates.Verify: XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX.https://your-site/?cert_verify=CODE.Learners who finished before you installed the plugin get a code the first time they open their certificate. The plugin first asks LearnDash whether the course really is complete, or the quiz really was passed, so the shortcode never creates a code for unfinished work.
random_bytes(). Codes cannot be guessed or counted through, and every unknown code gets the same “Certificate not found” reply.With WordPress 7.1.2 and LearnDash 5.1.10, we logged in as a learner, downloaded her certificate PDF and read its QR code with a standard QR reader. The link opened the page headed “Valid certificate”. The link with the printed code, capitals and dashes included, opened the same page, and a made-up code got “Certificate not found” with a 404.
Every feature described here is in this plugin. Nothing is held back for a paid version.
If your certificates also need an expiry date and renewal reminders, we sell a separate plugin for that: Certificate Expiry for LearnDash. This plugin does not need it.
Each QR image file holds only the verification link, https://your-site/?cert_verify=CODE, and no name. The files are in wp-content/uploads/cert-qr-verify/ on your own server, one folder per site on a multisite network, and the plugin does not send them anywhere. They are deleted when:
Deleting a user from Network Admin on multisite removes their codes on every site but leaves their QR files until the plugin is deleted. On multisite, Users > Remove on a site only removes the user from that site, so it keeps their codes and QR files.
If you change AUTH_KEY or AUTH_SALT in wp-config.php, the plugin no longer matches the older QR files by name, so they stay until you delete the plugin. A file left behind only encodes a link, and that link shows “Certificate not found” once the code is gone.
The QR encoder in includes/class-psr-cqv-qr.php was written for this plugin and is released under GPLv2 or later with the rest of the plugin. It follows the public QR code specification (ISO/IEC 18004). No third party library is bundled.