Running a link hygiene audit
Short links accumulate. Once a year, find the dead ones, the duplicates and the ones pointing somewhere embarrassing.
By ShortFreeURL Team · 21 July 2026
Why links rot
Destinations move when a site is redesigned. Campaign pages get deleted when the campaign ends. Product URLs change when the catalogue is restructured. None of those events notify the person who created the short link, so the link quietly starts returning a 404 to everyone who clicks it — including everyone scanning a QR code printed two years ago.
Start with a full export
Pull every link into a spreadsheet or a file: slug, destination, creation date, creator, last click date, total clicks, tags. You cannot audit what you cannot sort. If your platform has an API, this is a single paginated loop; if not, use the CSV export.
Check every destination for a status code
Write a short script that requests each destination and records the final status code and the final URL after following redirects. Three categories matter: anything returning 4xx or 5xx is broken, anything that lands on a different URL than recorded has silently moved, and anything that now resolves to a domain you do not own is a serious problem.
Rate-limit the checks and set a sensible user agent. Hitting your own site with several thousand requests in ten seconds is a good way to be blocked by your own WAF.
Sort by clicks, not by age
A three-year-old link with steady traffic matters more than last month's link that nobody clicked. Fix in order of recent click volume. A broken link with zero clicks in a year can simply be archived.
Find the duplicates
Group by destination. You will find the same landing page behind six different short links because six people made their own. That is not always wrong — different channels deserve different links so the analytics separate — but identical links with identical UTMs are pure noise, and consolidating them makes reports readable.
Look for links pointing at something you would not publish today
Old pricing pages, discontinued products, a partner you no longer work with, a personal Google Doc someone shortened once. Any of these can still be in circulation. This part of the audit is not about analytics; it is about not embarrassing yourself when someone scans an old flyer.
Decide the fix for each broken link
There are only three outcomes: repoint it to the closest live equivalent, repoint it to a relevant category or home page as a fallback, or expire it with a message explaining that the offer ended. Silently deleting a link so it 404s is the worst option, because the person clicking already trusted you enough to click.
Make the audit cheap to repeat
Keep the script. Run it quarterly on a schedule and have it report only the links that changed status since last time. An audit you run once is a project; one you run automatically is a control.

