Los errores en los feeds RSS constituyen una categoría propia porque un feed es leído por máquinas: un solo carácter fuera de lugar invalida todo el archivo. La referencia de Yandex explica el porqué y ofrece un procedimiento de corrección para cada error.
Por qué fallan los feeds
Un feed debe cumplir requisitos estrictos: formato de datos, campos obligatorios, límites en la longitud de cadenas y URLs, codificación XML y sintaxis. Yandex señala los pequeños detalles que arruinan un archivo: una comilla adicional, un formato de fecha incorrecto o una URL demasiado larga.
Los errores de análisis
- Atributos mal formados: los valores deben ir entre comillas, las comillas deben coincidir, los atributos no deben solaparse ni anidarse incorrectamente, los caracteres especiales deben estar escapados (
&en lugar de un ampersand simple) y ningún elemento puede repetir un nombre de atributo. - Falta de comillas: cada comilla de apertura necesita su correspondiente cierre. El consejo práctico de Yandex: si el archivo fue editado manualmente, revisa qué fue lo último que se cambió.
- Cabecera HTTP redefinida incorrectamente: cabeceras duplicadas o mal configuradas en el feed.
- CDATA cerrado incorrectamente: cada sección va desde
<![CDATA[hasta]]>, y un]perdido en su interior puede cerrarla prematuramente. Este es el error más sutil, porque el archivo parece correcto pero el analizador no lo reconoce. - Carácter no válido: un carácter fuera del rango permitido por el formato.
El método de trabajo que prescribe Yandex
- Encuentra el código de error.
- Lee qué significa.
- Sigue los pasos.
- Corrige todos los errores reportados de la misma manera.
- Envía para una nueva verificación.
- Aplica los consejos de prevención para que no vuelva a ocurrir.
La instrucción recurrente que merece generalizarse
Casi cada entrada termina con las mismas dos sugerencias: pasa el archivo por un validador XML o YML y, si el feed se genera mediante programación, revisa el código que lo genera. Esa es la solución real. Un feed corregido a mano volverá a fallar en la siguiente publicación; un generador corregido una vez deja de producir el error.
Cómo lo aplicamos
We treat every feed error as a generator bug rather than a file to patch, which is what Yandex effectively recommends. The one that costs the most time is the prematurely closed CDATA section, because the file reads correctly to a human. Running the feed through a validator on every build — not only when something is reported — is a five-minute pipeline addition that removes this whole category.
Servicios relacionados