Question which are on-topic on Code Review
What is the best way to motivate posters to move their posts to a better site?
"Better".
A common pattern on Stack Overflow is closing a question because "the question would be better on Code Review".
The recommendation is rarely good; most of the time the recommendation is absolutely terrible.
But what the recommender normally hasn't noticed is the toxic situation the asker is now in.
Since most recommendations to Code Review are terrible, most attempts at migration will fail.
As such the user is setting the asker up for a horrible experience on not just one, but two Stack Exchange sites.
As such only suggest migration when the question is already off-topic.
Whilst you could argue Code Review is special and gets an abnormally large amount of bad migration suggestions, Software Engineering also gets a lot of terrible suggestions.
Please do not ever suggest a user migrate an on-topic question to another site.
Questions which are off-topic on Code Review
How to best motivate posters to migrate their question to another site?
I think you're asking the wrong question.
How can I get a question migrated to another site?
Preferred: Sometimes, as you've noted, you are given the option to migrate in the close dialogue.
Many times commenting can be a good way to suggest the user post on another site.
However please explain how and why the question would be a good fit for the other site quoting a relevant meta or help center.
Doing so can help the author, and moderators, see your rationale and verify if you're correct.
Which is very important because most recommendations are terrible.
Exceptional: If you believe strongly a question should be migrated, and you've exhausted all other options you can flag the post for moderator intervention.
You can use the "in need of moderator intervention" option and provide us a clear message saying the question should be migrated.