# Embedding, but don't automatically create a topic until a user chooses to comment

**URL:** https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450
**Category:** Feature
**Tags:** pr-welcome
**Created:** [9월 23, 2015, 9:03오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450 "2015-09-23T09:03:12Z")
**Posts on this page:** 17
**Page:** 3

<div class="post-metadata">

### Author: ![dashohoxha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dashohoxha/32/116008_2.png) [@dashohoxha](https://meta.discourse.org/u/dashohoxha)
#### Post date: [12월 9, 2017, 8:26오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/41 "2017-12-09T08:26:38Z")

</div>

> [@sam](#):
>
> it should just be the default behavior

I support it being the default behavior.  
It does not harm small sites with a few pages if the topic is created only during the first comment attempt.  
On the other hand it keeps the implementation simpler if you support only one behavior, instead of having to support two different behaviors that are controlled by a “switch”.

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [12월 9, 2017, 10:00오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/42 "2017-12-09T10:00:11Z")

</div>

Another possible approach, which I believe also has other use cases:

> [@Category setting: unhide topic from latest when there is a reply](https://meta.discourse.org/t/category-setting-unhide-topic-from-latest-when-there-is-a-reply/71397):
>
> I’m interested in creating some categories where people are encouraged to create new topics liberally (for example, sharing links or “TIL” type posts). I’m concerned about this cluttering up the front page and I’m aware of the “hide topics in this category from latest” setting. Many of the topics would likely receive no replies. But on occasion, I think some of these topics could spark a discussion. It’d be cool if there were an option to auto-unhide the topic from latest once there were a r…

---

<div class="post-metadata">

### Author: ![dashohoxha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dashohoxha/32/116008_2.png) [@dashohoxha](https://meta.discourse.org/u/dashohoxha)
#### Post date: [12월 9, 2017, 11:59오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/43 "2017-12-09T11:59:37Z")

</div>

> [@sam](#):
>
> I am open to changing this so the comment link goes to an interstitial webpage, which would initiate the crawlback if needed and then take you to the topic.
> 
> So:
> 
> User clicks “[http://discourse.mysite.com/comments?url=https://mainsite.com&user-click=true”](http://discourse.mysite.com/comments?url=https://mainsite.com&user-click=true%E2%80%9D) : note user-click=true must be appended via JavaScript to avoid crawlers creating topic.
> 
> If the Discourse topic already exists, discourse redirects to it.
> 
> If the Discourse topic does not exist (and user-click is true), initiate crawlback, if successful and topic is created, redirect to it.
> 
> There would be a possible few second delay on “show comments” click (we could display a glorious hamster on a treadmill creating the topic or something along those lines when stuff is held up), JavaScript crawlers could mess stuff up (though they are quite rare and the /comments path or whatever should be excluded in robots.txt)
> 
> eviltrout:
> 
> I think this could work within our constraints, but would be at least a day or two of work for us. I unfortunately can’t see us prioritizing this any time soon as the typical use case is fine for most people who don’t have millions of articles.
> 
> I agree, as a team we just can’t prioritize this at the moment, there is about 1-2 days work in nutting out the change I proposed bit I think my “mini” spec is sound (@eviltrout ? )
> 
> I am putting #pr-welcome on this in case the community feels like contributing.

@erlend_sh can we add this feature as a project for GSoC 2018?

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [12월 11, 2017, 8:03오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/44 "2017-12-11T08:03:47Z")

</div>

I’ll consider it when we’re applying next year.

---

<div class="post-metadata">

### Author: ![dashohoxha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dashohoxha/32/116008_2.png) [@dashohoxha](https://meta.discourse.org/u/dashohoxha)
#### Post date: [12월 11, 2017, 8:19오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/45 "2017-12-11T08:19:24Z")

</div>

> [@erlend\_sh](#):
>
> I’ll consider it when we’re applying next year.

Thanks. Applications start next month, isn’t it?

> **[Google Summer of Code Timeline  |  Google for Developers](https://developers.google.com/open-source/gsoc/timeline)**

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [12월 11, 2017, 8:23오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/46 "2017-12-11T08:23:44Z")

</div>

Yes. They’re opening the doors earlier than ever now.

---

<div class="post-metadata">

### Author: ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)
#### Post date: [1월 15, 2018, 7:15오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/47 "2018-01-15T07:15:11Z")

</div>

I just want to add that I would be willing to (co)fund this feature if the GSoC / Outreachy route doesn’t work for whatever reason.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [1월 16, 2018, 9:05오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/48 "2018-01-16T09:05:31Z")

</div>

We don’t have any immediate plans for this so if you want to expedite this you should post in the #Marketplace.

Thanks for being willing to sponsor!

---

<div class="post-metadata">

### Author: ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)
#### Post date: [1월 16, 2018, 10:24오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/49 "2018-01-16T10:24:16Z")

</div>

I am happy to bring this feature request to the #Marketplace.

Before that, could you advise on the desired implementation, if only by linking to the related post in this thread? This topic is long and contains several ideas. I just want to make sure that the [paid] request corresponds to the PR you are welcoming.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [1월 16, 2018, 11:56오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/50 "2018-01-16T11:56:42Z")

</div>

You can choose between two different implementations. Pick the one that best solves your use case.

Robin’s proposal is #pr-welcome and is likely the best way to do this. Hopefully the “topic import” could also include a custom topic date, so that the date of the topic matches the original article date, whereas the first reply will be dated according to whenever the first reply is posted.

> [@Embedding, but don't automatically create a topic until a user chooses to comment](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/22):
>
> It’s unfortunately a somewhat unique situation for us. Most large blogs we’ve attached comments to have several thousand articles, not millions. I imagine we could do it like this: Instead of linking to the topic, the first commenter would link to a new “create topic” route. It would display text such as “You are the first to comment on this article” and the composer would pop up. Upon submitting the post, they would see a spinner until the topic is imported with the post as a reply. W…

My proposal might only be acceptable as a plugin. We’d have to see how it’s implemented first:

> [@Embedding, but don't automatically create a topic until a user chooses to comment](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/15):
>
> I see your predicament. But instead of the potentially messy solutions discussed so far, what if the topics are indeed created normally, but until they have a reply, they are unlisted, i.e. not visible in the forum stream and only accessible via a direct link. Would that be an acceptable compromise? In other words, the basic spec request becomes something like this: Option to set topics generated for embedded comments as unlisted by default. Special flag that can be put on selected unlisted …

---

<div class="post-metadata">

### Author: ![dashohoxha](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dashohoxha/32/116008_2.png) [@dashohoxha](https://meta.discourse.org/u/dashohoxha)
#### Post date: [1월 16, 2018, 7:27오후 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/51 "2018-01-16T19:27:08Z")

</div>

I would also prefer the Robin’s proposal.

---

<div class="post-metadata">

### Author: ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)
#### Post date: [1월 18, 2018, 10:42오후 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/52 "2018-01-18T22:42:33Z")

</div>

As I was creating the topic for the [paid] job, I started to think about the implementation details of Robin’s proposal, and I thought about a perhaps simpler alternative that would work better for our site: creating the topic when a user clicks the link.

The interesting thing about humans clicking the link is that such action denotes a level of interest. Even when a site has million of pages, it is very likely that only a fraction of them will get that interested human clicking the link.

Considerations:

- What about search engines and other bots? For starters, we can start by putting our hopes in a `rel="nofollow"`.

- An alternative would be to put the sign up / log in dialog upfront, which is anyway required to post a reply. The topic would be created once the user has been identified.

- What about the time it takes to create the new topic? First, how many seconds is that approximately? I think users would understand if we present a dialog with a spinner saying “You are the first user replying. A new discussion topic is being created for you.”

- What about users not posting any reply at the end? That would be fine. The big filtering compared to topics created by pages loaded has already happened. In some cases (like our website) those cloned topics without responses are also useful, because they enter the radar of the regular users who mainly watch the forum.

- Note that this procedure would allow users to simply Like a post without replying, also an interesting input.

What do you think?

---

<div class="post-metadata">

### Author: ![notriddle](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/notriddle/32/133055_2.png) [@notriddle](https://meta.discourse.org/u/notriddle)
#### Post date: [1월 18, 2018, 11:21오후 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/53 "2018-01-18T23:21:06Z")

</div>

> [@icaria36](#):
>
> What about the time it takes to create the new topic? First, how many seconds is that approximately? I think users would understand if we present a dialog with a spinner saying “You are the first user replying. A new discussion topic is being created for you.”

I bet engagement goes down by half if you do that.

---

<div class="post-metadata">

### Author: ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)
#### Post date: [1월 18, 2018, 11:31오후 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/54 "2018-01-18T23:31:39Z")

</div>

Depends on the time it takes to create a page, and this is why I ask. Testing casually in my site, a new topic is created 1-2 seconds after loading a page on an external site.

This is perfectly assumable, especially if this can be implemented with the `nofollow` link alone. Already registered users will be logged in or can log in quickly, they know what they are doing and they can wait the extra second or two. Anonymous users will have to sign up first, and this is where the real disengagement barrier comes.

---

<div class="post-metadata">

### Author: ![erlend\_sh](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/erlend_sh/32/119475_2.png) [@erlend\_sh](https://meta.discourse.org/u/erlend_sh)
#### Post date: [1월 19, 2018, 9:34오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/55 "2018-01-19T09:34:48Z")

</div>

> [@icaria36](#):
>
> What do you think?

Trying to simplify is always appreciated but I don’t see how this is meaningfully different from @eviltrout’s proposal. I suppose it might be a slightly more achievable MVP.

Feel free to go with your own proposal; after all, you’re paying for it!

---

<div class="post-metadata">

### Author: ![icaria36](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/icaria36/32/426431_2.png) [@icaria36](https://meta.discourse.org/u/icaria36)
#### Post date: [1월 21, 2018, 4:48오후 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/56 "2018-01-21T16:48:59Z")

</div>

Alright:

> [@\[paid\] Preference to create & embed a topic via JavaScript only when a user clicks the "Start Discussion" link](https://meta.discourse.org/t/paid-preference-to-create-embed-a-topic-via-javascript-only-when-a-user-clicks-the-start-discussion-link/78593):
>
> What would you like done? Currently when [Embedding Discourse Comments via Javascript](https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963), a new Discourse topic is created whenever the corresponding external page is being loaded. The feature requested consists on creating the topic only when a user would click the “Start Discussion” link in the external page. Details: This preference could be defined per host at /admin/customize/embedding. The “Start Discussion” link would include a rel="nofollow" in order to avoid as much as possible the crea…

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [12월 4, 2025, 11:37오전 UTC](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450/57 "2025-12-04T11:37:02Z")

</div>



[Previous page](https://meta.discourse.org/t/embedding-but-dont-automatically-create-a-topic-until-a-user-chooses-to-comment/61450.md?page=2)
