J’ai des balises CSS sur mon contenu et j’ai identifié les sélecteurs CSS dans les paramètres d’administration de l’intégration, mais ils ne sont pas pris en compte par le robot d’exploration. Je pense que c’est parce que mon site est construit avec React et que les sélecteurs CSS ne sont pas accessibles. Comment puis-je utiliser cette fonctionnalité avec un site React ?
Cela peut être le cas, bien que je m’attende à ce que la requête que Discourse envoie vers le site retourne du HTML. Autre élément à vérifier : Discourse met en cache le contenu extrait du site externe pendant 10 minutes. Cela signifie que si vous modifiez le paramètre du site « allowed embed selectors », vous devrez attendre jusqu’à 10 minutes pour voir les effets de la nouvelle valeur.
Si votre site Discourse n’est pas encore en production et que vous avez accès à la console Rails du site Discourse, vous pouvez vider le cache depuis la console avec la commande Rails.cache.clear.
Vous trouverez plus de détails sur ce paramètre ici : Configuring allowed embed selectors.
Edit : Je pense que l’intégration fonctionne comme prévu. C’est simplement délicat à configurer pour certains sites. Je vais déplacer ce sujet vers Support.
Il y a quelques mois, j’ai créé un sujet Contribute > Feature suggérant que Discourse devrait trouver un meilleur moyen d’analyser les publications intégrées : Topic embedding needs some love. Je m’y consacrerai bientôt si personne ne s’en charge avant moi.
Discourse présente une vue différente pour les robots d’exploration. Pour la voir, vous devrez visiter avec JavaScript désactivé.
Je ne m’attendrais pas à ce que les publications intégrées soient explorées car elles n’existent pas sur le site où elles sont intégrées.
Bonjour, je fais référence à la façon dont Discourse explore mon site React avec la fonctionnalité de publication intégrée. J’ai du mal à lui dire quel contenu inclure dans la publication Discourse en raison de la façon dont il voit ma page React.
Si cela peut aider, le code utilisé pour récupérer la publication externe se trouve ici : discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub
Si vous avez accès à la console Rails de votre site, vous pouvez la tester pour avoir une idée de ce qui se passe. Par exemple :
TopicEmbed.find_remote("https://blog.discourse.org/2023/04/introducing-discourse-ai/")
Là où j’ai rencontré des problèmes, c’est avec la méthode parse_html qui est appelée à la fin de la méthode find_remote. Ruby Readability a du mal avec certains HTML/CSS.
Il est également possible que du HTML ne soit pas renvoyé par votre site React. Vous pourriez le confirmer en exécutant le code de la méthode find_remote étape par étape depuis la console.
C’est excellent, merci !