Link Audit

A broken link checker for Craft CMS 5. It reads your stored content, gathers every link, checks each unique address once, and shows you the entries carrying the ones that are broken.
Features
- One check per address – The footer link that appears on 3,000 pages is checked once, not 3,000 times, so you never get blocked for hammering somebody's server
- Tells you where to fix it – Every entry, field and site an address appears in is recorded, so a broken link points straight at the content carrying it
- Knows blocked from broken – LinkedIn, Cloudflare and their kind refuse robots no matter how healthy the link is. Those land on their own screen marked Unverifiable, and never count as broken
- Eight verdicts, not two – Working, Redirect, Broken, No Answer, Unverifiable, Ignored, Not safe to request, and Not checked yet
- Incremental by design – A working link is trusted for 30 days, a broken one is rechecked the next day. The first scan does the heavy lifting; later ones only revisit what has gone stale
- Patient about outages – A link that gives no answer is only called broken after failing several times in a row, because one bad afternoon on someone else's server is not news
- Reads fields, not pages – Finds links on entries with no public URL, and tells you which field each one came from
- Internal links resolved properly – Checked against your own elements and routes rather than over HTTP, so a Retour rule counts as the redirect it is
- Ignore and restore – Park the links you have decided not to chase, without losing them
- Console commands and CSV export – Full scans, incremental scans, single-URL rechecks and exports, all scriptable
- Three permissions – View reports, run scans, and manage ignores, assignable separately per user group
- Optional rendered crawl – For links hard-coded into templates. Off by default, because fetching every page is the expensive way to do it
What it reads
Stored field values, not rendered pages:
- Rich text (CKEditor and Redactor), including links inside nested entries
- Native Link fields and URL fields
- Hyper fields
- Matrix and content blocks, as deep as they go
- Navigation nodes, if you have verbb/navigation installed
- Image and iframe sources in rich text, if you turn them on
The thinking behind it
Most link checkers go page by page: load a page, check its links, move on. That falls over on a site of any size. If your footer links to a supplier, that supplier is on every page you have, and a page-by-page checker will ask them about it thousands of times in one run. Sooner or later they block you for it, everything they host turns up as broken, and the report stops being believed.
Link Audit keeps one record per unique address instead, and remembers everywhere it appears. So the check is cheap, the host stays friendly, and when something does break you know exactly which entries to open.
Perfect For
- Content-heavy sites where the same links repeat across hundreds of entries
- Editorial archives with years of outbound links quietly rotting
- Multi-site installs that need per-site reporting
- Agencies keeping client sites honest without babysitting them
- Anyone who has stopped trusting their link checker's false positives
To install this plugin, copy the command above to your terminal.
This plugin doesn't have any reviews.