SSL for QR Code Landing Pages: A Practical HTTPS Guide

A QR code does not need an SSL certificate. The page it opens does. If your landing page, and every redirect on the way to it, runs over HTTPS with a valid certificate, scanners see a padlock instead of a browser warning, and your printed campaign keeps its credibility. This guide shows you how to set that up, how to check it, and how to tune the page for people who arrive from a scan.
TL;DR
- The QR code is just encoded text. The security question is about the destination: it should be served over HTTPS with a valid, trusted certificate.
- Encode an
https://address, redirect any HTTP request to HTTPS, and fix mixed content so the padlock never breaks. - Check the result in Chrome DevTools before you print, because a warning screen ends the visit before it starts.
- Scan traffic is mobile traffic: keep the page light, responsive and matched to the printed message.
- Use a separate code per placement, so you can see which poster, flyer or package actually earns scans.
Table of Contents
- What SSL means for a QR code landing page
- Why a missing or broken certificate costs you scans
- Set up HTTPS the right way, step by step
- Fix mixed content and certificate warnings
- Count the hops between the scan and the page
- Optimise the page for people who just scanned
- Measure results by placement
- A pre-launch checklist
- Our perspective: HTTPS is where permanence starts
- Create secure, trackable codes with QRlytics
- FAQ
- Sources
What SSL means for a QR code landing page
“SSL” is the older name for what is now called TLS, the protocol that secures the connection between a phone and a website. Most people still say SSL certificate, and so do hosting dashboards, so we use both terms here. According to MDN, TLS protects a connection in three ways: encryption, integrity and authentication. HTTPS is the defence against man-in-the-middle attacks, and MDN’s guidance is that all pages and subresources should be served over it.
For a QR campaign, that translates into three practical things:
- Encryption: what the visitor types into your form, such as an email address or a coupon request, cannot be read on the way.
- Integrity: nobody can alter your page in transit, for example by injecting content.
- Authentication: the browser can confirm the page really belongs to your domain.
The third point matters most for print. A scanner has no way to inspect your poster the way they might hover over a link in an email. The padlock and a clean load are the only trust signals they get.
Does the QR code itself need a certificate?
No. Duke University’s Information Security office makes the distinction clearly: QR codes themselves do not pose significant risk, but the target they refer to may. Duke’s advice is to make sure the website a QR code links to is TLS/SSL certified, valid, trusted and encrypted.
So the certificate lives on the server that answers the request, not in the printed pattern. If you use a dynamic QR code, there are two servers in play: the one behind the short redirect address and the one hosting your final landing page. Both need to be on HTTPS. We explain that chain in how secure QR code forwarding works.
Why a missing or broken certificate costs you scans
People who scan a code are already a little wary. Nielsen Norman Group’s usability guidelines list looking for a secure connection, meaning HTTPS and the padlock, as a safety tip for users. Many of your visitors will have heard that advice. A page that loads over plain HTTP, or throws a certificate error, looks like exactly what they have been warned about.
The cost is not only trust. Self-signed or misconfigured certificates trigger browser warnings that halt the user flow, as one developer write-up on TLS puts it. On a printed piece, you cannot apologise or fix it after the fact. The code is on the shelf, the bus shelter or the menu, and every scan that ends at a warning is a lost visit you will never see in your analytics.
Set up HTTPS the right way, step by step
The exact clicks depend on your host, but the sequence is the same everywhere.

