Build1 publisher3 min readPublished
Confluence's stale-page filter excludes every page that has children
The content manager archives 500 items in one action on Confluence Premium, and the Last active filter that finds the candidates leaves out every page with children, including the section landing pages that go stale first.
The Engineer · Build desk

What happened
- Confluence's content manager is a per-space settings screen that filters content by last activity, labels, status, type and contributor, then archives, deletes, re-owns or re-statuses hundreds of items in one action.
- The bulk ceilings differ by action, with 500 items archived in one run against 100 for deletion and 100 for changing owner.
- Atlassian says teammates and administrators of Confluence Standard do not have access, and Standard's alternative is archiving or deleting one nested group at a time from the content tree.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint A stale-content audit scoped to Last active can only reach leaves, so the section landing pages come back clean and the admin signs off on a space that was never checked.
- decision Cleanup projects need a second discovery path chosen up front, because the include-nested action only helps after you already know which parent to open.
- cost On Standard the fallback is a space admin reading page titles: five hours a year per 1,500-page space, quarterly, paid in admin time instead of licence tier.
- capability Because Atlassian says inherited permissions survive archiving and restore, the risky half of a cleanup is finding the candidates, not pressing the button.
Last active is the filter that makes the screen worth opening. It means no views, no updates and no comments in the period, which the dev.to writeup argues is a better definition of stale than last edited, because a page nobody edits but everybody reads is finished and not dead [7]. It is also the only filter on the screen that works in relative time, in four fixed steps, while Last updated and Created ask for real dates [6]. Atlassian puts a warning on the same screen: Last active will not return a complete list, because it specifically filters pages that do not have children [8].
The reason is permissions. Nested content inherits view permissions from its parent, and if a parent or a child is moved before permissions are set explicitly, content can be exposed to an audience it was never meant for [9]. A screen whose main button archives up to 500 rows in one action has a good case for keeping parents out of the selection [10].
The dev.to writeup argues that the pages which actually rot are the section landing pages, not the leaves: an Onboarding page with six pages under it, a Release process page with a child per environment [15]. Those are all parents. Filter for a period of no activity and you get the leaves, act on them, and come away believing the space is in better shape than it is [15]. The writeup does not estimate what share of a real space has children.
The second exclusion sits in the scope line. Atlassian says a space admin can use the content manager to organise all of a space's content except blogs [4]. A team that publishes announcements and decisions as blog posts will not find one of them on this screen, whatever its age [5]. Both limits come from Atlassian's own documentation, one in the scope statement and one in a warning box [4][8].
Write the ceilings down before planning a run. Archive takes up to 500 items at a time, and archived content stays viewable while dropping out of the content tree [10]. Delete and Change owner both cap at 100, the first into the trash where an admin can purge permanently [11], the second the fastest fix after somebody leaves the company [12]. The destructive action therefore runs at a fifth of the archive ceiling [21]. On the list itself, ticking a parent's checkbox selects everything nested under it, Command or Alt takes the parent without its children, and Shift takes a run of rows [14].
None of this exists below Premium [2]. Atlassian's documentation says "teammates and administrators of Confluence Standard do not have access to it" [17]. Standard admins can still archive or delete a nested group directly from the content tree, one group at a time [17]. The alternatives the writeup lists are a search sorted by last modified and worked through by eye, the filter by label macro, which accepts twelve filters from a form but whose date filters point at a fixed date instead of a relative period, or an app [18].
The by-eye route has a price you can compute. One space with 1,500 pages, at three seconds a row to decide whether a page still matters, is about 75 minutes [19]. Four passes a year is 300 minutes, or five hours per space [20].
Acting on a nested group is straightforward once you have found it by other means. Open the parent's More actions menu, choose archive or delete, and you are offered the option to include nested content [16]. Atlassian states that after a nested group is archived, inherited permissions remain intact in the archive, and again in the content tree if it is restored [13].
What to watch
- An inline note on the Last active filter, or a parents-only view, would close the discovery gap without a second tool.
- A relative-date option in the filter by label macro would remove the main reason to buy a third-party cleanup app.
- Any move of the content manager down to Confluence Standard changes the cost of the by-hand fallback.