Embedding a list of Discourse Topics in another site

What could one modify to specify multiple categories?

「いいね!」 2

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

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

「いいね!」 4

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

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

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

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

「いいね!」 7

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

「いいね!」 5

「Refused to frame」エラーが発生した方はいらっしゃいますか?

トピックの埋め込みを有効にしたところ、以下のエラーが発生しました。

Refused to frame 'https://myforumurl.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".
「いいね!」 1

サイト全体を埋め込もうとしていますか?それはうまくいきません。

OPは、他のサイトにトピックのリストを埋め込む方法を説明していますが、あなたが説明した理由により、Discourseをiframeで実行することはできません。

「いいね!」 3

最新のトピックのみです。設定で埋め込みトピックを有効にするための指示に従い、スクリプトをホストサイトのヘッダーと本文にコピーしました。テスト中の開発サイトにSSLがないことが原因かどうかはわかりません。

「いいね!」 3

これは、Discourse側ではなく、サイトのセキュリティ設定によるものです。

「いいね!」 4

動作しました。指示をよく読んでいませんでした :slight_smile:

「いいね!」 4

これはうまく機能していますが、唯一の問題は、Google が iframe URL 自体をインデックスしていることです。

たとえば、Discourse のトピックをこのページに埋め込んでいます。

Google は上記のページを正常にインデックスしているようですが、以下の URL もインデックスしています。これを修正したいと思います。

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

上記のページに meta noindex を追加する方法はありますか?または、さらに良いことに、上記のページにこの新しい Google タグを追加することはできますか?

「いいね!」 5

興味深いですね、@naderさん、ヒントをありがとうございます。この新しいタグをデフォルトで<iframe>に追加すべきでしょうか、@falcoさん、それとも設定にするべきでしょうか?

「いいね!」 4

これで完了するはずです

「いいね!」 6

すべてのクローラーに ' noindex, indexifembedded ' を提供していることを指摘しておきます。これは、新しい indexifembedded をサポートしている Google のみ対象であるべきです Google Developers です。

これは x-robots-tag: googlebot:noindex, indexifembedded に変更すべきです。

あるいは、noindex が他の検索エンジンに予期せぬ影響を与える可能性があるため、完全に削除すべきです。

「いいね!」 1

追加の単語が他のクローラーに特に害を及ぼすとは思いません。その証拠はありますか?例えば、他のクローラーがサイトに indexifembedded を使用しないように伝えていますか?

(ほとんどの場合、このようにコードを書くときは、予期しないHTMLタグは無視する傾向があります。それがHTMLのデフォルトのようなものです。)

「いいね!」 3

それは見当たりませんが、Googleのページには次のように書かれています。

現在、indexifembedded タグをサポートしているのは Google だけです。

indexifembedded は無視されることに同意しますが、私の懸念は noindex がそのページ自体のSEOに問題を引き起こすことです。

では、Bingにトピック埋め込みがあるURLをクロールさせてみましょう。Bingは、そのURLと埋め込みURLの両方をクロールします。

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

上記が noindex の場合、トピック埋め込みをフィーチャーしているページのSEOに悪影響を与えるのではないかと心配しています。

これらはすべて x-robots-tag: googlebot:noindex, indexifembedded を使用することで修正できますが、Discourseが1つの検索エンジンを優先したくない理由も理解できます。標準になることを願っていますが、今のところGoogleだけのように思えます。

「いいね!」 3

埋め込みトピックを target="_parent" ではなく target="_blank" として開くための組み込みの方法がまだないかどうか、お尋ねしたかったのです。

「いいね!」 3

トピックが1つしか表示されないのはなぜか、ただ気になっただけです。誰か知りませんか?

こちらがカテゴリです(多くのトピックがあります):Amazon Specific - eCommerce Sellers Forum

そして埋め込みコードです:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

しかし、表示されるのは1つのトピックだけです:

:thinking:

「いいね!」 2