Último día de Halloween: +30% en una recargaEl bono se aplica una sola vez: recarga de una vez todo el importe que necesites. Echa un vistazo a tu panel: hay sorpresas escondidas. 00h00min00s Aprovechar el bono
Artículo 29.09.2026 1

JSON-LD tras el cambio de Google: revisamos 1,044 sitios, al 1.6% le afectó, pero el problema real alcanza a un tercio

Desde el 21 de agosto, Google elimina el escape HTML del marcado JSON-LD una sola vez en lugar de dos. Revisamos 3,167 páginas de 1,044 sitios: el cambio afectó solo al 1.6% de ellos. Pero el 23% de los sitios de Shopify incluye en su marcado caracteres que ningún procesador estándar decodifica, y el 36% de los sitios del top diez de Google escribe un marcado que solo Google interpreta correctamente. Repasamos las causas, nuestro propio error y una revisión en cuatro pasos.

JSON-LD tras el cambio de Google: revisamos 1,044 sitios, al 1.6% le afectó, pero el problema real alcanza a un tercio

El 21 de agosto Google cambió la forma en que su rastreador lee el marcado JSON-LD, y los medios del sector se apresuraron a escribir "revisa tu marcado ahora". Nosotros lo revisamos, pero no en nuestro sitio, sino en 1044: 748 del top diez de Google para consultas comerciales, 295 sitios de nuestros clientes y el nuestro. En total, 3167 páginas. El cambio de Google afectó al 1.6% de los sitios. Lo que sí encontramos fue un problema veinte veces mayor del que nadie está hablando, y un error nuestro, que ya corregimos.

Qué cambió exactamente Google

El anuncio no apareció en la documentación, sino en una publicación de Google Search Central en LinkedIn. La frase clave:

"Cambiamos nuestra extracción de JSON-LD y ahora solo aplicamos una única pasada de decodificación de HTML."

Google Search Central, LinkedIn, 21 de agosto de 2026

Para entender qué implica, hay que conocer un dato sobre HTML. En el texto normal de una página, el ampersand se escribe como &amp; y el navegador lo muestra como "&". Pero el contenido de una etiqueta <script>, que es justo donde vive JSON-LD, es "texto sin procesar" según la especificación de HTML: allí las entidades HTML no se decodifican en absoluto. La especificación de JSON-LD lo dice de forma directa: esos caracteres "seguirán escapados después del procesamiento".

Google siempre ha sido flexible con esto y decodificaba las entidades por su cuenta. Hasta agosto lo hacía dos veces seguidas, así que incluso un &amp;amp; con doble escape se convertía en un "&" limpio. Ahora lo hace una sola vez. Esto es lo que significa para el nombre de una empresa:

Escrito en el marcadoGoogle antes del 21.08Google ahoraProcesador estándar
Tom &amp; JerryTom & JerryTom & JerryTom &amp; Jerry
Tom &amp;amp; JerryTom & JerryTom &amp; JerryTom &amp;amp; Jerry
Tom \u0026 JerryTom & JerryTom & JerryTom & Jerry
Tom & JerryTom & JerryTom & JerryTom & Jerry

El cambio afecta solo a la segunda fila: el doble escape. La primera fila sigue funcionando en Google, pero solo en Google. Las dos últimas son correctas para todos.

Cómo lo comprobamos

Tres muestras. La primera son 2,076 páginas del top diez de Google y de fuentes de respuestas de IA para 48 consultas comerciales de nuestro estudio sobre recomendaciones de IA: sitios que realmente reciben tráfico por consultas costosas. La segunda son los sitios de nuestros clientes: la página de inicio y hasta cuatro páginas promocionadas de cada uno, para que los sitios grandes no dominen. La tercera son 300 páginas aleatorias de nuestro propio sitio. Cada página se descargó directamente, sin servicios de pago.

En cada página extrajimos todos los bloques JSON-LD y los analizamos de tres maneras: como los leía Google antes, como los lee ahora y como lo exige el estándar. Contamos los resultados por sitio, no por página: las páginas que usan una misma plantilla repiten un mismo error, y contar páginas lo infla mucho. Por ejemplo, casi la mitad de las páginas con doble escape de nuestra muestra provenían de un solo sitio.

A quién afectó el cambio: 1.6% de los sitios

