The discussion centers on a user (Jim_Starkweather) noticing that newly embedded topics are now appearing as ‘Unlisted’ despite no changes to their embed code or settings. JammyDodger identifies a new site setting, import embed unlisted, which may be responsible, and suggests disabling it. Jim_Starkweather confirms finding the setting but notes confusion, suggesting it should live under the Customize > Embedding tab for consistency — pointing out a misleading UI element that appears to contain it but doesn’t. JammyDodger agrees and moves the issue to ux for consideration. simon adds depth, clarifying the distinction between import embed unlisted (for API-published topics) and the embed script’s “Imported topics will be unlisted until there is a reply” setting, and questions how RSS plugin topics are handled. They propose consolidating all embed-related settings — including embed unlisted, embed set canonical url, embed truncate, and selector controls — under per-host configurations in the Embedding page. This would allow domain-specific control, eliminate redundancy (like removing import embed unlisted), and enable testing via an ‘expand embed’ preview feature for selectors — currently nearly impossible to verify. The goal is improved UX through centralized, flexible, and testable embed configuration.
Since the last update my embedding code for showing topics on our websites (where the embed generates a new topic in the forum for new content) has started listing all the topics as “Unlisted” vs. being listed (as it had been). We haven’t made any changes to the embed code nor to the setting that controls this in Discourse which is still unchecked and thus to not show them as unlisted.
Thanks yeah I found it. Maybe it’s just me but as there are some settings for the Embedding feature in the Customize tab, maybe this should have just gone there?
I got confused for a bit by the “Imported topics will be unlisted until there is a reply” embed setting and the import embed unlisted site setting. If I’m understanding the issue correctly:
import embed unlisted (site setting) will control the unlisted behavior of topics that have an embed_url property that are published to Discourse via the API
the “Imported topics will be unlisted until there is a reply” embed setting controls the unlisted behavior of topics that are pulled in via the Discourse embed script
If this is correct, what controls the unlisted behavior of topics that are pulled into Discourse via the RSS plugin?
Probably getting off topic, but since this has been moved to the UX category, there are a few site settings that control the behavior of embedded topics:
embed unlisted
embed set canonical url
import embed unlisted
embed truncate (mirrors the “Truncate the embedded posts” embed page setting)
allowed embed selectors
blocked embed selectors (a hidden site setting, but it’s useful, for example it’s used on Meta)
If these settings could be controlled per embeddable host, it might make sense to move them from the site settings page to the embedding page. Being able to configure them per host would allow more flexibility - especially for the allowed embed selectors and blocked embed selectors settings. This would also allow the import embed unlisted setting to be removed - there would be just one setting per domain that configured whether or not its topics were published as unlisted.
For dealing with topics published via the API, for example topics published with the WordPress plugin, an embeddable host record could be created for the domain the topics are published from. The embed settings could then be configured for that domain.
Taking this a bit further, an “expand embed” preview could be added for each embeddable host record. That would make it possible to test the host’s allowed embed selector setting. Currently, that’s almost impossible to do.