Discourse no enlaza automáticamente los comentarios debajo de los artículos

WP Rocket debería estar bien. Es posible que necesites hacer algunos ajustes para romper la caché en las páginas de WordPress que muestran comentarios de Discourse. Hay una buena sugerencia aquí: WP Discourse comment webhook does not trigger a WP Rocket Cache refresh - #13 by Brandon007. La opción “carga ajax” de WP Discourse también es una solución razonable.

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

Eso indica que Discourse está devolviendo una respuesta 403 (prohibido) cuando el plugin WP Discourse intenta importar comentarios. (El error se registra desde aquí: wp-discourse/lib/discourse-comment.php at main · discourse/wp-discourse · GitHub)

Es una suposición, pero este plugin sugiere que tu sitio de WordPress está detrás de un proxy:

Es posible que eso esté activando el error 403 en Discourse. ¿Quizás las cabeceras de la solicitud no están configuradas correctamente? No es algo que sepa mucho. Pero, podrías confirmar si es un problema publicando una entrada desde WordPress con la página de Registros de Errores de tu sitio de Discourse abierta.

Haz clic en este enlace para ir a la página de registros de errores:

Creo que una respuesta 403 activará una entrada en los registros. Si lo hace, comparte el mensaje de error (redactado) aquí.

¡Gracias! Lo intentaré tan pronto como pueda.

También descubrí que el almacenamiento en caché anterior parecía funcionar con los complementos GridPane Redis Object Cache y Nginx Helper. Así que tal vez incluso fue innecesario que instalara WP Rocket. Pero desactivar cualquiera de ellos tampoco ayudó.

Además, el recuento de comentarios no funciona en este momento. Incluso al borrar la caché, el número del artículo más reciente se mantiene en 16 (Discourse tiene 18 comentarios por ahora).

Como se mencionó anteriormente: la opción ajax está activada.

Haré eso con el registro más tarde o mañana.

Sí, cualquiera de los plugins de caché populares debería funcionar. Simplemente instala uno e intenta tener una idea de lo que está haciendo. Para depurar problemas, podría ser útil deshabilitar temporalmente la caché. De esa manera, puedes confirmar que no es un problema relacionado con la caché.

Los recuentos de comentarios se establecen desde la función que devuelve este error:

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

Si sigues recibiendo ese error, los recuentos de comentarios no se actualizarán.

Tener el plugin Proxy Real IP - 1.1 instalado en el sitio sugiere que su configuración del servidor es bastante compleja. Quizás consulta con la persona que configuró el sitio para pedir detalles. También podrías considerar mover el sitio a un servicio de alojamiento que se encargue de este tipo de cosas por ti.

Tengo menos certeza que ayer de que el problema aparecerá en los registros de errores de Discourse, pero aún así vale la pena intentarlo.

Está instalado pero no activado en nuestra página alemana, solo en la inglesa. Le pregunté a la persona que tenía la página antes que yo sobre ese plugin hace unas semanas y simplemente olvidé desactivarlo también en la página inglesa. Discourse está conectado solo a nuestra página alemana donde no está activado. Así que supongo que no tiene ninguna función en este momento.

Realmente desearía tener más idea de todas estas cosas, ya que también experimento que WordPress es muy lento de vez en cuando y no entiendo realmente todas estas cosas solo leyendo por internet.

Solo para aclarar: estoy hablando principalmente de miasanrot.de / miasanrot.com no está conectado a Discourse. Así que este sitio funciona con el sistema de comentarios normal de WordPress.

Tienes razón con tu presentimiento. Publiqué un artículo con el registro de errores abierto y no aparece en el registro de errores de Discourse.

Es aún peor ahora: el nuevo artículo no se muestra a las personas que no han iniciado sesión en WP. Así que la página está como congelada.

Actualización 2: Muestra el número correcto de comentarios Y el nuevo artículo ahora, pero no sé realmente qué cambió. Una suposición al azar: desactivé los dos plugins de caché que mencioné antes y solo tenía WP rocket activado. Intenté reactivar los dos plugins y nada cambió. Luego actualicé el artículo en el editor y funcionó. Así que uno de los dos plugins (el nginx helper) dice “Limpia la caché fastcgi/proxy de nginx o la caché de redis cada vez que se edita/publica una publicación. También hace algunas cosas más”. – así que supongo que fue este proceso el que ahora ayudó a mostrar la página como debería.

Creo que puedo desactivar WP Rocket entonces, pero todavía hay algo que no está bien con la caché y tengo la sensación de que podría estar relacionado con el problema de Discourse.

Tu problema principal es definitivamente otra cosa, pero ¿por qué usas Nginx-helper? WP Rocket crea copias estáticas y no necesitas otra caché para fastcgi y Redis (claro, hay situaciones en las que las llamadas PHP pueden necesitar caché aunque exista WP Rocket, pero esos sitios normalmente no usan WP Rocket sino herramientas de nivel mucho más profesional).

Pero la caché no significa que suceda nada dinámico.

Ya estaba instalado cuando me hice cargo de este blog. No sé por qué, para ser sincero. Solo sé que tan pronto como lo desactivo, no consigo que la página se actualice. Así que sí, el problema podría estar en esa dirección.

Editar: Acabo de comprobarlo. Desactivé el plugin, no hay posibilidad de actualizar la página. Activé el plugin y actualicé un artículo y aparece el número correcto de comentarios.

Una suposición es que deberías echar un vistazo a lo que wp-config.php está intentando hacer. Las primeras líneas pueden dar una pista.

Pero de nuevo. Deberías deshabilitar todos los plugins y usar uno de los temas básicos, como el 2020, y luego intentar si Discourse actúa como debería. Si es así, algún plugin o tema es el problema.

Haz una copia de seguridad de tu base de datos primero. Deshabilitar plugins y temas puede darte una sorpresa no deseada. Vale la pena buscar WP-CLI en Google, si es que aún no lo tienes.

Pero si todavía está luchando contra ti… espero que algún gurú aquí pueda ayudar.

De todos modos, deberías considerar qué plugins estás usando y si realmente los necesitas.

Planeo hacer esto tan pronto como tenga tiempo y el tráfico no sea tan grande. En este momento es complicado encontrar un día en el que podamos realizar una prueba de este tipo. Pero lo haré.

Una observación más:
Cuando publico un artículo directamente sin publicarlo primero en privado (normalmente lo hago cuando no quiero publicar directamente), Discourse conecta el tema correctamente con el artículo. (El número de comentarios que se muestran sigue siendo incorrecto, pero los comentarios se muestran debajo del artículo)

2 Me gusta

He estado experimentando el mismo problema. Los comentarios han dejado de mostrarse y estoy viendo esos errores de sync_comments. No estoy seguro de cuándo comenzó exactamente, pero actualizo WordPress y los plugins ocasionalmente.

Hola @steelmaiden, por favor crea un nuevo tema en Support > WordPress y:

  1. Describe el comportamiento que estás viendo.
  2. Describe el comportamiento esperado.
  3. Comparte cualquier registro de error que tengas, junto con el archivo “meta” del visor de registros o los registros descargados.

Gracias.