A printed QR code can keep sending people to an old page even after a website migration. Use this checklist to record what your codes contain, trace redirects to their final destinations, and test that those pages work for the people scanning them.
Key Takeaways
- Record the URL encoded in each QR code; the printed code itself does not change when a website moves.
- Keep the original URL working when possible, and redirect it to the most relevant replacement page.
- Check the full redirect path, HTTPS, mobile usability, and access from the intended regions and without an unintended login requirement.
- A static QR code generally cannot be edited after printing. A service that allows destination changes can help only while its URL and service remain available.
Start with the URL the QR code actually contains
Make an inventory of QR codes used on packaging, signs, flyers, business cards, and other materials that are still in circulation. Record the item, campaign, placement, and the page each code is supposed to reach after the migration. Prioritize materials with the most exposure or the longest expected shelf life.
Scan a representative sample of the physical materials—not just an image from a design file. Use a phone camera or QR scanner, inspect the decoded URL before opening it, and record that URL exactly, including its path and query string. If one design or printing batch may contain different codes, sample across those variations. For a small campaign, checking every code is safer than sampling.
Do not assume the code contains the page address you expect. It may point directly to a page, to an old domain, or to a QR provider's redirect URL. The decoded URL is the starting point for the checks that follow.
Identify whether the code can be changed
A QR code encodes data in its printed pattern. If it encodes a direct web address, changing the website does not rewrite that address; you need to keep the old address working or print a replacement code. If it encodes a URL on a redirect service, the service may let you change the destination, but that depends on the service, account access, and continued operation of the encoded URL.
For either type, confirm who controls the encoded domain or service. Keep domain registration, DNS, hosting, TLS certificates, and relevant provider accounts under responsible ownership for as long as the printed materials remain in use.
Check the redirect and final destination
For each decoded URL, follow the complete redirect path and record the final URL and response. A redirect checker can help identify intermediate hops, but test the link in a real mobile browser as well: devices, browsers, and networks may behave differently.
| Check | What to look for |
|---|---|
| Redirect path | No loops, broken hops, unexpected domains, or avoidable chains. The final page should match the code's printed promise. |
| Redirect status | A 301 or 308 indicates a permanent redirect; a 302 or 307 indicates a temporary one. For a QR campaign expected to last, use a permanent redirect when the move is genuinely permanent. Temporary redirects can be appropriate during a short migration or test. |
| HTTPS | The decoded URL and final page should load securely. Check for certificate warnings and redirects that downgrade to HTTP. |
| Page availability | Confirm the final page loads rather than returning an error, showing a missing-page template, or redirecting to an unrelated homepage. |
| URL details | Check that paths and useful query parameters survive the move. A redirect that drops campaign parameters may affect measurement. |
Redirect status does not guarantee how every scanner or browser will cache or handle a redirect. Keep the old URL reachable and test the actual printed code after changes. Avoid relying on a redirect chain that passes through services or domains you do not control.
For a quick command-line check of a URL you own, curl can follow HTTP redirects and show the final status and URL:
curl --max-redirs 10 --connect-timeout 10 --max-time 30 \
-sS -L -o /dev/null \
-w 'Final status: %{http_code}\nFinal URL: %{url_effective}\n' \
'https://old.example.com/campaign'
Replace the example with the decoded URL. This checks an HTTP request from the machine running curl; it does not test a phone's camera, mobile layout, JavaScript-driven navigation, or access from another region. A failed command is a signal to investigate, not a complete diagnosis.
Test the page as a QR-code visitor
Scan the printed code using a phone and follow it through to the page. Test on both iOS and Android if your audience uses both, and try a mobile data connection as well as Wi-Fi. Check that the page fits the screen, the main action is visible, text is readable, and forms or checkout flows can be completed without awkward horizontal scrolling.
Test access conditions that matter to the campaign:
- Logged out: Open the destination in a private or incognito session. If a login appears, confirm it is intentional and that visitors have a clear way to get access.
- Region-specific: Test from the countries or regions where the printed material will be used, using authorized test devices or services. Note that location behavior can depend on more than the URL, including network and account settings.
- Missing or moved content: Confirm the page has the information the QR code promises. If the original page is retired, redirect to the closest relevant replacement rather than a generic homepage.
- Campaign behavior: Submit forms or follow the intended call to action in a test workflow. Confirm that tracking parameters, if used, are preserved and interpreted as expected.
A URL that loads successfully on an office computer may still fail for a phone user because of a login wall, regional restriction, broken mobile page, or network-specific behavior.
Keep a migration record
Use one row per distinct encoded URL, and note which physical materials use it. A simple record can include:
| Field | Example |
|---|---|
| Printed item and location | Spring flyer, front panel |
| Decoded URL | https://old.example.com/spring |
| Intended destination | https://www.example.com/events/spring |
| Redirect path and final status | Old URL → new URL; final status recorded |
| HTTPS and page check | Secure connection; page loads on mobile |
| Access checks | Logged out; tested in intended market |
| Owner and follow-up date | Marketing team; recheck after launch |
Run the checks before migration, immediately after launch, and again after material changes to redirects or destination pages. Keep the old address available for as long as printed codes may be scanned. If you cannot retain it, identify affected materials and plan to replace or cover their QR codes where practical.
Common Mistakes
- Testing only the QR image on a computer. A real scan checks the printed symbol and the mobile visitor path.
- Checking only the first URL. The decoded URL may redirect through one or more other addresses before reaching the page.
- Sending every old path to the homepage. This may technically resolve the request but leaves visitors without the content they expected.
- Removing the old domain too soon. Printed codes do not update when a domain or page is retired.
- Assuming a provider-managed code is permanently editable. Verify account ownership, service availability, and any terms that could affect continued access.
- Treating a successful desktop test as proof of regional or logged-out access. Test the conditions your audience will encounter.
Best Practices
- Preserve the original QR URL and domain when possible; redirect from that stable address to the new page.
- Use a direct, relevant destination and minimize unnecessary redirect hops.
- Choose a permanent redirect for a genuinely permanent move, and use temporary redirects only when the change is temporary.
- Keep QR destinations and redirect rules in an inventory with a named owner and review date.
- Check the final page on representative phones and networks, including the expected login and regional conditions.
- If a QR provider controls the encoded URL, retain access to the account and understand what happens if the service or subscription ends.
Conclusion
To check QR code destinations after a website migration, start with the URL decoded from the printed code, then verify its redirects and test the final page on real phones under the conditions visitors will face. Keeping the original URL under your control is the most reliable way to keep already-printed materials useful.
