Most Confluence sites have the same quiet problem: pages nobody has touched in years, still being read, still being trusted, and slowly becoming wrong. Nobody knows which ones,
because there are thousands.
I built a small free app that lists them. Pick a space and an age, and you get every page sorted oldest first, with how long it has been untouched and who last edited it — so there's
someone to ask.
It's deliberately one thing. No storage, no backend, no account needed. It runs as you, so it only ever shows pages you can already read.
Install Stale content on your Confluence site
Full disclosure: I built it, it's my first app, and it's free and will stay free. I should also say there are established apps that do this and a lot more — Better Content Archiving
and Analytics, Page Review Manager, Stale Page Finder. If you need owners, review workflows or auto-archiving, use those. Mine just answers "which pages are oldest" in one screen.
The actual reason I'm posting: I'd like to know what else annoys you about Confluence that no app fixes properly. Not features you'd like — the thing you work around every week and
have stopped complaining about.
I'm trying to find the next thing worth building, and I'd rather hear it from people who run these sites than guess.
Code and feature requests: https://github.com/Rsmac93/forge-stale-content
The install link in the original post is readable now, and the code is on GitHub — the link is in that post, and Issues there is the place for feature requests.
Permissions: only pages the current user can view. There's no backend and nothing stored. The frontend calls the REST API through @Forge/bridge, so every request goes out as the
signed-in user, not as the app. Scopes are read-only: read:page, read:space, search.
Performance: it paginates, 100 per request, 1,000 per batch, sorted oldest first. On a 10,000-page site the first scan gives you the 1,000 oldest and tells you how many matched in total — "Showing the 1,000 oldest of 8,432 stale pages" — with a Load more button if you want to go deeper. The batching is there so nobody waits a minute by accident; going further is a choice rather than an imposed delay.
Scope: both. Defaults to all spaces for an instance-wide snapshot, or filter to one space. Either way it's bounded by your own permissions.
The bug you caught: the space picker was only fetching the first page of spaces, so anyone with more than 250 was getting an incomplete dropdown without knowing it. Fixed. Your performance question also made me replace a vague "there are more than 1,000 matching pages" with the real number and a way to load the rest.
On search — that's exactly the kind of answer I was after, and the fact you've stopped treating it as a bug is usually the interesting signal. One question: when you fall back to filtering by space, are you looking for a page you know exists and can't surface, or checking whether one exists at all? Those feel like different problems.
Thanks again.