How do I mark old Confluence pages as deprecated so AI stops using them?
Archive the pages nobody should read, since Confluence quick search and Glean's Confluence connector both skip archived content. For pages you still need, add a deprecated label and exclude that label in the AI tool's crawl or search query, and put a one-line warning with a link to the replacement at the top of the page. A page status on its own is a note for people, not a filter for AI.
To mark old Confluence pages as deprecated so AI stops using them, use three marks, because AI tools read Confluence in different ways and no single flag reaches all of them. Archive the pages that are dead. Label the pages that are outdated but still useful, and exclude that label wherever your AI tool indexes or searches. Then write the warning into the first line of the page, so any tool that does read it reads the warning too. A deprecation marker is any signal on a page that tells a reader, human or model, to stop trusting it. In brief: archive, label, then write it down. The catch is that a marker only works if the tool you use checks for it, and most check only one kind.
Archive the pages nobody should read#
Archiving is the strongest mark Confluence has. Atlassian's docs say archiving "removes it from your content tree and stores it in the archive," and that "archived content is excluded from quick search and analytics" (Atlassian: archive content items). Advanced search can still include archived pages, so an agent running its own queries may still find them. Some AI tools that crawl Confluence follow suit. Glean's Confluence Cloud connector states plainly: "Archived pages are not crawled" (Glean Confluence connector docs).
Two cautions before you archive in bulk. First, space admins on Premium or Enterprise can bulk archive up to 500 items at a time, so a cleanup can move quickly. Second, a page can inherit view access from its parent, and Atlassian warns "you might be exposing it to a wider audience by archiving it." Set view restrictions on sensitive pages first.
Archive only what is truly dead. If people still open a page to see how the old system worked, archiving hides it from the humans who need it, too.
Label the rest and filter on the label#
For pages that are outdated but still referenced, such as the old auth design or last year's runbook, add a label like deprecated and filter on it where the AI looks.
- Glean: the Confluence connector can "exclude pages and blog posts with specific labels from being crawled." Exclusions take effect after the next full crawl, so expect a delay. Glean's docs say to contact your Glean representative if you need a recrawl sooner.
- Coding agents on the Atlassian MCP server: the
searchConfluencetool is described as "Search Confluence content with CQL" (Atlassian Rovo MCP supported tools). CQL supportslabel not in (draft, review)style filters (Atlassian CQL fields), so an agent can be told to addAND label != deprecated. The same server also has a natural-languagesearchtool through Rovo, and those docs do not say how it treats labels. - Tools that only scope by space: move deprecated pages into one archive space and leave it out. Unblocked, for example, lets an admin "grant access to specific spaces for Unblocked to index and search" (Unblocked Confluence docs).
Labels have one real advantage over archiving: you can search for them. A monthly CQL query for label = deprecated shows exactly what you have retired and lets someone delete it later.
Write the warning into the page itself#
Confluence's content status (Rough draft, In progress, Ready for review, or one a space admin adds, such as "Deprecated") is meant to "help set expectations for viewers and collaborators" (Atlassian: add a status). Anyone with edit permission sets it from the editor, and it sits above the title as page metadata. CQL can filter on it with pageStatus, but a tool that chunks the page body and ranks the chunks may never see it.
So put the mark in the text. Make the first line of the page something like: "Deprecated 2026-09-14. Replaced by Payments Retry Policy v2 (link). The retry count below is wrong." Add a [Deprecated] prefix to the title. Now even a tool that ignores labels and status pulls a chunk that says the page is stale, along with where the right answer lives. Keep the line short, dated and specific, so a reader can check it.
Tell the agent, but do not count on it#
You can also add a rule to your agent's instructions, such as "ignore Confluence pages labelled deprecated." It helps, but it is advice, not a filter. Anthropic's docs say Claude Code treats CLAUDE.md files "as context, not enforced configuration" (Claude Code memory docs). By the time the agent decides whether to follow the rule, the stale text is already in its context window, and that is where stale text does its damage. A September 2026 study found that an outdated retrieved document "flips 30% of Llama and 37% of Qwen answers" the models had gotten right on their own (arXiv 2609.31342). A coding agent does not have a source of truth to check the page against. Filtering at search time keeps the page out in the first place, which is why the label and the archive come first.
The pages nobody knows are stale#
Every step above depends on someone knowing a page is wrong. The page that hurts is the one nobody has marked, such as a design doc that still says three retries after a PR changed it to five. No label exists, because nobody noticed. We cover why semantic search tends to rank that page first in tools that stop AI agents from acting on stale documentation.
That is the job of a context engine. Unblocked indexes Confluence beside the code, PRs, issues and Slack, treats code as "the strongest ground truth for how the system behaves right now," and when a doc and newer sources disagree, "the engine says so rather than picking a side" (inside the Unblocked context engine). See how an AI tool weighs a recent Slack message against an old Confluence doc for how that weighing works. Mark what you know is stale with the three steps above, and let the reconciliation catch the pages you have not found yet.


