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 إعجابات

إذًا، هذا يعمل بشكل رائع، مشكلتي الوحيدة هي أن جوجل تفهرس عنوان URL الخاص بالإطار المضمن نفسه.

على سبيل المثال، لدي مواضيع Discourse مضمنة في هذه الصفحة.

يبدو أن جوجل تفهرس الصفحة المذكورة أعلاه بشكل جيد… ولكنها تفهرس أيضًا عناوين URL أدناه، والتي أود إصلاحها.

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

هل هناك طريقة للحصول على علامة meta noindex على الصفحات المذكورة أعلاه؟ أو الأفضل من ذلك، الحصول على علامة جوجل الجديدة هذه على الصفحات المذكورة أعلاه؟

5 إعجابات

شكرا على النصيحة يا @nader.. هل يجب أن نضيف هذا الوسم الجديد إلى <iframe> افتراضيًا يا @falco، أم نجعله إعدادًا؟

4 إعجابات

هذا يجب أن يفي بالغرض

6 إعجابات

أردت فقط أن أشير إلى أن هذا يخدم ' noindex, indexifembedded ' لجميع الزواحف على الرغم من أنه جوجل فقط الذي يدعم الجديد indexifembedded

ربما يجب تغيير هذا إلى x-robots-tag: googlebot:noindex, indexifembedded

أو إزالته تمامًا حيث يمكن أن يكون لـ noindex عواقب غير متوقعة على محركات البحث الأخرى.

إعجاب واحد (1)

أشك في أن الكلمة الإضافية تضر الزواحف الأخرى بشكل خاص. هل لديك أي دليل على أن هذا هو الحال، على سبيل المثال، هل تخبر أي زواحف أخرى المواقع بعدم استخدام indexifembedded؟

(في معظم الأحيان عند كتابة تعليمات برمجية كهذه، فإنك تميل إلى تجاهل أي علامات HTML لا تتوقعها، وهذا هو الوضع الافتراضي لـ HTML.)

3 إعجابات

لا أرى ذلك ولكن في صفحة جوجل تقول

حاليًا، تدعم جوجل فقط علامة indexifembedded.

أتفق على أنهم سيتجاهلون indexifembedded، لكن قلقي هو أن noindex يسبب مشاكل في تحسين محركات البحث للصفحة التي توجد عليها.

لذا دعنا نسمح لـ bing بالزحف إلى عنوان URL يحتوي على تضمينات للمواضيع. يقوم بالزحف إلى عنوان URL هذا وأيضًا الزحف إلى عنوان URL المضمن

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

إذا كان ما سبق هو noindex، فأنا قلق من أنه يضر بتحسين محركات البحث للصفحة التي تعرض تضمين الموضوع

كل هذا يتم إصلاحه باستخدام x-robots-tag: googlebot:noindex, indexifembedded ولكن يمكنني فهم سبب عدم رغبة Discourse في تفضيل محرك بحث واحد. نأمل أن يصبح هذا معيارًا ولكن في الوقت الحالي يبدو أنه جوجل فقط.

3 إعجابات

مرحباً! أردت فقط أن أسأل عما إذا كانت لا تزال هناك طريقة مدمجة لجعل المواضيع المضمنة تفتح كـ target=" _blank " بدلاً من target=" _parent "

3 إعجابات

فضولي فقط لماذا لا يمكنني الحصول على عرض سوى موضوع واحد؟ هل يعرف أحد؟

هذه هي الفئة (التي تحتوي على العديد من المواضيع): 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>

لكن يظهر موضوع واحد فقط:

:thinking:

إعجابَين (2)