Intégration d'une liste de sujets Discourse dans un autre site

Que pourrait-on modifier pour spécifier plusieurs catégories ?

2 « J'aime »

Puis-je m’attendre à ce que cela fonctionne lorsque le « autre site » s’exécute localement sur http://localhost:8000 et que le site Discourse est non local sur un sous-domaine https ? Ou le « autre site » devrait-il également être sur un « vrai » domaine ?

Le fichier de script semble être récupéré correctement et je ne vois pas d’erreurs dans la console JS. Le « autre site » est un site Gatsby/React ; j’ajoute l’élément <d-topics-list> une fois la page rendue dans le navigateur via useEffect, et il semble correct pour moi dans le DOM en direct (voir capture d’écran)…

Screen Shot 2021-05-19 at 9.21.08 AM

2 « J'aime »

Passer de https à http cause généralement des problèmes, mais vous pouvez le confirmer en ouvrant la console de votre navigateur F12.

4 « J'aime »

Aha, mon problème semble être que React modifie le DOM côté client, le réinitialisant pour qu’il corresponde au DOM rendu côté serveur (avec l’élément brut <d-topics-list>) immédiatement après que le script embed-topics.js a inséré l’iframe.

5 « J'aime »

Quelqu’un sait de quoi il s’agit avec cette erreur ??

Dernière version de Discourse
Dernier navigateur Chrome

Le chargement de la frame ‘https://vapingcommunity.co.uk/’ a été refusé car un ancêtre viole la directive de politique de sécurité du contenu suivante : “frame-ancestors ‘self’”.

3 « J'aime »

Probablement lié à ce changement : (cc @falco)

Avez-vous enregistré votre site principal dans Admin > Personnaliser > Intégration ?

7 « J'aime »

Bingo ! Je n’avais pas remarqué ce changement, tout fonctionne parfaitement à nouveau, merci beaucoup :wink:

5 « J'aime »

Quelqu’un obtient-il des erreurs « Refused to frame » ?

J’ai activé les sujets intégrés et j’obtiens

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

Essayez-vous d’intégrer l’intégralité de votre forum sur un autre site ? Cela ne fonctionnera pas.

L’OP décrit comment intégrer des listes de sujets sur un autre site, mais vous ne pouvez pas exécuter Discourse dans une iframe pour les raisons que vous décrivez.

3 « J'aime »

Non, juste les derniers sujets. J’ai suivi les instructions pour activer le sujet intégré dans les paramètres et copié les scripts dans l’en-tête et le corps du site hôte. Je ne suis pas sûr si l’erreur est causée parce que le site de développement sur lequel je le teste n’a pas le SSL.

3 « J'aime »

Ceci est dû aux paramètres de sécurité de votre site, et non de Discourse.

4 « J'aime »

Ça fonctionne. Il suffisait de lire attentivement les instructions :slight_smile:

4 « J'aime »

Ceci fonctionne très bien, mon seul problème est que Google indexe l’URL de l’iframe elle-même

Par exemple, j’ai des sujets Discourse intégrés sur cette page

Google semble indexer la page ci-dessus correctement… mais il indexe également les URL ci-dessous, ce que j’aimerais corriger

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

Y a-t-il un moyen d’ajouter une balise meta noindex sur les pages ci-dessus ? Ou encore mieux, d’ajouter cette nouvelle balise Google sur les pages ci-dessus

5 « J'aime »

Intéressant, merci pour l’astuce @nader.. devrions-nous ajouter cette nouvelle balise à l’<iframe> par défaut @falco, ou en faire un paramètre ?

4 « J'aime »

Ça devrait le faire

6 « J'aime »

Je voulais juste signaler que ceci sert le ' noindex, indexifembedded ' à tous les robots d’exploration, même si ce n’est que Google qui prend en charge le nouveau indexifembedded

Cela devrait probablement être changé en x-robots-tag: googlebot:noindex, indexifembedded

Ou supprimé complètement car le noindex pourrait avoir des conséquences imprévues sur d’autres moteurs de recherche.

1 « J'aime »

Je doute que le mot supplémentaire soit particulièrement nuisible aux autres robots d’exploration. Avez-vous des preuves que c’est le cas, par exemple, d’autres robots d’exploration déconseillent-ils aux sites d’utiliser indexifembedded ?

(La plupart du temps, lorsque l’on écrit du code comme celui-ci, on a tendance à ignorer les balises HTML que l’on n’attend pas, c’est un peu le comportement par défaut pour HTML.)

3 « J'aime »

Je ne vois pas cela, mais sur la page Google il est indiqué :

Actuellement, seul Google prend en charge la balise indexifembedded.

Je suis d’accord qu’ils ignoreront indexifembedded, mais ma préoccupation est que noindex cause des problèmes de SEO pour la page sur laquelle il se trouve.

Alors, laissons Bing explorer une URL qui contient des embeds de sujets. Il explore cette URL et explore également l’URL de l’embed

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

Si ce qui précède est noindex, je crains que cela nuise au SEO de la page qui présente l’embed du sujet.

Tout cela est résolu en utilisant x-robots-tag: googlebot:noindex, indexifembedded, mais je comprends pourquoi Discourse pourrait ne pas vouloir favoriser 1 moteur de recherche. J’espère que cela deviendra la norme, mais pour l’instant, il semble que ce soit juste Google.

3 « J'aime »

Salut ! Je voulais juste demander s’il n’y a toujours aucun moyen intégré de faire ouvrir les sujets intégrés avec target="_blank" au lieu de target="_parent"

3 « J'aime »

Juste curieux de savoir pourquoi je ne peux obtenir qu’un seul sujet ? Quelqu’un sait ?

Voici la catégorie (qui a de nombreux sujets) : Amazon Specific - eCommerce Sellers Forum

Et le code d’intégration :
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

Mais un seul sujet apparaît :

:thinking:

2 « J'aime »