Tres problemas de JSON-LD y qué tan grande es cada uno 748 sitios del top 10 de Google que usan marcado JSON-LD. Contamos sitios, no páginas: las páginas creadas con una misma plantilla repiten el mismo error. 1.6% afectados por el cambio de Google 12 sitios: caracteres con doble escape que Google ya no corrige 23% de los sitios Shopify un carácter en el marcado que ningún procesador estándar decodifica 36% de los sitios usan entidades HTML solo Google las lee correctamente: el estándar dice que se tomen literalmente Tres problemas de JSON-LD y qué tan grande es cada uno 748 sitios del top 10 de Google que usan marcado JSON-LD. Contamos sitios, no páginas: las páginas creadas con una plantilla repiten el mismo error. 1.6% afectados por el cambio de Google 12 sitios: caracteres con doble escape que Google ya no corrige 23% de los sitios Shopify un carácter en el marcado que ningún procesador estándar decodifica 36% de los sitios usan entidades HTML solo Google las lee correctamente: el estándar dice que se tomen literalmente
El cambio del que todos escribieron es el más pequeño de los tres problemas. El más grande es el que nadie menciona: un tercio de los sitios escribe un marcado que solo Google lee correctamente.

De 748 sitios con marcado, 12 tenían doble escape. Más de la mitad son publicaciones de un mismo grupo de medios: comparten una plantilla en la que la descripción del autor se escapa dos veces. Como resultado, estos sitios ahora tienen un literal “&#39;” en lugar de un apóstrofo en la biografía del autor dentro de su marcado. Entre los sitios de nuestros clientes hay dos casos así de 295.

La conclusión es sencilla: si no has visto nuevos errores de datos estructurados en Search Console desde el 21 de agosto, casi con seguridad el cambio no te afectó. La alarma en los medios del sector fue desproporcionada respecto a la escala real.

Un problema mayor: Shopify y los caracteres que nadie decodifica

Dónde son más frecuentes los caracteres corruptos Porcentaje de sitios cuyo marcado contiene una entidad con doble escape u oculta en un escape JSON: ningún procesador estándar la decodifica correctamente. Sitios Shopify 23% 11 de 47 sitios en el top 10 de Google Otras plataformas 2.3% 16 de 701 sitios en el top 10 de Google Sitios de clientes 1% 3 de 295 sitios Dónde son más frecuentes los caracteres corruptos Porcentaje de sitios cuyo marcado contiene una entidad con doble escape u oculta en un escape JSON: ningún procesador estándar la decodifica correctamente. Sitios Shopify 23% 11 de 47 sitios en el top 10 de Google Otras plataformas 2.3% 16 de 701 sitios en el top 10 de Google Sitios de clientes 1% 3 de 295 sitios
Una brecha de diez veces. No es Shopify en sí: el error está en las plantillas del tema, que escapan el texto para HTML y luego lo envuelven en JSON una vez más.

Hay una segunda forma de corromper un carácter, y Google no tiene nada que ver. La entidad termina oculta dentro de un escape JSON: el código contiene \u0026amp;. La decodificación HTML no la ve, porque no hay ningún ampersand en el texto, y tras el análisis del JSON el valor contiene un literal “&amp;”. Ningún procesador estándar lo limpiará.

Lo encontramos en 11 de 47 sitios de Shopify en el top 10 de Google: 23%. En todas las demás plataformas, en 2.3%. Una diferencia de diez veces. La plataforma en sí no es la causa; lo son las plantillas de los temas: el texto primero se escapa para HTML y luego un filtro lo envuelve en JSON una vez más, y la entidad pasa sin cambios. Las descripciones de producto son las más afectadas: vienen del editor visual con las entidades ya incluidas.

Una advertencia honesta. Google no documenta en qué etapa aplica su paso de decodificación: antes de analizar el JSON o después. Si es después, corregirá el carácter en este caso. Pero para todos los demás que leen el marcado según el estándar, el valor se corrompe, y la única forma de ver lo que hace Google es con sus propias herramientas.

El mayor problema: un tercio de los sitios escribe el marcado “solo para Google”

Sitios del top 10 de Google y sitios de nuestros clientes Porcentaje de sitios con cada problema entre los que usan JSON-LD: 748 sitios del top 10, 295 sitios de clientes de PromoPilot. Sitios del top 10 de Google sitios de clientes Tiene marcado JSON-LD 83% 81% Entidades HTML dentro del marcado 36% 23% JSON no válido 2.3% 1.7% Afectados por el cambio del 21 de agosto 1.6% 0.7% Sitios del top 10 de Google y sitios de nuestros clientes Porcentaje de sitios con cada problema entre los que usan JSON-LD: 748 sitios del top 10, 295 sitios de clientes de PromoPilot. Sitios del top 10 de Google sitios de clientes Tiene marcado JSON-LD 83% 81% Entidades HTML dentro del marcado 36% 23% JSON no válido 2.3% 1.7% Afectados por el cambio del 21 de agosto 1.6% 0.7%
El patrón es el mismo: el cambio de Google afectó a unos pocos sitios, mientras que las entidades en el marcado están muy extendidas. Los sitios más pequeños tienen menos porque con más frecuencia usan plugins listos para usar que generan el marcado de forma limpia.

