Un apunte técnico: Conflicto entre Sucuri Firewall y el editor de bloques Gutenberg de WordPress

Solución rápida al error de JSON:

Añadir esta ruta dentro de la configuración de Sucuri:

wp-json/wp/v2

en Firewall > Access Control > Allow URL Paths

La batallita sobre cómo me encontré este conflicto entre Sucuri y el editor de bloques de WordPress:

Hace tiempo que no escribo por aquí y mucho menos apuntes técnicos de mi trabajo diario (una mezcla entre editora al uso y gestora de proyectos web con un toque de programación y mucho de organización de contenidos) pero anoche estuve atascada con un problema y quería contaros lo que me ha funcionado.

Resulta que cada vez que quería editar un post en un wordpress, el sistema no me dejaba y me salía este mensaje de error:

Ha fallado la actualización. Las respuesta no es una respuesta JSON válida.

La mayoría de soluciones que encontraba por internet eran o bien activar el editor clásico (o dejar los dos editores instalados, el clásico y el de bloques, usando los ajustes del plugin «editor clásico) o bien guardar los permalinks, junto a otras soluciones más técnicas, que si mod_security, que si cambiar el wp-config… En fin, nada de eso funcionaba (y sí, había desactivado todos los plugins, que es lo primero que se tiene que hacer).

Al final me puse en contacto con mi hosting, Lucushost, que son más majos que las pesetas (el link es de afiliados, pero si son majos y eficientes, se dice y punto, los recomendaría con comisión o sin ella), por si fuera alguna cosa del servidor. Hablando con ellos caí en la cuenta de que en esta web uso un firewall de Sucuri y efectivamente ellos me confirmaron lo siguiente:

hay una petición que debería de devolver un JSON y devuelve un código de estado 403 sin ningún json y con un texto personalizado de Sucuri:

Block reason: An attempted XSS (Cross site scripting) was detected and blocked.

Con esto ya pude tirar del hilo y contactar con Sucuri, pero mientras tanto, se me ocurrió una obviedad, que el problema podría ser que Sucuri estaba bloqueando mi propia IP (desde la que editaba) como si yo fuera una hacker maligna.

Así que dentro de Sucuri me fui a

Firewall > Access Control > Allow IP Adress

y añadí mi ip a la «whitelist» (por si acaso, recordatorio de que podéis saber vuestra ip aquí)

Mano de santo. Una vez hecho esto, ya todo funcionaba bien.

Pero claro, esto no era la solución más práctica, porque poca gente trabaja desde una ip fija, así que aunque me sirvió de manera puntual, tuve que esperar a que me respondiera Sucuri.

Finalmente la solución definitiva es añadir esta ruta

wp-json/wp/v2

dentro de Sucuri en

Firewall > Access Control > Allow URL Paths

Aquí Sucuri explica un poco más sobre cómo añadir una carpeta a la «whitelist».

Espero que os sirva.

Deja una respuesta