Generar ficheros RSS dinámicamente con ASP o PHP

Los que nos curramos ‘a mano’ nuestro weblog nos encontramos con problemas bastante inusuales entre la blogosfera, debido a que la mayor parte de webloggers utilizan alguna herramienta para la creación de weblogs.

Concretamente al intentar validar nuestro archivo RSS generado dinámicamente con código ASP o PHP, podemos encontrarnos un par de errores que nos llevarán de cabeza, debido a la poca información que hay al respecto (y lo escueta que es la ayuda del Feed Validator).

Uno de estos errores es el siguiente:

Message
Feeds should not be served with the ´text/html´ media type

Explanation
The web server is reporting an unexpected MIME type for a feed. Although we tried to parse it as a feed, aggregators may well report this as an error, and act as if the user had pointed them at something other than a feed.

Feeds should be served as application/rss+xml for RSS, application/atom+xml for Atom, or one of the more general XML types, preferably application/xml.

Solution
Use the appropriate MIME type for your feed

Al parecer, si no especificamos el tipo MIME en nuestro archivo RSS generado mediante un script de servidor, por defecto el navegador detectará que es ‘text/html’ al ser archivos con extensión .asp o .php.

A pesar de que esto no invalida nuestro archivo sindicado, sí que es detectado como un error en el Feed Validator y, por tanto, no validará. Como nos indica el mensaje de explicación, el tipo MIME para un fichero RSS debe ser ‘application/rss+xml’, aunque también valdría ‘application/xml’.

¿Cómo especificar esta característica en nuestro código? Una sencilla línea de código al principio de nuestro script bastará, que diferirá en función del lenguaje que utilicemos:

Para ASP: &lt,% Response.ContentType = ‘application/xml’ %&gt,
Para PHP: &lt,? header(‘Content-Type: application/xml’), ?&gt,

De esta sencilla manera, especificamos que se trata de un archivo en formato XML, como es el caso de un RSS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *