Several times a day, something like this happens:
- User posts an off-topic question on Stack Overflow.
- Stack Overflow users are very eager to tell them "Wrong site! You should ask on SuperUser!!!1".
- The OP posts their question on Super User.
- At the same time, off-topic/migration votes trickle in.
- Sooner or later, the OP has the same question migrated to Super User.
Now, the main problem is that – if it's necessary to post this at all – the comment should rather say, "Your question belongs on Super User, wait for it to be migrated there and don't post again.".
However, you can't get all users to do that. Want another example?
This results in a great moderation overhead on the target site. We will have to deal with:
- Finding the duplicate between several revisions of the same post
- Accumulating enough duplicate close-votes (this is harder than it seems if you don't have enough active users with the necessary reputation)
- Merging answers and comments
- Telling the OP to stop cross-posting
- Telling the OP that it's not okay to cross-post, even if they were encouraged to do so
Therefore – similarly to Block migration if user is suspended/question-blocked at destination – I propose the following filter:
If a migration procedure is triggered, the target site should be checked for already posted questions with exactly same content. If there already is one, block the migration and close the question as off-topic on the initial site.
Alternatively, as per Gilles' answer:
If a migration procedure is triggered, the target site should be checked for already posted questions with exactly same content. If there already is one, migrate and merge those questions.
There are some optimizations that could be implemented to reduce the search costs involved:
- If there already is an associated user account, check this account first, as it is likely the one being used for cross-posting.
- If the former is true, do a simple check for titles in this user's questions.
- Only compare against first revisions on the target site. If a user copy/pastes the content, it doesn't matter how it was changed on the target site (e.g. Super User).
- Only search for questions posted after the date the original (e.g. Stack Overflow) question was posted. This is valid for the cases I mentioned in my example above and obviously doesn't work when the OP posts to multiple sites simultaneously. Maybe it would be an idea to make it a more fuzzy search.