Discourse non collega automaticamente i commenti sotto gli articoli

Ciao!
Ho il problema che discourse non mostra più i commenti sotto i miei articoli. Quando il mio articolo viene pubblicato, appare nel forum di discourse del nostro blog, ma devo collegarlo manualmente all’articolo di wordpress in seguito. Poi compaiono i commenti. Ma quel passaggio non era necessario prima.

Ne ho già parlato qui: 422 Unprocessable Content response when using ActivityPub with WP Discourse - #5 by Miasanrot

Purtroppo la soluzione lì non è stata la mia soluzione e sembra essere molto individuale. Quindi ho aperto un nuovo thread. Queste sono le tre cose che mi è stato chiesto di pubblicare:

  1. Log di WP Discourse, incluso il file meta.
  2. Log di Discourse, in particolare il log degli errori.
  3. Un elenco dei plugin che stai utilizzando in Discourse.

File di log di WP Discourse:
Questo è di oggi:

[2024-03-14 06:02:59] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13514,"http_code":403} 
[2024-03-14 07:14:26] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13651,"http_code":403} 
[2024-03-14 08:22:19] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13815,"http_code":403} 
[2024-03-14 08:48:21] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13638,"http_code":403} 
[2024-03-14 09:37:36] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13759,"http_code":403} 
[2024-03-14 10:55:34] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13603,"http_code":403} 
[2024-03-14 11:25:23] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13603,"http_code":403} 
[2024-03-14 12:36:28] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13944,"http_code":403} 
[2024-03-14 16:03:01] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13977,"http_code":403}

**Ecco cosa è incluso nel file meta:**

### Server ###

WordPress - 6.4.3
PHP - 8.0.26
MySQL - 8.0.30

### Plugin Attivi ###

Admin Columns for ACF Fields - 0.3.1
Akismet Anti-spam: Spam Protection - 5.3.1
Borlabs Cookie - Cookie Opt-in - 2.2.67
Contact Form 7 - 5.8.6
Genesis Blocks - 3.1.1
LightStart - Maintenance Mode, Coming Soon and Landing Page Builder - 2.6.9
Podigee Wordpress Quick Publish – now with Gutenberg support! - 1.3.5
Proxy Real IP - 1.1
Shariff Wrapper - 4.6.9
TablePress - 2.2.5
TablePress Extension: Responsive Tables - 1.1
Theme Test Drive - 2.9.1
User Role Editor - 4.64.1
WP-Discourse - 2.5.1
WP Import Export - 3.9.26

### Impostazioni WP Discourse (Segreti Esclusi) ###

display-subcategories - 0
allow-tags - 0
max-tags - 5
publish-as-unlisted - 0
full-post-content - 0
custom-excerpt-length - 50
add-featured-link - 0
auto-publish - 1
force-publish - 0
force-publish-max-age - 5
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post
exclude_tags - 
hide-discourse-name-field - 0
discourse-username-editable - 1
direct-db-publication-flags - 0
verbose-publication-logs - 0
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 1
load-comment-css - 1
discourse-new-tab - 1
hide-wordpress-comments - 1
show-existing-comments - 1
max-comments - 50
min-replies - 1
min-score - 0
min-trust-level - 0
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format - 
cache-html - 1
clear-cached-comment-html - 0
verbose-comment-logs - 0
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 0
sso-client-login-form-change - 0
sso-client-sync-by-email - 0
sso-client-sync-logout - 0
logs-enabled - 1

Non so come scaricare o copiare qualcosa dal protocollo di errore di discourse, ma questo è uno screenshot di oggi. Le 16:06 sono quasi l'ora in cui è stato pubblicato il nostro ultimo articolo (16:11)
![Bildschirmfoto 2024-03-14 um 17.34.05|690x247](upload://wu9pBHBGw6RdklTgJtK9XJCIOHx.png)

**Elenco dei plugin in discourse:**

Chat (disattivato), Data Explorer, Footnote, Spoiler Alert

Se devo aggiungere qualcos'altro, fammelo sapere. Grazie in anticipo per il tuo aiuto.

Ehi @Miasanrot grazie per tutti questi dettagli, li apprezzo molto!

La prima cosa da indagare qui è l’errore di sincronizzazione dei commenti 403 nei log, che sembra correlato al tuo problema di non vedere i commenti. Un errore 403 significa che WP Discourse non è in grado di accedere a Discourse, probabilmente a causa di un errore di autorizzazione.

  1. Nella scheda “Connessione” nel pannello di amministrazione di WP Discourse vedi un messaggio che dice “Sei connesso a Discourse!”?

  2. Dato che stai usando il plugin di WordPress “Proxy Real IP - 1.1”, sono curioso riguardo all’ambiente di rete del tuo WordPress e Discourse. Che ruolo svolge quel plugin?

Grazie per la rapida risposta! Apprezzato anche.

Sì, mostra che sono connesso. E sembra anche creare qualcosa quando pubblico un articolo. In WP a volte vedo l’errore che l’articolo è già incorporato (penso sia lo stesso problema che l’utente aveva nel thread che ho linkato). Quindi penso anche che debba esserci una connessione (e si vede nel pannello di amministrazione, come ho scritto).

Il secondo è un po’ più difficile. Ho preso in carico questo blog a gennaio e quindi non ho impostato tutto da solo. Ma ho chiesto all’amministratore precedente riguardo a quel plugin e ti farò sapere non appena avrò una risposta.

Modifica: Il plugin può essere disattivato, ha detto. Quindi potrei provare quello nel prossimo passaggio?

Purtroppo nessuna soluzione finora. La disattivazione del plugin menzionato sopra non ha aiutato

Mi scuso Justin, ho perso di vista la cosa. Il problema è molto probabilmente legato alla tua configurazione di Wordpress.

(l’enfasi è mia)

Quando hanno smesso di funzionare? Riesci a identificare qualcosa che è cambiato in Wordpress quando i commenti hanno smesso di funzionare? Hai

  1. Aggiornato Wordpress?
  2. Aggiornato il plugin?
  3. Cambiato (o aggiornato) il tuo tema?

Ciao Justin, ti contatto per sapere come procede la risoluzione di questo problema.

Grazie per aver ricontrollato!

Difficile rispondere, ma penso che l’aggiornamento di WordPress (e di php, entrambi nello stesso giorno) possa essere il punto in cui è successo tutto. Almeno ho visto quel problema per la prima volta dopo. Sto eseguendo la penultima versione di WordPress (penso che nei giorni scorsi sia stata pubblicata la 6.5, non ancora installata) e php 7.4 se non erro.

Il plugin Discourse è in esecuzione sulla versione 2.5.1.

Sai da quale versione di WordPress sei passato all’aggiornamento? Quanto tempo è passato tra un aggiornamento e l’altro? Hai anche aggiornato il tuo tema contemporaneamente? Il tuo tema è un “block theme”?

Spero di poter rispondere senza malintesi o informazioni errate. Ho preso in carico questo blog a gennaio e la versione di WP era piuttosto vecchia. Suppongo 5.x, non posso dirle il numero esatto. C’è stato sicuramente un lungo periodo tra i due aggiornamenti. Il nostro tema è ancora lo stesso, è un tema personalizzato che è stato progettato e codificato per la nostra pagina. Sapevo che questo poteva causare problemi quando ho aggiornato la pagina, soprattutto perché non ho competenze di codifica, ma sembrava andare tutto bene finché non ho notato questa cosa di discourse.

Mi scusi se non posso darle informazioni più dettagliate, faccio del mio meglio :smiley:
Grazie ancora per la sua pazienza e il suo aiuto.

Capisco. Si tratta di un aggiornamento significativo (ad esempio, da Wordpress 5.x a 6.x). Sarebbe possibile testare questo aspetto con un tema Wordpress predefinito (qualsiasi tema Wordpress predefinito) e vedere se si riscontra lo stesso problema? So che è un po’ una seccatura, tuttavia questo è il colpevole più probabile qui (ad esempio, il tuo tema). Potrebbe essere necessario passare a un blocco commenti

Ciò dovrebbe essere possibile. Pubblicherò un articolo più tardi oggi e potrei passare a un tema wp poco prima e vedere se funziona.

Oh e solo un’aggiunta @angus: Cosa significa esattamente block theme? Ho l’editor a blocchi in WP per cose come pagine e articoli, ma se block theme significa che posso semplicemente aggiungere blocchi per progettare la pagina come voglio, allora non è un block theme. Solo per chiarire.

1 Mi Piace

Quindi, sono passato al tema Twenty Twenty-Three di Wordpress, poi ho pubblicato il mio articolo. Come sempre ha creato un thread nel mio discourse, ma come al solito non era collegato alla sezione commenti del blog e ho dovuto farlo manualmente.

Capisco. Qualcosa sul tuo sito sta impedendo al plugin di funzionare correttamente. Se non è il tema, il prossimo passo sono gli altri plugin che hai installato.

Senza avere maggiori informazioni sul tuo sito, l’unica cosa che posso consigliarti è che dovrai provare a disabilitarli uno per uno e vedere se cambia il comportamento. È possibile che uno di essi non sia compatibile con la versione corrente di WordPress e/o PHP 8.x (il plugin WP Discourse lo è con entrambi).

Di nuovo, forse non è quello che volevi sentire, tuttavia con un sistema “pluggable” come WordPress queste cose (cioè conflitti tra plugin) sono possibili fonti di errore. A questo punto, vale la pena provare a eliminare quella fonte.

1 Mi Piace

È possibile che la memorizzazione nella cache in combinazione con il tema abbia a che fare con questo? Non ho idea di queste cose, ma a volte piccole cose non vengono visualizzate sulla pagina e dopo aver svuotato la cache funzionano di nuovo. Ad esempio: ieri ho collegato manualmente un articolo e i commenti non sono ancora apparsi sulla pagina. Svuotare la cache ha aiutato.

Oggi ho pubblicato un articolo e l’ho collegato automaticamente a discourse come dovrebbe essere. Ma i commenti non sono apparsi. Quindi ho di nuovo svuotato la cache e poi sono apparsi. Non è facile per me capirlo, ma qualcosa non va.

Sì, la cache potrebbe influire sul tuo problema. Prova a utilizzare l’impostazione “Carica commenti con Ajax” nella scheda “Commenti” delle impostazioni di WP Discourse.

Quale soluzione di caching stai utilizzando?

L’opzione è stata attivata.

Sto usando WP Rocket per la cache, ma l’ho installato dopo aver riscontrato alcuni problemi. Questi problemi sembravano risolti. Ma non posso dirti esattamente come funzionava la cache prima. So che c’era la cache, ma non conosco la soluzione concreta. Quando ho preso in gestione il blog, ho avvertito un certo rallentamento nel caricamento delle immagini. Dopo aver usato WP Rocket sembra essere migliorato da uno o due mesi a questa parte. (Il problema dei commenti era già presente prima che lo installassi)

Ma in rari casi abbiamo il problema che qualcosa viene mostrato in modo errato sulla pagina. La settimana scorsa è successo che i commenti mancavano dopo averli collegati manualmente a discourse. Quindi ho svuotato la cache con WP rocket e ha funzionato di nuovo.

Sembra che io abbia lo stesso problema o uno simile con errori 422. Ho già parlato con @angus del fatto che allestirò un ambiente di test (WP e Discourse) per i test, si spera questo fine settimana…

2 Mi Piace

WP Rocket può essere un vero grattacapo. Genera copie statiche dei tuoi contenuti, ma cerca di lasciare intatte le parti che dovrebbero essere dinamiche, o che dovrebbero essere statiche solo per un breve periodo. Se sei abbastanza fortunato da trovare una regola che disabilita la cache in modo affidabile sui commenti, funziona, ma inizi a perdere i benefici che hai ottenuto.

In termini di cache, WordPress è… non esattamente un incubo, ma quasi. Ho abbandonato WP Rocket perché richiedeva troppa attenzione e tempo, e funziona al meglio con TTL piuttosto brevi. Ho ottenuto risultati migliori usando altri strumenti (e poi bisogna essere molto realistici: ci sono punti solidi per cercare di risparmiare un secondo se richiede diverse ore del mio tempo di lavoro e quasi ogni settimana; disabilitare plugin non necessari e scegliere il tema giusto è un’opzione migliore).

La maggior parte dei siti in realtà non ha bisogno dei commenti perché li riceve abbastanza raramente e quindi Discourse come sezione commenti serve ad altri scopi. Ma ovviamente dipende.

Per me la connessione a Discourse funge da pubblicità. Ma la maggior parte dei miei visitatori usa il telefono e quasi mai scorre abbastanza in basso: un punto interrogativo totalmente uguale a quello delle barre laterali.

1 Mi Piace

E quali strumenti? Ancora: non ho molta familiarità con tutte queste cose tecniche, ecco perché sono qui e sto cercando di vedere se c’è qualche aiuto per il problema. Il problema c’era prima che installassi WP Rocket e ha risolto alcuni altri tipi di problemi, ma se questo strumento è in qualche modo problematico, sono aperto ad altre soluzioni.

Abbiamo fino a 100 o 200 commenti sotto i nostri articoli (per essere precisi in discourse), quindi è giusto dire che vogliamo che siano integrati anche se un utente che vuole solo leggere l’articolo non scorrerà fino a lì.

Fuori tema in questo forum, perché riguarda l’ottimizzazione di WordPress. Prova Facebook, qualcosa come velocizzare WordPress.

Ma potresti essere interessato a plugin come Asset CleanUp, EWWW Image Optimizer o anche Redis, se hai molti utenti concorrenti. Dovresti usare almeno strumenti di Nginx per bloccare il maggior numero possibile di traffico bot. Ma nessuno di questi aiuta troppo se i veri colli di bottiglia sono il tema e tonnellate di plugin diversi. E la cattiva notizia è che devi ripulire il database stesso ogni tanto.

Ma se WP Rocket aiuta, è un bene. Ma non usare tempi di cache troppo lunghi. E devi escludere Discourse dalla cache.