Step 1: Get and install a certificate
Most hosts and website builders include certificates, and many use free ones from Let’s Encrypt. Softsys Hosting’s guide to installing a free Let’s Encrypt certificate in Plesk notes that these certificates last 90 days and that Plesk renews them automatically. Automatic renewal is the feature to look for on any host. An expired certificate on a landing page that is printed on 10,000 flyers is the kind of mistake that is easy to prevent and painful to discover.
If you run your own server, the process is similar. Namecheap’s instructions for installing an SSL certificate on Nginx walk through it for that web server.
Step 2: Redirect HTTP to HTTPS
Installing the certificate does not stop anyone from reaching the HTTP version. You need a permanent redirect. On Nginx, Namecheap’s guide says to add return 301 https://$server_name$request_uri; to the port-80 server block so visitors always land on the secure version. In Plesk, the same guide from Softsys Hosting tells you to enable the permanent SEO-safe 301 redirect from HTTP to HTTPS in Hosting Settings after installing the certificate.
Step 3: Encode the secure address in the code
When you create the QR code, paste the full https:// address, not http:// or a bare domain. That way, the first request the phone makes is already secure, with no insecure hop to intercept. Keep the redirect from Step 2 anyway, as a safety net for older prints or links someone typed by hand.
Step 4: Consider HSTS once everything is stable
MDN explains that the Strict-Transport-Security (HSTS) header prevents SSL-stripping attacks on subsequent visits, because the browser remembers to use HTTPS for your domain. It is a good finishing step, but turn it on only after every page and subdomain you use works over HTTPS, since it tells browsers not to fall back.
Step 5: Use a modern configuration
SSL.com’s best-practices guide recommends TLS 1.2 or 1.3, installing complete certificate chains, setting the Secure flag on cookies and evaluating third-party code for security risks. If you use a managed host or website builder, these settings are usually handled for you. If you manage the server, they are worth a quick review once a year.
Fix mixed content and certificate warnings
The most common problem after switching to HTTPS is not the certificate. It is mixed content: a secure page that loads some of its images, scripts or stylesheets over HTTP. MDN describes how browsers react: they either upgrade the request to HTTPS or block it entirely. Either way, you can end up with a broken layout or a missing padlock.
SSL.com’s guidance is to serve all JavaScript, images and CSS over HTTPS. Softsys Hosting adds the practical fix: if the browser says the page is not fully secure after you switch, update any hardcoded http:// links in the site or theme to https://, or to protocol-relative URLs.
The usual suspects on a QR landing page are:
- A hero image or logo pasted in from an old campaign
- An embedded video or map using an
http://address - A tracking pixel or form script added years ago
- A font or stylesheet linked from a third-party host
Check it in Chrome DevTools
Don’t trust a glance at the padlock. Chrome’s documentation for the DevTools Security panel says you can use it to inspect the page’s security and view the certificate of the main origin. If the main origin is not secure, the fix is to configure the server to redirect HTTP requests to HTTPS. To track down mixed content, use the Network panel with the mixed-content:displayed filter.
A short pre-print routine:
- Open the landing page in a private window on desktop and check the Security panel.
- Filter the Network panel for mixed content and fix every item.
- Scan the finished code with at least one iPhone and one Android phone, on mobile data rather than office Wi-Fi.
- Confirm the final address shown in the browser is the HTTPS one you intended.
Count the hops between the scan and the page
Every redirect is another request, and each one has to be secure. A dynamic QR code adds a redirect by design, because that is what lets you change the destination later without reprinting. The aim is to keep that to a single, fast step. Chains such as short link, then tracking link, then HTTP page, then HTTPS page waste time and risk a warning at each stage. Our guide on reducing QR redirect hops to one shows how to audit your own chain, and explaining QR redirected links covers the basics if you are new to the idea.
Speed and security are linked here. The same TLS write-up reports that the TLS handshake on mobile networks often takes 200 to 400 ms, and that enabling OCSP stapling on the origin server can shorten it. That is a developer-level setting, but it is a useful question to put to whoever hosts your page.
Optimise the page for people who just scanned
A valid certificate gets people through the door. The page itself decides whether they stay. Nielsen Norman Group states that you can assume users scanning a QR code will visit the associated site on a mobile device, and that codes should lead to mobile-dedicated or responsive sites. That single assumption should shape everything.
Design for a thumb and a moving person
- One job per page. The poster promised a menu, a discount or a video. Show that first, above the fold.
- Match the printed message. If the flyer says “Scan for 10% off”, the headline on the page should say the same thing in the same words.
- Big tap targets and short forms. Ask for the minimum: an email address, not a ten-field form.
- No pop-ups or forced app installs before the content appears.
- Compress images and avoid heavy scripts. Each extra third-party script is also one more thing that can break your padlock.
For ideas on structure, see our collection of QR code landing page examples that convert and branded code landing pages. If you want a broader checklist for mobile pages, this overview of optimising landing pages is a good companion.
Keep it fast
A scanner is standing up, often on a cellular connection, and has no patience for a slow load. Fast pages start with the basics: a secure connection that is set up once, lean images, and as little client-side code as possible. We go through targets and fixes in landing page speed for QR campaigns.
Build a page per campaign
One generic page for every code makes it hard to match the message and hard to measure. A dedicated page for each campaign is easier to secure, too, because you know exactly which assets it loads. Here is how to build a unique QR landing page for each campaign.
Measure results by placement
Security work is only half of the job. You also want to know which printed placement drives visits. The practical approach is to create a separate QR code for each meaningful placement, such as the shop window, the table card and the product box. Use the same utm_source=print on all of them, and separate the placements with utm_medium or utm_content, so that results can be compared side by side.

