domingo, 22 de julio de 2007

Google Sitemap y FeedBurner en Blogger

Ahora que estoy usando el atom.xml como sitemap del blog tengo un problema, también se redirige a FeedBurner y como es otro domino, me esta dando errores.
La buena noticia es que esto tiene solución, la encontré en The Quixotic Engineer es un pequeño truco para no tener que redirigir el feed a FeedBurner y así nos queda bien el atom.xml como sitemap.
Se supone que ya tenemos nuestro feed funcionando en FeedBurner y el atom.xml como sitemap en Google aunque con errores(por ahora).
Lo primero que tenemos que hacer es quitar el redireccionamiento del feed de Blogger al de FeedBurner en configuración, feed del sitio.
Ahora creamos nuestras propias autodiscovery tags para que cuando el navegador detecte que tenemos feed vaya directamente al de FeedBurner, y nos basamos en la que ya tiene nuestro blog, miramos el código fuente del blog y buscamos estas lineas:
<link rel="alternate" type="application/atom+xml" title="TUBLOG - Atom" href="http://TUBLOG.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="TUBLOG - RSS" href="http://TUBLOG.blogspot.com/feeds/posts/default?alt=rss" />
<link rel="service.post" type="application/atom+xml" title="TUBLOG - Atom" href="http://www.blogger.com/feeds/.../posts/default" />
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.blogger.com/rsd.g?blogID=..." />

Las copiamos todas a un archivo de texto temporal y borramos una de las que dicen:
<link rel="alternate" type="application/atom+xml" title="TUBLOG - Atom" href="http://TUBLOG.blogspot.com/feeds/posts/default" />
<link rel="alternate" type="application/rss+xml" title="TUBLOG - RSS" href="http://TUBLOG.blogspot.com/feeds/posts/default?alt=rss" />

Con la que nos quedemos la cambiamos a manera que quede algo asi:
<link rel="alternate" type="application/atom+xml" title="TUBLOG - FeedBurner" href="http://feeds.feedburner.com/TUFEEDBURNER" />

Ahora modificamos la plantilla, activamos expandir artilugios y buscamos este código:
<b:data='blog' name='all-head-content'>

Lo reemplazamos por el que tenemos en el archivo de texto y así el navegador ira a FeedBurner directamente.

Actualizacion: Lo que faltaría ahora es modificar el link Suscribirse a entradas (Atom) que aparece al final de la pagina principal para que apunte al feed de FeedBurner, buscamos este fragmento de código en nuestra plantilla:
(Siempre con expandir artilugios activado)
<b:includable id='feedLinksBody' var='links'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>

Y lo reemplazamos por este otro:
<b:includable id='feedLinksBody' var='links'><b:if cond='data:blog.pageType == "item"'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
<b:else/>
<div class='feed-links'>
<data:feedLinksMsg/>
<a href='http://feeds.feedburner.com/TUFEEDBURNER' target='_blank'>Entradas</a>
</div>
</b:if>
</b:includable>

Gracias a Mr. Bubbles por ayudarme a mejorar bastante este pequeño truco.

23 comentarios:

Mr.Bubbles dijo...

Thanks for the link, I'm happy that you found that my post was useful.

Mr.Bubbles dijo...

I've been looking at adding a slightly modified version of what you did. I would first of all implement the conditional statement you suggested into feedLinksBody. Then I would add something like this:

<b:includable id='feedMainPage' var='links'>
<b:if cond='data:blog.pageType != "item"'>
<div>Subscribe to my <a href='http://feeds.feedburner.com/quixotic-engineer'><img src='http://img.photobucket.com/albums/v410/Tolbi/atom_feed.gif' title='Click here to subscribe to my Atom feed'/></a></div>
</b:if>
</b:includable>

Then further down:

<!-- feed links -->
<b:include name='feedLinks'/>
<b:include name='feedMainPage'/>

For some reason, however, this gives me a strange error message from Blogger. Do you have any idea how I might fix my code?

Juls dijo...

Si Mr. Bubbles muchas gracias, me fue muy útil tu post.

Juls dijo...

Excelente idea!!!
Yo puse mi código así y me funciona perfecto:
<b:if cond='data:blog.pageType == "item"'>
<div class='feed-links'>
<data:feedLinksMsg/>
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
<b:else/>
<div class='feed-links'>
<data:feedLinksMsg/>
<a href='http://feeds.feedburner.com/blogdejuls' target='_blank'>Entradas</a>
</div>
</b:if>

Mr.Bubbles dijo...

That's exactly what I was looking for, thanks alot.

Juls dijo...

Que bueno que intercambiando ideas logramos hacerlo de una mejor manera!!!

javihm77 dijo...

no seas mamon Julio!!! sos locuras sos vos...

Juls dijo...

No son locuras vos!!! Es apoyo entre bloggers. Vos deberías unirte ya a la blogosfera.

tuxtor dijo...

Esta de a huevo tu blog no se como diste con el mio que esta algo asi como en su alpha release pero igual que bueno que siempre tengamos algo que escribir, que desestresante es ser blogger.

Juls dijo...

Si vos, es muy bueno ser blogger y darte a conocer y de vez en cuando escribir algo útil para otros.

Bloguitar dijo...

¡Muchísimas gracias por el artículo! Me ha ayudado, porque no tenía ni idea de como arreglar el problema que tenía con el sitemap, pero ahora está solucionado.

Un saludo!
http://bloguitarists.blogspot.com/ ;)

Antonio F. Marín dijo...

No me ha valido, porque al navegar con el Internet Explored me salen unas letras muy raras pues no lee los acentos. Y lo he tenido que quitar. No sé porqué será.

Gerardo Blanco dijo...

Hola Juls:
Gracias por el post, che, muy útil. Agregué el sitemap y también me salieron los errores y buscando me encontré con tu blog.
Veremos ahora si me funciona, pero todo parece ser que sí.
Gracias de nuevo.
Saludos.

Jose Losada dijo...

No seria mas facil hace esto.
http://phydeaux3.blogspot.com/2007/10/blogger-feedburner-sitemaps-and.html

Juls dijo...

Si, definitivamente es una alternativa mas fácil, me gusto, la voy a probar gracias por la sugerencia.

Ariel Flesler dijo...

Tenes una opcion mucho mas simple, que no requiere tocar el template.
A Google le pasas como sitemap, la siguiente URL:
  atom.xml?redirect=false

Y listo, evitas la redireccion a FeedBurner.

Saludos

Juls dijo...

Gracias Ariel, ya hace tiempo que lo uso de esa manera.

http://blogdejuls.blogspot.com/2007/12/google-sitemap-y-feedburner-en-blogger.html

Ikanus dijo...

Juls ya cambie la direccion del feed en mi blog, ojala puedas chequearlo y verificar que este bien. Gracias por tu consejo, saludos.

Juls dijo...

Si esta bien Ikanus.

Anónimo dijo...

Gracias por la ayuda
http://lenguaje-de-las-cosas-calladas.blogspot.com

Naftalinus dijo...

excelente artículo, gracias majo

Naftalinus dijo...
Este comentario ha sido eliminado por el autor.
Anónimo dijo...

Muchas gracias por su apoyo, Juls. Hemos conseguido resolver este error en nuestro blog. Aunque lo habíamos intentado desde la cuenta de webmasters de Google, con la opción de enviar el feed como sitemap, continuaba dando error (Su sitio en la Web > Estadísticas de suscriptor [menú, enlace a la derecha]). Gracias por su espíritu colaborativo, siga así, el mundo mejorará y no solamente la blogosfera.