Hola,
Noté un problema en nuestro sitio web con el plugin WP Discourse.
Básicamente, después de publicar una entrada de blog y que se publique con éxito en el foro de Discourse, digamos que después de 1 semana, si hacemos un pequeño cambio en la entrada y la actualizamos, el plugin WP Discourse intenta publicarla nuevamente en el foro.
Entonces recibo un correo electrónico “Fallo de publicación de Discourse” que dice que la URL incrustada ya ha sido tomada.
Noté esto también al actualizar entradas muy antiguas en WordPress, aparecen en la categoría predeterminada “Noticias” del foro de Discourse, lo que confunde a los lectores.
¿Hay alguna configuración que me esté perdiendo para evitar esto?
¡Muchas gracias!
Gracias por el informe. Le echaré un vistazo más de cerca a este escenario pronto, con suerte mañana, y a más tardar a principios de la próxima semana.
¿Podrías intentar recrear este problema, pero antes de hacer el cambio (después de una semana, o el lapso de tiempo normal que haya) por favor revisa el estado de la publicación de Discourse en la barra de utilidad de Wordpress en la derecha en la pantalla de edición de la publicación. Dime qué se muestra allí en el momento en que estás haciendo la edición, y luego si obtienes el comportamiento que acabas de describir después de la edición.
Intenté actualizar la publicación y ocurrió el mismo error. También recibí el mismo correo electrónico sobre el fallo.
El último error de los registros es:
[2024-05-13 18:02:53] publish.ERROR: create_post.post_error {"wp_title":"Nextcloud exhibiting at global events in May 2024","wp_author_id":"9","wp_post_id":209030,"response_message":"Embed url has already been taken","http_code":422}
¿No debería haber una opción en la página de Configuración que deshabilite el intento de volver a publicar cuando la publicación ya está en Discourse?
Ok, esto significa que tu instancia de WordPress no permite que el plugin WP Discourse guarde los campos meta de las publicaciones correctamente, muy probablemente debido a otro plugin o tema en tu sitio. ¿Podrías compartir la descarga del registro de WP Discourse? Eso incluirá una lista de plugins que podrían sugerir un culpable.
Normalmente, lo que sucede es que el plugin guarda los detalles de la publicación después de la primera publicación. Eso no está sucediendo en tu sitio. Eso es lo que necesitamos averiguar
Tienes algunos complementos que podrían ser los culpables. Como primera medida, ¿podrías habilitar esta configuración en los ajustes de “Publicación” de WP Discourse?
Esto cambia la forma en que el complemento guarda los campos personalizados y podría afectar el comportamiento en tu caso. Probablemente no solucione el problema, pero podría darnos más información. Una vez que lo hayas habilitado, intenta recrear las mismas circunstancias.
Después de intentarlo, pasaremos a deshabilitar complementos individuales para ver si podemos aislar el problema. ¿Tienes un sitio de staging (es decir, un sitio con tus temas y complementos, pero sin datos reales)?
También añadiré más registros a la lógica de publicación en el complemento para ayudar a iluminar esta clase de problema (es decir, el almacenamiento de metadatos en WordPress después de la publicación en Discourse). Sin embargo, eso llevará algo de tiempo y mientras tanto podemos realizar algunas pruebas como las anteriores.
Habilitó esa configuración, pero el problema sigue ahí.
En realidad, usamos un sitio web de staging y lo curioso es que, incluso si los plugins, temas y archivos son exactamente los mismos, se comporta de manera diferente; es decir, después de publicar una publicación de prueba, va a Discourse correctamente, y luego, si vuelvo a la misma publicación, no veo el error “La URL incrustada ya ha sido tomada” en la configuración de la barra lateral de Discourse. En cambio, lo veo así:
Existen algunas diferencias leves entre los dos. Probablemente no sea la causa, pero vale la pena mantener sus sitios de staging y producción idénticos, para eliminar la posibilidad de que esa sea la causa, tanto aquí como para otros problemas.
Aparte de eso, te recomiendo que revises detenidamente la configuración de WP Rocket (por ejemplo, ¿son realmente iguales entre tus dos sitios?). Si bien funciona bien para sus propósitos particulares, WP Rocket suele ser la causa de problemas con los plugins de WordPress.
En realidad, WP Discourse se equivocó con la información de la base de datos. La versión correcta de la base de datos es 10.6.16-MariaDB-0ubuntu0.22.04.1.
tienes razón. Volví a comprobar la función db_version() dentro del tema y, efectivamente, obtuve 5.5.5 como resultado. Pero en la página “Salud del sitio” del backend veo la versión 10.6.16-MariaDB, la misma que me han mencionado los administradores del sistema… Quiero decir, esa también debería ser la versión que ve WP, ¿verdad?