Discourse non collega automaticamente i commenti sotto gli articoli

WP Rocket dovrebbe andare bene. È possibile che tu debba apportare alcune modifiche per interrompere la cache nelle pagine di WordPress che visualizzano i commenti di Discourse. C’è un buon suggerimento qui: WP Discourse comment webhook does not trigger a WP Rocket Cache refresh - #13 by Brandon007. Anche l’opzione “caricamento ajax” di WP Discourse è una soluzione ragionevole.

Questo sembra essere il vero problema:
[2024-03-14 06:02:59] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13514,"http_code":403}

Ciò indica che Discourse sta restituendo una risposta 403 (forbidden) quando il plugin WP Discourse tenta di recuperare i commenti. (L’errore viene registrato da qui: wp-discourse/lib/discourse-comment.php at main · discourse/wp-discourse · GitHub)

È un po’ un’ipotesi, ma questo plugin suggerisce che il tuo sito WordPress è dietro un proxy:

È possibile che ciò attivi l’errore 403 su Discourse. Forse gli header della richiesta non sono configurati correttamente? Non è qualcosa che conosco molto bene. Tuttavia, potresti essere in grado di confermare se si tratta di un problema pubblicando un post da WordPress con la pagina dei log degli errori del tuo sito Discourse aperta.

Fai clic su questo link per accedere alla pagina dei log degli errori:

Penso che una risposta 403 attiverà una voce nei log. In caso affermativo, condividi qui il messaggio di errore (redatto).

Grazie! Ci proverò appena possibile.

Ho anche scoperto che la cache precedente sembrava funzionare con i plugin GridPane Redis Object Cache e Nginx Helper. Quindi forse era persino inutile che installassi WP Rocket. Ma anche disattivare uno di essi non ha aiutato.

Inoltre, il conteggio dei commenti non funziona al momento. Anche cancellando la cache, il numero dell’articolo più recente rimane a 16 (Discourse ha 18 commenti per ora).

Come menzionato in precedenza: l’opzione ajax è attivata.

Farò quella cosa con il log più tardi o domani.

Sì, uno qualsiasi dei plugin di caching più diffusi dovrebbe funzionare. Installane uno e cerca di farti un’idea di cosa sta facendo. Per il debug dei problemi, potrebbe essere utile disabilitare temporaneamente la cache. In questo modo puoi confermare che non si tratta di un problema correlato alla cache.

I conteggi dei commenti vengono impostati dalla funzione che restituisce questo errore:

[2024-03-14 06:02:59] comment.ERROR: sync_comments.response_error {"message":"Forbidden","discourse_topic_id":"","wp_post_id":13514,"http_code":403}

Se continui a ricevere questo errore, i conteggi dei commenti non verranno aggiornati.

Avere il plugin Proxy Real IP - 1.1 installato sul sito suggerisce che la sua configurazione del server è piuttosto complessa. Forse contatta la persona che ha configurato il sito per chiedere dettagli. Potresti anche prendere in considerazione di spostare il sito su un servizio di hosting che si occupi di questo tipo di cose per te.

Sono meno sicuro di ieri che il problema si manifesterà nei log degli errori di Discourse, ma vale comunque la pena provarci.

È installato ma non attivato sulla nostra pagina tedesca, solo su quella inglese. Ho chiesto all’ex gestore della pagina riguardo a quel plugin alcune settimane fa e ho solo dimenticato di disattivarlo anche sulla pagina inglese. Discourse è collegato solo alla nostra pagina tedesca dove non è attivato. Quindi, immagino che al momento non abbia alcuna funzione.

Vorrei davvero avere più idee su tutte queste cose, poiché anche io riscontro che WordPress è molto lento di tanto in tanto e non riesco davvero a capire tutte queste cose solo leggendo in giro per internet.

Solo per chiarire: sto parlando principalmente di miasanrot.de / miasanrot.com non è collegato a Discourse. Quindi questo sito funziona con il normale sistema di commenti di Wordpress.

Hai ragione con la tua sensazione. Ho pubblicato un articolo con il log degli errori aperto e non compare nel log degli errori di Discourse.

Ora è anche peggio: il nuovo articolo non viene visualizzato per le persone che non hanno effettuato l’accesso a WP. Quindi la pagina è come bloccata.

Aggiornamento 2: Mostra il numero corretto di commenti E il nuovo articolo ora, ma non so davvero cosa sia cambiato. Un’ipotesi a caso: ho disattivato i due plugin di caching che ho menzionato prima e ho lasciato attivo solo WP rocket. Ho provato a riattivare i due plugin e non è cambiato nulla. Poi ho aggiornato l’articolo nell’editor e ha funzionato. Quindi uno dei due plugin (nginx helper) dice “Pulisce la cache fastcgi/proxy di nginx o la cache redis ogni volta che un post viene modificato/pubblicato. Fa anche altre cose.” - quindi immagino sia stato questo processo che ora ha aiutato a mostrare la pagina come dovrebbe.

Penso di poter disattivare WP Rocket allora, ma c’è ancora qualcosa che non va con il caching e ho la sensazione che possa essere collegato al problema di Discourse.

Il tuo problema principale è sicuramente un altro, ma perché stai usando Nginx-helper? WP Rocket crea copie statiche e non hai bisogno di un’altra cache per fastcgi e Redis (certo, ci sono situazioni in cui le chiamate PHP potrebbero necessitare di caching anche se c’è WP Rocket, ma quei siti normalmente non usano WP Rocket ma strumenti di livello molto più professionale).

Ma il caching non significa che succeda nulla di dinamico.

Era già installato quando ho preso in gestione questo blog. Non so perché, onestamente. So solo che non appena lo disattivo, la pagina non viene aggiornata. Quindi sì, il problema potrebbe essere da quella parte.

Modifica: Ho appena fatto la verifica. Ho disattivato il plugin, nessuna possibilità di aggiornare la pagina. Ho attivato il plugin e aggiornato un articolo e viene visualizzato il numero corretto di commenti.

Un’ipotesi è che dovresti quindi dare un’occhiata a cosa sta cercando di fare wp-config.php. Le primissime righe potrebbero fornire un indizio.

Ma di nuovo. Dovresti disabilitare ogni plugin e usare uno dei temi di base, come il 2020, e poi provare se Discourse si comporta come dovrebbe. Se sì, alcuni dei plugin o del tema sono un problema.

Esegui prima il backup del tuo database. Disabilitare plugin e tema potrebbe darti una sorpresa indesiderata. Vale la pena cercare WP-CLI su Google, se non lo hai già.

Ma se sta ancora combattendo contro di te… speriamo che qualcuno dei guru qui possa aiutare.

Comunque, dovresti considerare quali plugin stai usando e se ne hai davvero bisogno.

Ho intenzione di farlo non appena avrò tempo e il traffico non sarà così elevato. Al momento è complicato trovare un giorno in cui poter effettuare un test del genere. Ma lo farò.

Un’altra osservazione:
Quando pubblico un articolo direttamente senza pubblicarlo prima in privato (di solito lo faccio quando non voglio pubblicarlo direttamente), discourse collega correttamente l’argomento all’articolo. (Il numero di commenti mostrati è ancora sbagliato, ma i commenti vengono visualizzati sotto l’articolo)

2 Mi Piace

Ho riscontrato lo stesso problema. I commenti non vengono più visualizzati e vedo quegli errori sync_comments. Non sono sicuro esattamente quando sia iniziato, ma aggiorno WordPress e i plugin occasionalmente.

Ciao @steelmaiden, per favore crea un nuovo argomento in Support > WordPress e

  1. Descrivi il comportamento che stai riscontrando.
  2. Descrivi il comportamento atteso.
  3. Condividi eventuali log di errore che hai, insieme al file “meta” dal visualizzatore di log o dai log scaricati.

Grazie.