Embedding a list of Discourse Topics in another site

What could one modify to specify multiple categories?

2 „Gefällt mir“

Should I expect this to work when the “other site” is running locally at http://localhost:8000 and the Discourse site is non-local on an https subdomain? Or would the “other site” also need to be on a “real” domain?

The script file appears to be fetched fine and I don’t see errors in the JS console. The “other site” is a Gatsby/React site; I’m adding the <d-topics-list> element once the page is rendered in the browser via useEffect, and it looks correct to me in the live DOM (see screenshot)…

Screen Shot 2021-05-19 at 9.21.08 AM

2 „Gefällt mir“

Going from https to http usually causes problems, but you can confirm by opening your browser console F12.

4 „Gefällt mir“

Aha, my issue appears to be that React is messing with the client-side DOM, resetting it to match the server-rendered DOM (with the raw <d-topics-list> element) immediately after the embed-topics.js script inserts the iframe.

5 „Gefällt mir“

Anyone know what this error is about??

Latest Discourse Build
Latest Chrome Browser

Refused to frame ‘https://vapingcommunity.co.uk/’ because an ancestor violates the following Content Security Policy directive: “frame-ancestors ‘self’”.

3 „Gefällt mir“

Most likely related to this change: (cc @falco)

Do you have your main site registered under Admin > Customize > Embedding?

7 „Gefällt mir“

Bingo! Didn’t see that change, all working perfectly again, thanks so much :wink:

5 „Gefällt mir“

Erhalten Sie Fehler wie „Refused to frame“?

Ich habe die Einbettung von Themen aktiviert und erhalte Folgendes:

Refused to frame 'https://myforumurl.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
1 „Gefällt mir“

Versuchen Sie, Ihr gesamtes Forum in eine andere Website einzubetten? Das funktioniert nicht.

Der Ersteller des Beitrags beschreibt, wie man Themenlisten auf einer anderen Website einbettet, aber Sie können Discourse nicht in einem iFrame ausführen, aus den von Ihnen beschriebenen Gründen.

3 „Gefällt mir“

Nein, nur die neuesten Themen. Ich habe die Anweisungen befolgt, um das Einbetten von Themen in den Einstellungen zu aktivieren, und die Skripte in den Header und Body der Host-Website kopiert. Ich bin mir nicht sicher, ob der Fehler dadurch verursacht wird, dass die von mir getestete Entwicklungs-Website kein SSL hat.

3 „Gefällt mir“

Dies liegt an den Sicherheitseinstellungen auf Ihrer Website, nicht auf der Discourse-Seite.

4 „Gefällt mir“

Hab es zum Laufen gebracht. Habe die Anweisungen nicht sorgfältig genug gelesen :slight_smile:

4 „Gefällt mir“

Das funktioniert großartig, mein einziges Problem ist, dass Google die iframe-URL selbst indexiert.

Zum Beispiel habe ich Discourse-Themen auf dieser Seite eingebettet.

Google scheint die obige Seite in Ordnung zu indexieren… aber es indexiert auch die unten stehenden URLs, was ich gerne beheben würde.

https://discuss.flynumber.com/embed/topics?discourse_embed_id=de-zse3f2nh3&template=complete&search=Romania&per_page=5

Gibt es eine Möglichkeit, die obigen Seiten mit einem Meta-Noindex zu versehen? Oder noch besser, diesen neuen Google-Tag auf den obigen Seiten zu platzieren?

5 „Gefällt mir“

Interessant, danke für den Tipp @nader.. sollen wir diesen neuen Tag standardmäßig zum <iframe> hinzufügen @falco, oder ihn zu einer Einstellung machen?

4 „Gefällt mir“

Das sollte es tun

6 „Gefällt mir“

Ich wollte nur darauf hinweisen, dass dies ' noindex, indexifembedded ' für alle Crawler bereitstellt, obwohl es nur Google ist das die neue indexifembedded unterstützt.

Dies sollte wahrscheinlich zu x-robots-tag: googlebot:noindex, indexifembedded geändert werden.

Oder komplett entfernt werden, da das noindex unvorhergesehene Folgen für andere Suchmaschinen haben könnte.

1 „Gefällt mir“

Ich bezweifle, dass das zusätzliche Wort für andere Crawler besonders schädlich ist. Haben Sie Beweise dafür, dass dies der Fall ist, z. B. raten andere Crawler Websites davon ab, indexifembedded zu verwenden?

(Meistens ignoriert man beim Schreiben von Code wie diesem HTML-Tags, die man nicht erwartet, das ist sozusagen der Standard für HTML.)

3 „Gefällt mir“

Ich sehe das nicht, aber auf der Google-Seite steht

Derzeit unterstützt nur Google das indexifembedded-Tag.

Ich stimme zu, dass sie indexifembedded ignorieren werden. Meine Sorge ist jedoch, dass noindex SEO-Probleme für die Seite verursacht, auf der sie sich befindet.

Lassen Sie uns also Bing eine URL crawlen lassen, die Topic-Embeds hat. Es crawlt diese URL und crawlt auch die Embed-URL

/embed/topics?discourse_embed_id=XXXXXX....

Wenn das oben noindex ist, mache ich mir Sorgen, dass es die SEO für die Seite beeinträchtigt, die das Topic-Embed anzeigt

Dies wird alles behoben, indem x-robots-tag: googlebot:noindex, indexifembedded verwendet wird, aber ich verstehe, warum Discourse möglicherweise nicht 1 Suchmaschine bevorzugen möchte. Hoffentlich wird dies zum Standard, aber vorerst scheint es nur Google zu sein.

3 „Gefällt mir“

Hallo! Ich wollte nur fragen, ob es immer noch keine integrierte Möglichkeit gibt, eingebettete Themen als target="_blank" anstatt als target="_parent" zu öffnen.

3 „Gefällt mir“

Ich frage mich nur, warum ich nur 1 Thema angezeigt bekomme? Weiß das jemand?

Hier ist die Kategorie (die viele Themen hat): Amazon Specific - eCommerce Sellers Forum

Und der Einbettungscode:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

Aber es erscheint nur ein Thema:

:thinking:

2 „Gefällt mir“