When you can see that the till-point card gets three times the scans of the window poster, you know where to spend the next print budget. If two versions of a page are competing, our guide to A/B testing QR code landing pages explains how to split traffic without changing the printed code. Merchandise is a placement too: QR codes on swag covers size, placement and tracking for branded items.
A pre-launch checklist
| Check | What good looks like |
|---|---|
| Address encoded in the code | Starts with https:// |
| Certificate | Valid, trusted, with automatic renewal |
| HTTP version | Permanently redirected (301) to HTTPS |
| Mixed content | None reported in the DevTools Network panel |
| Redirect chain | One hop from the code to the final page |
| Mobile layout | Readable and tappable on a real phone, on mobile data |
| Message match | Page headline repeats the printed promise |
| Tracking | Separate code and UTM values per placement |
For a wider review that includes vendor and policy questions, use our secure QR solutions checklist for business teams. If you work in a security team and need proof that a code is genuine, verifiable QR codes goes deeper.
Our perspective: HTTPS is where permanence starts
At Qrlytics, we think about QR codes as printed promises. Once a code is on a package, a brochure or a shop window, you cannot recall it. That is why we built the platform around one idea: codes created during an active subscription keep working, whatever happens to billing afterwards.
Security is part of that promise. A code that still redirects but lands on a certificate warning has not kept its word. So we treat the secure connection as part of the redirect, not an extra, and we encourage teams to audit the whole path from scan to page: the code, the redirect, the destination and the assets on it.
Dynamic codes help here. Because you can update the destination without touching the print, you can move a page to a new host, renew a certificate setup or fix a broken asset and the printed code stays the same. Add privacy-first, GDPR-compliant analytics, and you can see how the page performs without collecting more than you need.
Our advice is simple: encode HTTPS, keep redirects short, test on real phones, and measure every placement separately.
The Qrlytics team
Create secure, trackable codes with QRlytics
If you are ready to put this into practice, QRlytics lets you create dynamic QR codes whose destination you can update later, with real-time scan analytics and branding options. You can start on the Free plan with no credit card, and see what is on offer for Free and Pro on the pricing page.

Want to see scan data before you commit? Our QR codes with analytics page shows what you can track, including global scan heat maps and CSV export.
FAQ
Do I need an SSL certificate for a QR code?
No, the code is only encoded text and has no certificate of its own. The website it opens needs a valid HTTPS certificate. Duke University’s security guidance advises checking that the destination is TLS/SSL certified, valid, trusted and encrypted.
Is a free SSL certificate good enough for a landing page?
A free certificate from a recognised authority such as Let’s Encrypt gives you the same HTTPS padlock in the browser. What matters is that it is valid, installed with the full chain and renewed automatically. Let’s Encrypt certificates last 90 days, so automatic renewal is essential.
Why does my page show “not fully secure” after switching to HTTPS?
The page is almost certainly loading something over HTTP, usually an image, script or stylesheet. Update hardcoded http:// links to https://, then use the Chrome DevTools Network panel with the mixed-content:displayed filter to confirm nothing remains.
Should the QR code point to HTTP or HTTPS?
Always encode the https:// address. That makes the first request secure from the start. Keep a 301 redirect from HTTP to HTTPS on the server as well, so older links and hand-typed addresses still end up on the secure page.
Does a dynamic QR code make HTTPS harder?
Not if both ends are secure. A dynamic code adds a redirect step, so the redirect address and your final landing page both need to use HTTPS, and the chain should stay short. The benefit is that you can fix or move the destination later without reprinting.
Sources
- QR Code Security Guide, Duke University Information Security
- Transport Layer Security (TLS), MDN
- 13 QR-Code Usability Guidelines, Nielsen Norman Group
- Networking for Developers: TLS/SSL Explained
- How to Install a Free Let’s Encrypt SSL in Plesk, Softsys Hosting
- SSL/TLS Best Practices, SSL.com
- Chrome DevTools Security panel documentation