Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Administrador Medios Frontend

El editor de bloques de WordPress dice «La respuesta no es una respuesta JSON válida»

Corrige la respuesta JSON no válida del editor rastreando REST, URLs, enlaces permanentes, SSL, cortafuegos y salida PHP.

El editor guarda mediante la REST API de WordPress. El mensaje significa que recibió algo distinto del JSON esperado: una página HTML de error, redirección, formulario de acceso, bloqueo del cortafuegos, aviso PHP o respuesta mal formada.

Conserva la petición REST fallida antes de cambiar enlaces permanentes o desactivar seguridad.

Inspecciona la petición de guardado

Abre Red, guarda una vez un borrador controlado y localiza /wp-json/wp/v2/.... Anota método, estado, cabeceras, cuerpo y duración.

Interpreta:
301/302 -> URL, HTTPS o redirección de acceso
401/403 -> nonce, capacidad o cortafuegos
404 -> REST, enlaces o ruta del servidor
500 -> error fatal PHP o aplicación
200 HTML -> caché, aviso o formulario de acceso

Oculta nonce, cookies y contenido no publicado.

Prueba el descubrimiento REST

Abre /wp-json/ como visitante y revisa el enlace de descubrimiento en la fuente. Los endpoints autenticados de entradas responderán de otro modo.

Usa Salud del sitio y WP-CLI si están disponibles. Que el índice REST sea público es normal; no bloquees todas las rutas como medida genérica.

Comprueba si falla solo un tipo de contenido o endpoint.

Alinea las URLs y HTTPS

home, siteurl y las URLs administrativas deben usar el host HTTPS canónico. Mezclar www, puertos o subdirectorios redirige las peticiones y rompe los nonces.

Configura bien la detección HTTPS tras un proxy. No confíes en cabeceras públicas arbitrarias.

Después de migrar, sustituye URLs con herramientas compatibles con serialización.

Repara enlaces y reglas del servidor

Guarda la estructura actual para regenerar .htaccess de Apache después de copiarlo. En Nginx WordPress no puede escribir la configuración; debe hacerlo el administrador.

Prueba /wp-json/ y un endpoint estándar.

No sustituyas reglas personalizadas completas; conserva idiomas, seguridad y subdirectorios.

Revisa el cortafuegos

Relaciona hora y ruta con Cloudflare, ModSecurity, hosting y plugins de seguridad. Algunas reglas bloquean cuerpos JSON o palabras del contenido.

Crea una corrección estrecha para REST autenticado. No desactives todo el cortafuegos.

Si lo provoca una cadena concreta, conserva una reproducción mínima sin datos privados.

Elimina contaminación de salida PHP

Los avisos impresos antes del JSON invalidan la respuesta. Mantén display_errors desactivado y registra en privado.

Busca echo, var_dump() o espacios después de cierre PHP en callbacks REST.

return rest_ensure_response( $data );

Devuelve datos o errores estructurados; no imprimas alrededor.

Comprueba caché y optimización

Las respuestas REST y de guardado no deben almacenarse públicamente. Revisa cabeceras del proxy, hosting y plugin.

Excluye rutas REST autenticadas y nonces de la caché completa. Purga tras corregir y prueba con caché caliente.

No retrases JavaScript principal del editor.

Revisa contraseñas de aplicación

Si falla solo una app o editor externo, prueba su autenticación REST. Las contraseñas de aplicación requieren HTTPS, usuario correcto y credencial activa.

Revoca y recrea únicamente la afectada; no compartas la contraseña principal. Confirma que las cabeceras Basic Authorization atraviesan el proxy y limita el rol.

Inspecciona soporte REST y esquema

Los tipos personalizados deben registrar show_in_rest y un controlador o esquema compatible. Los metadatos necesitan tipo, saneamiento y autorización.

register_post_meta( 'example', 'example_key', array(
    'show_in_rest' => true,
    'single'       => true,
    'type'         => 'string',
) );

Añade permisos adecuados; no expongas metadatos privados para silenciar el editor.

Verifica operaciones del editor

Prueba crear, actualizar, autoguardar, revisar, insertar medios y publicar para tipos y roles relevantes. Confirma que REST sigue devolviendo JSON sin avisos PHP.

El mantenimiento recurrente debe vigilar REST 4xx o 5xx y probar después de cambios de dominio, SSL, cortafuegos o enlaces. El error está resuelto cuando el editor lee y escribe de forma fiable, no cuando el aviso desaparece una vez.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia