Embedding a list of Discourse Topics in another site

What could one modify to specify multiple categories?

2 Mi Piace

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 Mi Piace

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

4 Mi Piace

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 Mi Piace

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 Mi Piace

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

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

7 Mi Piace

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

5 Mi Piace

Qualcuno riceve errori di tipo “Refused to frame”?

Ho abilitato gli argomenti di incorporamento e ricevo

Refused to frame 'https://myforumurl.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
1 Mi Piace

Stai cercando di incorporare l’intero forum in un altro sito? Non funzionerà.

L’OP descrive come incorporare elenchi di argomenti su un altro sito, ma non è possibile eseguire Discourse in un iframe per le ragioni che descrivi.

3 Mi Piace

No, solo gli argomenti più recenti. Ho seguito le istruzioni per abilitare l’argomento di incorporamento nelle impostazioni e ho copiato gli script nell’intestazione e nel corpo del sito host. Non sono sicuro se l’errore sia causato dal fatto che il sito di sviluppo su cui lo sto testando non ha SSL.

3 Mi Piace

Questo è dovuto alle impostazioni di sicurezza del tuo sito, non da parte di Discourse.

4 Mi Piace

Ci ho lavorato. Non avevo letto attentamente le istruzioni :slight_smile:

4 Mi Piace

Quindi questo sta funzionando alla grande, il mio unico problema è che Google sta indicizzando l’URL dell’iframe stesso

Ad esempio, ho argomenti Discourse incorporati in questa pagina

Google sembra indicizzare la pagina sopra OK… ma sta anche indicizzando gli URL sottostanti che vorrei correggere

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

C’è un modo per ottenere un meta noindex sulle pagine sopra? O ancora meglio, ottenere questo nuovo tag di Google sulle pagine sopra

5 Mi Piace

Interessante, grazie per il suggerimento @nader.. dovremmo aggiungere questo nuovo tag all’ <iframe /> per impostazione predefinita @falco, o renderlo un’impostazione?

4 Mi Piace

Questo dovrebbe bastare

6 Mi Piace

Volevo solo segnalare che questo sta servendo ' noindex, indexifembedded ' a tutti i crawler, anche se è solo Google che supporta il nuovo indexifembedded

Questo dovrebbe probabilmente cambiare in x-robots-tag: googlebot:noindex, indexifembedded

O essere rimosso completamente poiché il noindex potrebbe avere conseguenze impreviste su altri motori di ricerca.

1 Mi Piace

Dubito che la parola aggiuntiva sia particolarmente dannosa per altri crawler. Hai prove che sia così, ad esempio altri crawler dicono ai siti di non usare indexifembedded?

(Il più delle volte, quando si scrive codice in questo modo, si tendono a ignorare i tag HTML che non ci si aspetta, questa è una sorta di impostazione predefinita per HTML.)

3 Mi Piace

Non vedo questo, ma nella pagina di Google dice:

Attualmente, solo Google supporta il tag indexifembedded.

Concordo sul fatto che ignoreranno indexifembedded, la mia preoccupazione però è che noindex causi problemi SEO per la pagina su cui si trova.

Quindi, lasciamo che Bing esegua il crawling di un URL che ha embed di argomenti. Esegue il crawling di quell’URL e anche dell’URL di embed

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

Se quanto sopra è noindex, temo che danneggi la SEO della pagina che presenta l’embed dell’argomento.

Tutto questo è risolto usando x-robots-tag: googlebot:noindex, indexifembedded, ma si potrebbe capire perché Discourse potrebbe non voler favorire 1 motore di ricerca. Speriamo che diventi uno standard, ma per ora sembra che sia solo Google.

3 Mi Piace

Ciao! Volevo solo chiedere se non c’è ancora un modo integrato per far aprire gli argomenti incorporati con target="_blank" invece di target="_parent"

3 Mi Piace

Sono solo curioso del motivo per cui riesco a visualizzare solo 1 argomento? Qualcuno lo sa?

Ecco la categoria (che ha molti argomenti): Amazon Specific - eCommerce Sellers Forum

E il codice di incorporamento:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

Ma appare solo un argomento:

:thinking:

2 Mi Piace