Ho tag CSS nel mio contenuto e ho identificato i selettori CSS nelle impostazioni di amministrazione dell’embedding, ma non vengono rilevati dal crawler. Credo che sia perché il mio sito è costruito con React e i selettori CSS non sono accessibili. Come posso utilizzare questa funzionalità con un sito React?
Potrebbe essere così, anche se mi aspetterei che la richiesta che Discourse fa al sito restituisca HTML. Qualcos’altro da verificare è che Discourse memorizza nella cache il contenuto estratto dal sito esterno per 10 minuti. Ciò significa che se stai modificando l’impostazione del sito allowed embed selectors, dovrai attendere fino a 10 minuti per vedere i risultati del nuovo valore dell’impostazione.
Se il tuo sito Discourse non è ancora in produzione e hai accesso alla console Rails del sito Discourse, puoi svuotare la cache dalla console con Rails.cache.clear
Maggiori dettagli sull’impostazione sono qui: Configuring allowed embed selectors.
Modifica: Penso che l’embedding funzioni come previsto. È solo complicato da configurare per alcuni siti. Sposterò questo argomento in Support.
Ho creato un argomento Feature qualche mese fa suggerendo che Discourse dovrebbe trovare un modo migliore per analizzare i post incorporati: Topic embedding needs some love. Ci dedicherò del tempo presto se nessun altro ci arriva prima di me.
Discourse presenta una visualizzazione diversa ai crawler. Per vederla dovrai visitare il sito con javascript disattivato.
Non mi aspetterei che i post incorporati vengano sottoposti a crawling poiché non esistono sul sito in cui sono incorporati.
Ciao, mi riferisco a come Discourse esegue lo spidering del mio sito React con la funzionalità dei post incorporati. Ho difficoltà a dirgli quali contenuti includere nel post di Discourse a causa di come vede la mia pagina React.
Se può essere d’aiuto, il codice utilizzato per recuperare il post esterno si trova qui: discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub
Se hai accesso alla console Rails del tuo sito, puoi testarlo per farti un’idea di cosa sta succedendo. Ad esempio:
TopicEmbed.find_remote("https://blog.discourse.org/2023/04/introducing-discourse-ai/")
Dove ho riscontrato problemi è con il metodo parse_html che viene chiamato alla fine del metodo find_remote. Ruby Readability ha difficoltà con alcuni HTML/CSS.
È anche possibile che l’HTML non venga restituito dal tuo sito React. Potresti confermarlo eseguendo il codice presente nel metodo find_remote per passaggi dalla console.
Questo è eccellente, grazie!