Si bien en los últimos años la importancia y la atención que se la da a los feeds ha decaído de la mano de la disminución de la popularidad que los blogs comparados al auge que alcanzaron hace algunos años, lo cierto es que es una herramienta aún sigue siendo importante para la visibilidad de un sitio de un sitio y a la que vale la pena prestarle atención.
¿Pero qué es un feed? Un feed o en español una fuente web o canal web (en inglés web feed) es un mecanismo que se utiliza para redifusión de contenido web más allá de los propios navegadores, para que pueda ser consumido por otro tipo de aplicaciones diferentes a los navegadores web que todos conocemos.
Es usado para suministrar el contenido, el mismo contendió de la web en un formato XML que permite ser leído por otro tipo de aplicaciones, por ejemplo los clientes RSS, aplicaciones móviles o incluso otras webs que necesiten cargar contenido externo de otra web.
El uso más conocido por los usuarios fue sin duda el de RSS, que permitía suscribirse desde una aplicación de escritorio o aplicación web Google Reader y así desde allí centralizar el poder leer las noticias en decenas, incluso cientos o miles de blogs, apenas fueran publicadas, era especialmente útil para evitar tener que ingresar sitio por sitio, cuando muchas veces algunos podían demorar semanas o meses en publicar algo nuevo.
Este método aún sigue siendo utilizado por los lectores, aunque mucho menos que antes, con la proliferación de las redes sociales y sitios como YouTube o Twitch hicieron que muchos creadores de contenido prefirieron migrar de los blogs tradicionales a las redes sociales y a contenido multimedia.
Si bien a lo largo de los años ha decaído la utilización de agregadores de noticias, aún sigue teniendo una masa fiel de usuarios, adicional a eso, los feed también puede ser una herramienta para compartir el contenido con otros sitios y/o aplicaciones, ciertos newsletters o boletines de noticias, para realizar el envío de dichos mails, leen el contenido desde los feeds, por esos motivos se hace necesario asegurarse que los feed funcionen en nuestros sitios y que cuenten con información actualizada.
Por eso muchas veces los creadores de contenido se dan cuenta de que algo no funciona cuando, por ejemplo, el newsletter que debería ser automático y que debería enviar sus últimas publicaciones no lo hace, eso se debe a que simplemente no encuentra nuevas publicaciones o directamente porque al intentarlas leer recibe un error, de forma muy habitual puede venir acompañado de un error 304.
Contenido
Falta de actualización del feed
Existen varios motivos que pueden provocar el feed no se actualice correctamente, en este artículo vamos a ver los más comunes
El feed arroja error 304
Una de las primeras comprobaciones que se debería hacer, es ver qué resultado arroja, por ejemplo, una de las mejores herramientas de validación de feeds RSS es proporcionada por W3C, aquí: https://validator.w3.org/feed/
En ella podemos determinar si se brinda un feed válido o, por el contrario, arroja un error:
This feed does not validate.
Server returned HTTP Error 304: Not Modified
line 1, column 0: XML parsing error: <unknown>:1:0: no element found
Existen diferentes errores, no necesariamente siempre será un 304, es posible que la URL no sea correcta, que el feed esté ubicado en otra URL diferente, es posible el los elementos dentro del XML están cortados, no sean válidos o contengan caracteres fuera de lugar dentro de la estructura, por ejemplo cuando el servidor web está configurado para mostrar errores y warnings,
No existe el feed o está deshabilitado
Aunque también puede deberse a que directamente el feed no esté siendo publicado, o no sea detectable o no exista, o que, simplemente, qué esté deshabilitado el feed, debido a que fue deshabilitado manualmente o que fue deshabilitado por algún plugin de seguridad como por ejemplo SG Security, iTheme Security, Wordfence o incluso el plugin de SEO Yoast.
La solución en este punto pasa por revisar los plugins y ver cuál en su configuración tiene la opción para habilitar y deshabilitar el feed, también es posible que el htaccess tenga alguna regla que esté interfiriendo o que esté bloqueando o reescribiendo la URL e impida visualizarla, en estos casos lo mejor es editar el archivo .htaccess y comentando temporalmente el código que pueda estar afectando.
En ese caso lo primero es buscar las reglas que reescriban URLs y las reglas que modifiquen los tiempos de expiración de los headers si es que estos fueron agregadas de forma manual, por ejemplo, para optimizar el sitio, o de forma automática por algunos plugins de optimización.
El feed RSS está en la caché y no se actualiza
Por un tema de optimización, es muy usual que en cualquier sitio se utilicen uno o incluso varios sistemas de caché para optimizar y acelerar la carga de las páginas de nuestra web, mitigar las cargas de trabajo e incluso para reducir costos en infraestructura y también para mejorar la experiencia en la navegación de los usuarios.
Sin embargo, estos sistemas de caché que pueden ser tanto a nivel del sitio como del servidor o incluso a través de un CDN como Cloudflare, Fastly, Akamai entre muchos otros, son una fuente potencial de mal inconvenientes si no están correctamente configurados, ya pueden generar problemas debido a que sí también es almacenado en caché el feed entonces este no se visualizará el nuevo contenido en tiempo real hasta que los servicios actualicen el caché.
El problema es que al no mostrar tus últimos contenidos en el feed los agregadores de noticias de los usuarios y servicios como Google News, por supuestos los newsletters basados en RSS que antes nombramos, no se enviarán al no localizar contenido reciente debido a que siempre encuentra el mismo contenido en el feed.
Para evitar este inconveniente, tanto si es este el problema actual como para evitar que ocurra, se debe excluir las URL de los feeds en los sistemas de caché que tengas activos en tu web, tanto a nivel del sitio, como a nivel del servidor y a nivel de CDN si lo utilizas claro.
En el caso de los plugins, todos tienen alguna opción para poder excluir URL que no se quieren cachear
Todos los plugins de caché tienen algún método u opción desde la cual se puede excluir ciertas URLs o incluso secciones completas del sitio para que no sean cacheados y dependiendo del plugin que se utiliza es desde ahí donde debes añadir dichas URLs de tu feed, la principal y más común sin dudas es ejemplo.com/feed/
Sin embargo, no es la única, en WordPress existen varias destinadas para las etiquetas, las categorías e incluso los autores, por ejemplo:
- http://example.com/feed/
- http://example.com/feed/rss/
- http://example.com/feed/rss2/
- http://example.com/feed/rdf/
- http://example.com/feed/atom/
- http://example.com/comments/feed/
- http://www.example.com/tag/tagname/feed
- http://example.com/author/[name]/feed/
- http://www.example.com/category/[category]/feed
- http://www.example.com/tag/[tag]/feed
Estas URL es específicamente para sitios con WordPress, sin embargo, es algo que aplica a cualquier tipo de sitio, las URL podrán cambiar de CMS a CMS aunque el principio es el mismo, para saber qué URLs se deben excluir se debe recurrir a la documentación de cada CMS
A nivel del servidor puede haber otros sistemas de caché, algunos pueden controlarse desde el sitio mediante plugins como por ejemplo LiteSpeed Cache que está disponible en todos nuestros planes de hosting compartido.
Otro tipo de caché que podemos llegar a estar empleando en nuestro sitio es un CDN o Content Delivery Networks, como pueden ser Cloudflare o Fastly que son muy útiles tanto por un tema de optimización como de seguridad y mitigación de ataques DDOS.
En cualquier caso, sin importar el CDN estos funcionan de forma similar al caché a nivel del sitio, por tanto, nos brindaran una sección para poder crear excepciones para ciertas URL de forma que estas no sean cacheadas mientras el resto si, en esas reglas se deben agregar las mismas URL que se agregaron anteriormente en la configuración de los plugins de caché de WordPress.
El XML del feed está roto
Otro motivo poco frecuente, aunque no imposible, por el que el feed puede no funcionar correctamente, puede venir porque el contenido tenga caracteres no válidos, por ejemplo debido al mapa de caracteres de la base de datos, por ejemplo, igualmente esto no sería algo exclusivo del feed sino que también debería ser visible desde la web al visualizar las páginas o los artículos del sitio.
Otra razón esta vez más común es porque tanto el servidor web como el propio sitio esté configurado para mostrar los errores en pantalla, esto es algo que no debería suceder en un entorno de producción, aunque sin embargo, es algo muy muy común si se habilitó para realizar algún debug y luego quedó activo permanentemente en un descuido.
La solución es bastante sencilla, solamente se debe hacer el proceso inverso que se realizó para habilitar el modo debug, por ejemplo deshabilitando la opción display_errors en cPanel, por ejemplo siguiendo esta guía sobre el Editor INI MultiPHP y deshabilitando el modo debug del CMS, en el caso de WordPress editando el archivo wp-config.php y configurando:
// Enable WP_DEBUG mode define( 'WP_DEBUG', false );
Conclusión
Como vimos no hay un solo motivo por el que el feed pueda dar problemas, por tanto, hay varias soluciones, por suerte la lista no es muy larga, en consecuencia es relativamente sencillo ir probando de una en una, ir descartando hasta cuando la Herramienta de validación de feeds RSS del W3C diga que está todo correcto y por fin dimos con la solución correcta, sin embargo, algunas como la de excluir URLs en los diferentes caches es bueno aplicarla siempre, incluso cuando aún no se haya tenido problemas.