On-demand link scanning for Confluence Cloud. It resolves internal page references, then groups the results by what's actually broken โ so a page everyone linked to is one job, named at the top of the queue, not a row you meet again and again. Read-only, with the minimum scopes โ and nothing leaves Atlassian: external links are reported as skipped, not silently marked healthy.
Illustration โ a drawing, not a screenshot. It redraws the result of a real scan: the deployed app, running on our Confluence development site against a seeded 7-page demo space with external link checks off, reported 7 pages ยท 6 broken ยท 0 need a look and led with the banner โFix these first โ 1 link broken on more than one page ยท ::Onboarding Checklist 2024 โ broken on 3 pages.โ Six red rows, four dead targets โ one of them is half the queue on its own. The skipped-links note is drawn in the wording of the 2026-09-24 build; the count, 8 links skipped, is the one the deployed app reported. Reproduce it with scripts/seed-showcase.js.
Captured screenshots go up with the Marketplace listing.
Confluence has no built-in way to find broken links across a whole space. Link Health scans on demand and reports them โ without writing to your content or pulling it out of Atlassian.
Internal page references are resolved against the space's own page list, with a few bounded Confluence lookups to confirm misses โ nothing leaves Atlassian. Every issue carries a reason and a severity, so you fix real problems, not noise. External links are out of scope by design โ the App makes no requests outside Atlassian โ and are reported as skipped.
It requests no Confluence write scope; its only storage is its own app storage. The per-space ignore list lives there and never writes back to your Confluence pages.
When the same missing page is referenced from many pages, a repeated-targets banner leads the screen with the target and its page count โ one fix instead of a chase. In our seeded demo scan, six red rows came down to four real problems โ and one of them was half the queue. Each affected page still gets its own row and a deep link into its editor.
Nothing leaves Atlassian: the app declares no external permissions and no remote hosts, which is why it is eligible for the Runs on Atlassian program. External links are reported as skipped, never checked.
One edition, billed per user per month through Atlassian's own cloud billing. Free for small teams; the per-user rate falls as you scale.
Free. The whole app, no charge โ the fix queue, the grouping banner, the editor deep links.
$0.60/user at 100, $0.30 at 250, $0.12 at 1,000, and $0.08/user from 2,500 to Unlimited.
Atlassian's standard model: once a site passes the free tier, the first tier's rate applies to every user up to 100; above that, each tier's rate applies to the users in that tier. The annual price is ten times the monthly. These are starting prices and may change โ the current ladder is always the one shown on the Atlassian Marketplace listing.