domingo, 18 de abril de 2010

La META X-UA-Compatible en Internet Explorer 8

 El navegador Internet Explorer 8 cumple parcialmente con los estándares, a diferencia de las anteriores versiones. Esto puede resultar una complicación añadida más que una solución, puesto que ahora --más que nunca-- se pueden visitar las páginas web utilizando las nuevas mejoras o ignorándolas.

 En realidad, esto no hay quien lo entienda; está claro que estamos muy lejos todavía de que un mismo sitio web se vea de igual forma en todos los navegadores, pero el hecho de que las diferencias existentes entre las distintas versiones de un mismo navegador continúen generando problemas me parece ya un atraso inaceptable.

 Con Internet Explorer 8, los usuarios pueden decidir entre los siguientes modos de compatibilidad: Emulate IE7 Mode, Emulate IE8 Mode, IE5 Mode, IE7 Mode, etc. Para aliviar un poco los problemas de compatibilidad, usaremos la META X-UA-Compatible para informar al navegador de cuál es el modo adecuado de mostrar un sitio. Al atributo content se le pueden dar los valores de IE=5, IE=7, IE=EmulateIE7, IE=8, o bien usar IE=edge, el cual indica que se utilice el modo de compatibilidad más avanzado.

 Este es el código que hay que añadir en la plantilla, concretamente en el HEAD y después de TITLE:
<meta content='IE=8' http-equiv='X-UA-Compatible'/>

domingo, 11 de abril de 2010

Etiqueta Canonical URL para combatir el contenido duplicado en Blogger

 Una de las cosas más difíciles de conseguir cuando se administra un blog es evitar el contenido duplicado que nosotros mismos generamos. Para mejorar los resultados de nuestra página en los buscadores, hay que intentar destacar el contenido más importante --los posts-- sobre el contenido duplicado que se genera en las páginas de archivos por fecha, en las de etiquetas, en las de categorías o en las de autores.

 Los buscadores Google, Yahoo y Live ya han incorporado una nueva etiqueta, Canonical URL, que ha sido creada para ayudarnos a combatir el contenido duplicado que se genera de forma automática en nuestros sitios. Más que una etiqueta HTML nueva, en realidad se trata de un atributo de la etiqueta link:
<link rel="canonical" href="http://AQUÍ URL PRINCIPAL/" />
 Esta etiqueta informa a los buscadores de que la página que están rastreando es irrelevante y de que el contenido primordial está en la página a la que hace referencia el atributo href. Para utilizarla en Blogger, hay que implementar el siguiente código condicional en el HEAD de la plantilla, debajo de TITLE:
<b:if cond='data:blog.url != data:blog.homepageUrl'>  
 <b:if cond='data:blog.pageType == "index"'>    
  <link href='http://AQUÍ URL PRINCIPAL/' rel='canonical'/>  
 </b:if>   
 <b:if cond='data:blog.pageType == "archive"'>    
  <link href='http://AQUÍ URL PRINCIPAL/' rel='canonical'/>  
 </b:if>
</b:if>

sábado, 10 de abril de 2010

Asynchronous Tracking, el nuevo script de Google Analytics

 Los scripts del código de seguimiento de Google Analytics que aún se están utilizando son urchin.js y ga.js, pero ya hay que ir pensando en efectuar la migración al nuevo Asynchronous Tracking. No se pueden utilizar dos scripts de seguimiento al mismo tiempo, así que para poder utilizar el nuevo Asynchronous Tracking, previamente se ha de eliminar de la plantilla el viejo urchin.js o el menos viejo ga.js.

 Este es un ejemplo del código del "viejo" script ga.js, que se colocaba antes del elemento resaltado en rojo:
<script type="text/javascript"> 
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
</script> 
<script type="text/javascript"> 
try{ 
var pageTracker = _gat._getTracker("UA-XXXXXXX-Y"); 
pageTracker._trackPageview(); 
} catch(err) {}</script> 
</body>
 Y este es un ejemplo del código del nuevo Asynchronous Tracking, en el que hemos de sustituir UA-XXXXXXX-Y por nuestro número de identificación de la propiedad web asignado en la correspondiente cuenta abierta en Google Analytics (el código ha de insertarse en la plantilla, antes del elemento resaltado en rojo):
<script type="text/javascript"> 
  var _gaq = _gaq || []; 
  _gaq.push(['_setAccount', 'UA-XXXXXXX-Y']); 
  _gaq.push(['_trackPageview']); 
  (function() { 
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 
  })(); 
</script>
 </head>

martes, 6 de abril de 2010

IE9.js para que Internet Explorer soporte los estándares

 Son varias las alternativas más avanzadas del CSS que aún no han sido implementadas en el navegador Internet Explorer, aunque algunas de ellas llevan ya un tiempo funcionando en la versión más reciente de IE8 y se mejorarán en IE9. Para hacer frente a estas y otras carencias, convirtiendo a IE en un navegador compatible con los estándares, el programador y diseñador de webs Dean Edwards ha creado una serie de scripts que podemos cargar directamente desde nuestra plantilla, sin necesidad de tenerlos que alojar nosotros personalmente. La última versión de la librería JavaScript IE7.js/IE8.js/IE9.js se puede consultar en Google Code. No es necesario incluir en la plantilla los scripts IE7.js/IE8.js cuando se está utilizando IE9.js.

 Para utilizar este script, lo único que hay que hacer es añadir el siguiente código antes del elemento resaltado en rojo:
<!--[if lt IE 9]><script src="http://ie7-js.googlecode.com/svn/version/2.1(beta3)/IE9.js"></script><![endif]--> 
 </head>