El 36% de los sitios del top diez de Google y el 23% de los sitios de nuestros clientes tienen entidades HTML comunes dentro de JSON-LD: &amp;, &quot;, &#39;. Google aún las entiende: basta con una sola pasada de decodificación. Pero es el único que lo hace por iniciativa propia. El estándar exige leerlas de forma literal, así que cualquier otro consumidor del marcado (otros buscadores, validadores, servicios que recopilan datos de productos y empresas según la especificación) verá “Tom &amp; Jerry” en el nombre.

Qué entidades HTML aparecen en JSON-LD Número de apariciones en el marcado de 1,650 páginas del top 10 de Google. Un procesador estándar las lee todas de forma literal, no como un carácter. ampersand (&amp;) 1,938 la más común: “&” en nombres de empresas y productos comillas (&quot;) 1,211 comillas dentro de descripciones y títulos apóstrofo (&#39;) 1,208 en dos grafías: &#39; y &#039; otras numéricas 782 guiones, caracteres especiales, emoji como códigos espacio de no separación 550 llega desde editores visuales apóstrofo tipográfico 307 &rsquo; por la autocorrección de comillas tipográficas Qué entidades HTML aparecen en JSON-LD Número de apariciones en el marcado de 1,650 páginas del top 10 de Google. Un procesador estándar lee todas de forma literal, no como un carácter. ampersand (&amp;) 1,938 la más común: “&” en nombres de empresas y productos comillas (&quot;) 1,211 comillas dentro de descripciones y títulos apóstrofo (&#39;) 1,208 en dos grafías: &#39; y &#039; otras numéricas 782 guiones, caracteres especiales, emoji como códigos espacio de no separación 550 llega desde editores visuales apóstrofo tipográfico 307 &rsquo; por la autocorrección de comillas tipográficas
Casi todos estos caracteres se pueden escribir en JSON tal cual. Dentro de una etiqueta script, solo hay que escapar las secuencias que podrían confundirse con su cierre.

Casi todos estos caracteres se pueden escribir en JSON tal cual: el ampersand, las comillas tipográficas y el apóstrofo. Las comillas rectas dentro de una cadena JSON se escapan con una barra invertida, no con una entidad HTML. Lo único realmente prohibido dentro de una etiqueta script es una secuencia que el navegador interprete como el final del script. Para esos casos, como aconseja Google, existe el escape de JSON: \u003C en lugar de “<” y \u0026 en lugar de “&”.

Revisamos nuestro propio sitio y encontramos algo

Nuestro sitio tiene marcado en las 300 páginas que revisamos y no apareció ningún doble escape. Pero dos páginas cayeron en la clase “solo para Google”: en las migas de pan, el título de un artículo en inglés entró en el marcado como “Web 2.0 &amp; Cascade Promotion”.

La causa es exactamente la que con más frecuencia mete entidades en JSON-LD. La plantilla de la página escapa el título para mostrarlo en HTML, y el código que construye las migas de pan toma la cadena ya escapada y la pone en JSON. En pantalla todo se ve bien; en el marcado no. Lo corregimos el 29 de septiembre con una sola línea: la cadena se decodifica de nuevo antes de empaquetarla en JSON. Volvimos a revisar: cero entidades en el marcado.

Cómo revisar y corregir tu sitio

Paso 1

Encuentra entidades en el marcado

Abre el código fuente de la página, localiza los bloques application/ld+json y busca en ellos el carácter ampersand. Cualquier secuencia como &amp;, &quot;, &#39; o \u0026amp; dentro de esos bloques requiere corrección. Revisa al menos una página de cada plantilla: inicio, producto, artículo, categoría.

Comprobación: no hay ni una sola entidad HTML dentro de los bloques JSON-LD. El ampersand aparece solo como el carácter en sí o como \u0026.
Paso 2

Encuentra dónde se escapa el texto dos veces

La causa casi siempre es la misma: una cadena ya preparada para mostrarse en HTML entra en JSON. Busca en el código de dónde salen los valores del marcado: título, descripción, nombre del autor. Si se les aplica el escape HTML antes de empaquetarlos en JSON, ese es el error.

// Mal: la cadena ya está escapada para HTML: las entidades terminan en JSON-LD
$title = htmlspecialchars($post['title']);
echo json_encode(['headline' => $title]);

// Bien: el texto sin procesar va a JSON, y las banderas convierten & y < en \u0026 y \u003C
echo json_encode(['headline' => $post['title']],
    JSON_HEX_TAG | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
Comprobación: los valores del marcado provienen de los datos de origen, no de variables preparadas para mostrar en la página.
Paso 3

Si tu sitio funciona en Shopify, revisa el tema

Busca en la plantilla del marcado un filtro de escape aplicado antes del filtro json, y una descripción de producto que llegue del editor visual con entidades dentro. Aquí el orden de los filtros lo decide todo: escapa para HTML lo que va en la página y pasa el texto sin procesar a JSON.

Comprobación: el marcado del producto no contiene secuencias \u0026amp;, \u0026quot; ni \u0026#39;.
Paso 4

Verifica el resultado con las herramientas de Google

Pasa la página por la Prueba de resultados enriquecidos y por la Inspección de URL en Search Console. Fíjate no solo en que diga “sin errores”, sino en los valores de los campos: nombre, descripción, nombre del autor. Ahí es donde aparece un “&amp;” literal, algo que el validador no cuenta como error.

Comprobación: los valores del informe se ven igual que en la página, sin entidades ni caracteres extraños.

Preguntas frecuentes

¿Qué cambió exactamente Google en el análisis de JSON-LD el 21 de agosto de 2026?
Antes Google eliminaba dos veces el escape HTML del marcado; ahora lo hace una sola vez. Así, un carácter con doble escape, como un ampersand escrito como entidad de una entidad, ahora llega al valor como texto de entidad y no como el carácter. Las entidades normales, con un solo escape, Google las sigue entendiendo.

¿Cómo sé si el cambio afectó a mi sitio?
Abre el código fuente de la página y busca dentro de los bloques JSON-LD entidades escritas dos veces: un ampersand seguido de la palabra amp y luego otra entidad. En nuestra revisión esto apareció solo en el 1.6% de los sitios del top diez de Google y en el 0.7% de los sitios de clientes, y más de la mitad de los casos eran una plantilla de un mismo grupo de medios.

¿Debo eliminar las entidades HTML del marcado si Google las entiende?
Sí, si te importa que el marcado se lea correctamente más allá de Google. El estándar JSON-LD exige que estas entidades se tomen literalmente, y cualquier procesador que siga la especificación verá en el valor el texto de la entidad en lugar del carácter. En nuestra revisión, el 36% de los sitios del top diez de Google escribe su marcado de esta manera.

¿Cómo debo escribir un ampersand y comillas en JSON-LD?
Lo más sencillo es escribirlos tal cual: dentro de una etiqueta script, el ampersand, el apóstrofo y las comillas tipográficas son seguros. Las comillas rectas dentro de una cadena se escapan con una barra invertida según las reglas de JSON. Si quieres protección total contra el cierre accidental de la etiqueta script, usa el escape de JSON: \u0026 para el ampersand y \u003C para el signo de menor que.

¿Por qué los caracteres dañados son más comunes en Shopify?
No por la plataforma en sí, sino por las plantillas de los temas. El texto primero se escapa para la salida HTML y luego se empaqueta en JSON, y la entidad queda oculta dentro de un escape de JSON. En nuestra muestra esto ocurre en el 23% de los sitios de Shopify frente al 2.3% en otras plataformas.

¿Un error en JSON-LD afecta el posicionamiento?
No directamente: el marcado determina cómo puede verse una página en los resultados y con qué precisión las máquinas entienden sus datos. Pero un valor dañado llegará a un fragmento enriquecido, a una ficha de producto o a un sistema externo que lee el marcado exactamente en su forma dañada. La corrección normalmente requiere una sola línea de código.

Fuentes: publicación de Google Search Central en LinkedIn (21 de agosto de 2026), especificación W3C JSON-LD 1.1, sección 7.2, y la especificación HTML (WHATWG) sobre elementos de texto sin procesar. Datos propios: 3,167 páginas de 1,271 sitios descargadas el 29 de septiembre de 2026: el top diez de Google para 48 consultas comerciales, sitios de clientes de PromoPilot (sin nombres) y 300 páginas de promopilot.link.

Ver los precios de PromoPilot

Compartir:
Contenido