It’s been brought up a few times, but I don’t think there is a topic dedicated to it. There is a topic on Feverbee that I contributed to: https://experts.feverbee.com/t/is-it-possible-for-the-feverbee-blog-posts-to-be-pulled-in-full/6192. It is possible to set the Canonical URL of a WordPress post so that it matches the Discourse topic. Beyond that, I don’t think there is anything the plugin can do about the duplicate content issue.
Maybe 9 months later: this is something that keeps coming up with us too. We started posting only the excerpt to Discourse, but our members don’t like to be bounced back to the site to read the full article.
My proposal would be to offer some flexibility, so there is a choice of what type of community to make without getting dinged by Google for duplicate content:
Give members of a blog that uses Discourse the full privilege of reading and responding to an article on Discourse.
Make Discourse the ‘clubhouse’ that only shows an excerpt of the article. This does not require a canonical url set to the blogpost.
The first option would require a canonical url pointing to the blogpost that is not on Discourse. The easiest way to offer this flexibility imho is an option to set the canonical url for a topic.
An embed set canonical url site setting was recently added to Discourse. When this setting is enabled, the canonical URL for topics that have an embed URL will be set to the topic’s embed URL. For sites using the WP Discourse plugin, enabling this setting will cause the canonical URL of any posts published from WordPress to be set to the WordPress post’s URL.
This turned out to work great. It was just not obvious to me how to create a topic with a canonical URL. After some experimentation I found out you have to enter the original URL as topic title.
The embed url is an attribute that can be associated with a topic. The WP Discourse plugin sets the embed url to the permalink of the WP post. So if you use the site setting embed set canonical url the WP post permalink will be the canonical url of the discourse topic (i.e. it will appear in the head as the cannonical link).
My use case would be to create discussions in Discourse automatically from wordpress using the Discourse WordPress plugin with the embed set canonical url option enabled.
Once I connect WordPress to discouse and the new topics are created automatically, is there anything else I have to do besides enable that embed set canonical url option?