There is no way to choose specifically which comments are shown when embedding. However there is a site setting embed post limit which limits how many will be attached to any given post. The default is 100.
Client-side caching in browser isn’t more edficient than server-side caching. For instance, when cache is used server-side, you deliver the HTML generated immediately. If caching client-side in browser, you’ll have tonread the cache and update your HTML, so it may not look instant to the user.
We got several Caching-Layers(Varnish, a self-written REDIS-Caching-Plugin for Wordpress and more) in this project. I think it’s not ontopic to explain the whole setup here.
The point is, that in some setup, it can make a real caching-advantage, if the cached data is not altered after every new comment. And that’s what i want to accomplish amongst others.
I had a look into the discourse-code at the weekend and tend to write my own implementation of what i need in the next weeks.
I just want to cache the HTML of a Page independent from the Comments, so i dont have to invalidate Cache-Objects in Varnish for every new comment incoming.
I’m confused, sorry. When you embed Discourse comments via JS, your comments are generated client-side, AFTER the page is loaded into the user’s browser. So you’re free to cache whatever HTML your page is: it will include the JS-comments embed code, but not the comments themselves.
I haven’t learned much about the native Discourse comments embedding via JS, but that’s how js-embedding works. Unless I misunderstood your goals.
native discourcse-js-embed-solution: lacks a possibility to control what posts are displayed in situations where hundreds of posts are posted in a thread. you can control the number of posts, but nothing like "display only the most-liked-posts, if there are more then 30 posts in the thread. But it is client-side in the way i need it - right!
wp-discourcse-plugin: The Discourse-Plugin for Wordpress implements the Discourcse-Posts as Comments in the Wordpress-Comment-Database. The Comments are implemented (as HTML) into the corresponding HTML-Document and are not integrated Client-Side.
Yes, thanks. So what you’re saying is that you’d like to have some caching of the comments HTML server-side in the Discourse’s WordPress plugin, so that the whole page HTML does not need to re-render with every load?
Bumping a super old topic. Maybe I should start a new one?
I’m not sure how things were in 2016, but Google is now indexing embedded Discourse comments. You can confirm this by searching for some of the comment content from https://blog.discourse.org/. Note that Meta hasn’t enabled the embed set canonical url setting, so you may get duplicate results when searching blog comments, or you may have to click the “Show additional results” link on Google to have blog comments returned instead of just having the Meta post returned.
My concern around this is largely SEO related. Irrelevant or negative comments can hurt SEO. Relevant comments that add additional context to a blog post can help SEO: Google On The SEO Value Of User Comments On Websites.
The WP Discourse plugin deals with this by having an Only Show Moderator Liked option to control which comments are displayed. Adding a similar feature to embedded comments would be straightforward, but would it be better to have an explicit checkbox shown to staff to determine whether or not comments get displayed on a blog post?
I’m just stating another reason to implement the feature that was asked for in the OP. I’m not overly interested in SEO, but in this case it seems straightforward.
My real question was what the UI for the feature should look like. The WordPress plugin relies on a moderator having liked a post: https://github.com/discourse/discourse/blob/main/lib/filter_best_posts.rb#L29. It would be easy to add that functionality to embedded comments, but it doesn’t seem like the ideal way to control which comments are displayed.
I’m not sure how much interest there is in promoting the use of Discourse as a comment system for websites. Maybe that deserves a separate topic.