<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Weterede! &#187; sociable</title>
	<atom:link href="http://www.weterede.com/tag/sociable/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.weterede.com</link>
	<description>Blog sobre programación, diseño web y tecnologías de la información</description>
	<lastBuildDate>Fri, 10 Jun 2011 02:40:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<atom:link rel='hub' href='http://www.weterede.com/?pushpress=hub'/>
		<item>
		<title>El plugin Sociable para WordPress hace mi blog el doble de lento</title>
		<link>http://www.weterede.com/2009/11/el-plugin-sociable-para-wordpress-hace-mi-blog-el-doble-de-lento/</link>
		<comments>http://www.weterede.com/2009/11/el-plugin-sociable-para-wordpress-hace-mi-blog-el-doble-de-lento/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 06:04:06 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[optimización]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[sociable]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=854</guid>
		<description><![CDATA[Sociable es un plugin para WordPress que permite añadir unos enlaces al final de cada entrada para compartir tu entrada en distintos servicios web o redes sociales. Se encuentra instalado en gran cantidad de blogs y fue uno de los primeros que yo mismo instalé cuando creé Weterede! Hasta que hace poco decidí revisar el [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-866 alignleft" title="WordPress" src="http://www.weterede.com/wp-content/uploads/2009/11/logo-wordpress-cristal.jpg" alt="Logo de WordPress" width="140" height="140" /><strong>Sociable</strong> es un plugin para WordPress que permite añadir unos enlaces al final de cada entrada para compartir tu entrada en distintos servicios web o redes sociales. Se encuentra instalado en gran cantidad de blogs y fue uno de los primeros que yo mismo instalé cuando creé Weterede! Hasta que hace poco decidí revisar el rendimiento del blog y me dí cuenta de que <strong>el plugin Sociable duplicaba el tiempo de carga de mi web</strong>.<br />
<span id="more-854"></span><br />
<br/><br />
<strong>Actualización [13/06/2010]: tras alguna actualización del plugin, ya no sufro el problema que detallo. Parece que ya han solucionado el problema.</strong></p>
<h2>El problema: CSS Sprites mal implementado</h2>
<p>El problema con el plugin se da principalmente cuando habilitamos la opción de usar CSS sprites. Los CSS Sprites se utilizan para insertar imágenes en las páginas pero utilizando CSS en vez de las etiquetas <code>&lt;img/&gt;</code> de HTML. El objetivo de hacerlo de esta forma es reducir el número de peticiones HTTP que realiza nuestro navegador al servidor para descargar cada una de las imágenes. Así que combinamos todas las imágenes en una sóla, y por medio de CSS indicamos que parte de ese <em>mapa</em> que hemos creado corresponde a cada imagen.</p>
<p style="text-align: center;"><img class="size-full wp-image-863 aligncenter" title="Ejemplo de sprite CSS" src="http://www.weterede.com/wp-content/uploads/2009/11/services-sprite.png" alt="Imagen de ejemplo de sprite CSS" width="360" height="90" /></p>
<p>Además del tiempo de descarga, cada petición HTTP conlleva una resolución DNS, conexión con el servidor y una cola de espera. A medida que aumentemos el número de imágenes y de peticiones al servidor, estos tiempos se irán sumando. Por lo tanto provocarán una demora en la carga de la página. Con los CSS Sprites, descargaremos únicamente un archivo de imagen (el <em>mapa</em>). Esta imagen suele ser algo mayor que la suma de las imágenes que hemos combinado, pero la ventaja es que <strong>sólo se realizará una única petición HTTP</strong>.</p>
<h2>La solución</h2>
<p>No he mirado mucho el código del plugin para ver dónde está el problema, pero la solución es clara. <strong>Activa la opción de <em>Disable sprite usage for images</em> en la configuración del plugin</strong>. Así hacemos que use el método tradicional de usar una imagen por cada servicio web que tengamos habilitado para compartir.</p>
<p>Ten en cuenta que aunque no uses los CSS sprites, el plugin también generará algo de tráfico extra a tus visitantes, por lo que el tiempo de descarga de la página será algo mayor de lo normal. Pero será muchísimo menor que si mantienes habilitados los CSS sprites.</p>
<h2>Rendimiento del plugin Sociable</h2>
<p>Para comprobar realmente el retardo en la carga de una página que provoca el plugin, os dejo las mediciones que he hecho usando la última entrada publicada del blog para las mediciones.</p>
<p style="text-align: center;"><img class="size-full wp-image-861 aligncenter" title="Peso de una página con el plugin sociable" src="http://www.weterede.com/wp-content/uploads/2009/11/sociable-peso-pagina.png" alt="Gráfica comparando el peso de una página con y sin el plugin" width="590" height="346" /></p>
<p>El tamaño de todos los elementos de la página ha pasado de 191KB a 800KB, es decir, <strong>600KB extras de imágenes descargadas con los CSS sprites habilitados</strong>. Con el plugin activado pero deshabilitando los CSS sprites, apenas suponen 5KB de imágenes más.</p>
<p style="text-align: center;"><img class="size-full wp-image-864 aligncenter" title="Tiempo de carga de una página" src="http://www.weterede.com/wp-content/uploads/2009/11/sociable-tiempo-carga.png" alt="Gráfica comparando el tiempo de carga de una página con y sin el plugin" width="590" height="343" /></p>
<p>La página de prueba sin plugin cargaba en menos de 5 segundos. Habilitando el plugin Sociable, el tiempo de carga supera los 6 segundos. Pero con el plugin activado y los CSS sprites habilitados, <strong>el tiempo de carga se dispara por encima de 9 segundos</strong>. En mi caso, eso supone que tener Sociable activado con CSS sprites duplica el tiempo de carga de una página de mi blog. Con el plugin activado pero sin CSS sprites, el tiempo de carga aumenta en un 30%, pasando de 4,64 segundos a 6,1.</p>
<p>Respecto al número de peticiones HTTP de imágenes, la página sin el plugin realiza 13 peticiones. Activando Sociable pasamos a 25 peticiones, y si habilitamos el uso de los CSS sprites llega hasta 37 peticiones de imágenes.</p>
<p>¿Tú también tienes este plugin instalado en tu blog? <strong>¿Te pasa lo mismo?</strong> Me gustaría alguna confirmación para descartar problemas de mi instalación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/11/el-plugin-sociable-para-wordpress-hace-mi-blog-el-doble-de-lento/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

