<?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; optimización</title>
	<atom:link href="http://www.weterede.com/tag/optimizacion/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>Mejora la velocidad de carga de tu web con mod_pagespeed para Apache</title>
		<link>http://www.weterede.com/2010/11/mejora-la-velocidad-de-carga-de-tu-web-con-mod_pagespeed-para-apache/</link>
		<comments>http://www.weterede.com/2010/11/mejora-la-velocidad-de-carga-de-tu-web-con-mod_pagespeed-para-apache/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:04:19 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[optimización]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mod_pagespeed]]></category>
		<category><![CDATA[rendimiento]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=1108</guid>
		<description><![CDATA[Hace ya un tiempo comenté algunos sencillos pasos para optimizar el tiempo de carga de tu web. Son una serie de buenas prácticas a cumplir y que puedes revisar si lo haces con herramientas como Page Speed o YSlow. Pero, ¿y si pudieras ahorrarte el trabajo de aplicar tú las optimizaciones y éstas se pudieran [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.weterede.com/wp-content/uploads/2010/11/logo-apache.png" alt="Logo del servidor Apache" title="Logo de Apache" width="174" height="127" class="alignleft size-full wp-image-1115" />Hace ya un tiempo comenté algunos sencillos pasos para <a title="Optimiza el tiempo de carga de tu web" href="http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/">optimizar el tiempo de carga de tu web</a>. Son una serie de buenas prácticas a cumplir y que puedes revisar si lo haces con herramientas como Page Speed o YSlow. Pero, ¿y si pudieras ahorrarte el trabajo de aplicar tú las optimizaciones y éstas se pudieran hacer de forma automática?<br />
<span id="more-1108"></span><br />
Google ha presentado hoy un <strong>módulo para servidores HTTP Apache llamado mod_pagespeed</strong>. Realiza muchas optimizaciones de velocidad de forma automática, sin necesidad de que el webmaster o programador tenga que preocuparse en demasiado del rendimiento.</p>
<p>Las mejoras del rendimiento se centran en la optimización de almacenamiento en caché, reducción de peticiones HTTP, minimización y optimización de recursos externos como imágenes, archivos CSS y JavaScript. Según las pruebas que han realizado con mod_pagespeed, <strong>la media del tiempo de carga de las páginas se ha reducido al 50%</strong>.</p>
<p>Algunos de los <a rel="nofollow" title="Filtros de mod_pagespeed" href="http://code.google.com/intl/es/speed/page-speed/docs/filters.html">filtros</a> u optimizaciones que pueden configurarse en mod_pagespeed son:</p>
<ul>
<li><strong>Extend caché.</strong> Pretende mejorar el uso de la caché para los recursos externos de las páginas.</li>
<li><strong>Outline CSS.</strong> Mueve los estilos en línea a un archivo externo.</li>
<li><strong>Outline JavaScript.</strong> Mueve el código JavaScript en línea a un archivo externo.</li>
<li><strong>Combine CSS.</strong> Combina distintos archivos CSS en uno sólo para reducir las peticiones HTTP.</li>
<li><strong>Inline CSS.</strong> Inserta en el HTML fragmentos de código CSS que se encuentran en archivos externos para mejorar la velocidad de renderizado de la página.</li>
<li><strong>Inline JavaScript.</strong> Inserta en el HTML código JavaScript que se encuentra en archivos externos.</li>
<li><strong>Collapse Whitespace.</strong> Reduce el tamaño del archivo HTML eliminando espacios en blanco innecesarios.</li>
<li><strong>Combine Heads.</strong> Para páginas en las que existen varias etiquetas <em>&lt;head&gt;</em>, mueve los contenidos de estas etiquetas al primer <em>&lt;head&gt;</em> de la página.</li>
<li><strong>Elide Attributes.</strong> Reduce el tamaño del archivo HTML eliminando las etiquetas de atributos que tienen como valor asignado el valor por defecto.</li>
<li><strong>Minify Javascript</strong> Minimiza el código JavaScript que se encuentre en etiquetas <em>&lt;script&gt;</em>, sin tocar código de archivos .js externos.</li>
<li><strong>Optimize Images.</strong> Reescala y recomprime imágenes.</li>
<li><strong>Remove Comments.</strong> Elimina comentarios del código HTML.</li>
<li><strong>Remove Quotes.</strong> Elimina las comillas innecesarias del código HTML.</li>
<li><strong>Rewrite CSS.</strong> Minimiza el código CSS de etiquetas <em>&lt;style&gt;</em> y <em>&lt;link&gt;</em>.</li>
<li><strong>Move CSS to HEAD.</strong> Mueve las etiquetas <em>&lt;link&gt;</em> que se encuentran después de la cabecera dentro de ésta (<em>&lt;head&gt;</em><em>&lt;/head&gt;</em>).</li>
<li><strong>Add Head.</strong> Si el documento no tiene etiquetas de cabecera, las añade.</li>
<li><strong>Add Instrumentation.</strong> Añade dos pequeños fragmentos de código JavaScript para medir el tiempo que tarda el cliente en cargar y renderizar la página, y envía esa información al servidor.</li>
</ul>
<p>Google ya está trabajando con la empresa de hosting GoDaddy para que sus más de 8.5 millones de clientes dispongan de mod_pagespeed en sus servidores, y la empresa Cotendo está también integrándolo en su red de CDNs.</p>
<p>Si quieres probarlo puedes <a rel="nofollow" title="Código fuente de mod_pagespeed para Apache" href="http://code.google.com/speed/page-speed/docs/module.html">descargar el módulo mod_pagespeed</a> de Google Code, donde está liberado el código fuente para varias distribuciones de Linux. Sigue las <a rel="nofollow" title="Instrucciones para instalar mod_pagespeed" href="http://code.google.com/intl/es/speed/page-speed/docs/using_mod.html">instrucciones de instalación</a>  y <a rel="nofollow" title="Configuración de filtros de mod_pagespeed" href="http://code.google.com/intl/es/speed/page-speed/docs/filters.html">configura los filtros</a> a aplicar a tu manera.</p>
<p>Sin duda, perece <strong>una buena manera de mejorar la velocidad de carga de tu web de forma automática</strong> sin tener que pelearte tú mismo con las optimizaciones. Habrá que probarlo.</p>
<p>Via | <a rel="nofollow" title="Make your websites run faster, automatically, try mod_pagespeed for Apache" href="http://googlecode.blogspot.com/2010/11/make-your-websites-run-faster.html">Google Code Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2010/11/mejora-la-velocidad-de-carga-de-tu-web-con-mod_pagespeed-para-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Optimiza el tiempo de carga de tu web</title>
		<link>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/</link>
		<comments>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/#comments</comments>
		<pubDate>Tue, 05 May 2009 06:50:18 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[diseño web]]></category>
		<category><![CDATA[optimización]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=248</guid>
		<description><![CDATA[Uno de los factores por los que nuestros visitantes pueden abandonar nuestra web es el tiempo de carga de las páginas. Un tiempo de carga excesivo, aparte de producir una mala experiencia de usuario, puede hacer que nuestros visitantes se aburran mientras esperan que se renderice la página mientras navegan por nuestra web. Así que [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-262 alignleft" title="grafica-rendimiento" src="http://www.weterede.com/wp-content/uploads/2009/05/grafica-rendimiento.png" alt="Tiempo de carga" width="143" height="118" /></p>
<p>Uno de los factores por los que nuestros visitantes pueden abandonar nuestra web es <strong>el tiempo de carga de las páginas</strong>. Un tiempo de carga excesivo, aparte de producir una mala experiencia de usuario, puede hacer que nuestros visitantes se aburran mientras esperan que se renderice la página mientras navegan por nuestra web. Así que os dejo una pequeña recopilación de <strong>consejos básicos para mejorar el rendimiento</strong> de nuestras páginas, muchos de ellos ayudan también a obtener un código más <strong>SEO-friendly</strong>.<br />
<span id="more-248"></span><br />
<strong>Usa páginas de tamaños moderados</strong>. Si alguna página tuya ocupa mucho tamaño, tardará mucho en descargarse. A veces es mejor dividir el contenido en varias páginas, de forma que el tamaño de cada una sea menor y cargen de forma más rápida. Lo ideal es que tus páginas no lleguen a 500KB, pero como esto es a veces dificil de conseguir, mantente por debajo de 1MB por página.</p>
<p><strong>Utiliza hojas de estilo CSS</strong>. En vez de incrustar los estilos dentro del código, mantén en archivos externos todo el código que definan el estilo de los elementos de tu web. Así el código de estilos no se descarga en cada visualización de página, la página pesa menos yse aprovecha la caché del navegador. Consejo SEO.</p>
<p><strong>Minimiza el número de peticiones de archivos externos</strong>. Si puedes, agrupa todos los archivos .css o los archivos .js en uno sólo. Así reduces el número de peticiones HTTP y la carga de la página se realiza más rápidamente.</p>
<p><strong>No uses javascript dentro del código</strong>. Agrupa y mete el código javascript en un archivo y enlázalo. Así el visitante descarga el archivo .js en la primera visualización, y para las siguientes ya tiene ese código descargado (caché).</p>
<p><strong>Enlaza los archivos javascript desde el footer, no desde el header</strong>. Los archivos .js se descargan uno detrás de otro, no de forma paralela. Si los enlazamos en el header, el navegador no puede empezar a renderizar la página hasta que no ha descargado todos los archivos. Poniendo los .js en el footer, hacemos que se descarguen cuando la página ya se ha visualizado por completo. Aunque el tiempo de carga de la página es el mismo, la sensación de velocidad es distinta, ya que dejamos el trabajo pesado de descarga para el final. Esto se puede hacer siempre que no usemos funciones javascript que sean necesarias durante la carga de la página.</p>
<div id="attachment_258" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-258" title="firebug-tiempo-descarga-javascript" src="http://www.weterede.com/wp-content/uploads/2009/05/firebug-tiempo-descarga-javascript.png" alt="Tiempo descarga javascript" width="600" height="200" /><p class="wp-caption-text">Descarga en serie de archivos javascript</p></div>
<p><strong>No uses @import en los archivos CSS</strong>. Es preferible que utilices varios enlaces &#8220;link&#8221; desde el código de la página (descarga en paralelo), que importar hojas de estilo desde otras hojas de estilo (descarga en serie).</p>
<p><strong>Usa el formato correcto en tus imágenes</strong>. Juega con archivos gif, png y jpg en las imágenes que subas a la web. Usa jpg para imágenes con mucha gama de colores, como fotos, y gif o png para aquellas que necesiten transparencias o tengan una gama de colores menor.</p>
<p><strong>Usa image sprites</strong>. Para imágenes comunes en el diseño del sitio o que se repitan en muchas páginas, es conveniente usar image sprites. Por ejemplo, si todas tus webs hacen X peticiones de imágenes para colocar iconos decorativos, es más eficiente combinar esas imágenes en una sola y por CSS asignar al elemento de la web que queramos el fragmento de la imagen que queremos mostrar. Las imágenes se pueden descargar en paralelo, por eso sólo debemos usar esta técnica para imágenes comunes en el template del sitio.</p>
<div id="attachment_260" class="wp-caption alignnone" style="width: 654px"><img class="size-full wp-image-260" title="firebug-tiempo-descarga-imagenes" src="http://www.weterede.com/wp-content/uploads/2009/05/firebug-tiempo-descarga-imagenes.png" alt="Tiempo descarga imágenes" width="644" height="403" /><p class="wp-caption-text">Descarga en paralelo de imágenes</p></div>
<p><strong>No uses redimensionamiento de imágenes dentro del código</strong>. ¿Para qué descargar una imagen a 1024&#215;768 si luego le vas a poner una anchura de 300px? Utiliza imágenes del tamaño real que vayan a tener a la hora de visualizarlas. Si vas a usar algún tipo de galería con thumbnails, conviene usar imágenes pequeñas en los thumbnails para que la página cargue rápidamente, y descargar las imágenes a tamaño real en background, aunque con esto implique aumentar el tamaño de la página.</p>
<p><strong>Evita contenido de más dentro del código</strong>. Una cosa es tener el código bien identado, y otra es que tengamos secciones con más de 100 líneas en blanco. Si eres muy purista, puedes pasar un compactador a tus archivos .css y .js para reducir el tamaño del archivo resultante. Eso sí, mantén siempre una copia sin compactar para trabajar con ella, porque editar un archivo compactado puede ser horrible. Puedes usar aplicaciones online como <a title="CSS Compressor" rel="nofollow" href="http://www.csscompressor.com/">CSS Compressor</a> o <a title="CSS Formatter and Optimiser" rel="nofollow" href="http://www.cleancss.com/">CSS Formatter and Optimiser</a> para compactar tus CSS, o <a title="YUI Compressor" rel="nofollow" href="http://developer.yahoo.com/yui/compressor/">Yahoo! UI Library: YUI Compressor</a> y <a title="Online Javascript compressor" rel="nofollow" href="http://javascriptcompressor.com/">Online Javascript compressor</a> para los archivos javascript.</p>
<p><strong>Evita enlazar contenido de otros dominios</strong>. Incluir información que esté alojada en otro dominio implica que la carga de nuestra página dependerá del estado del servidor de destino y de su tiempo de respuesta. Por ejemplo, en mi sidebar yo cargo mis dos últimos comentarios en Twitter, y cuando su sistema está muy saturado, la carga de mi web se ralentiza. Si haces algo de este estilo, no lo pongas en el header, ponlo en el sidebar derecho o footer. Así si tarda en cargar ese contenido, el header y la parte central de la web ya estará renderizado y el &#8220;atasco&#8221; se notará menos.</p>
<p><strong>Nunca uses frames</strong>. No tiene nada que ver con el rendimiento, pero conviene que no uses frames por muchos otros motivos. Los frames era como se diseñaban las webs en 1995. Consejo SEO.</p>
<p>Por último, asegurate de que todo lo que has hecho funcione. Haz pruebas y mide los tiempos de carga, para descubrir dónde se pueden producir cuellos de botella o ver qué partes puedes modificar para aumentar el rendimiento. Yo uso la extensión <a title="Extensión Firebug para Firefox" rel="nofollow" href="http://developer.yahoo.com/yslow/">Firebug</a> para Firefox junto con <a title="Extensión YSlow para Firefox" rel="nofollow" href="http://developer.yahoo.com/yslow/">YSlow</a>, pero existen muchas otras herremientas de medición online.</p>
<p><span style="text-decoration: underline;">Aclaración:</span> por si te da por revisar el código de mi blog, todavía no está optimizado. Como con WordPress se pueden utilizar muchos puglins, cada uno lleva sus propios archivos .js, .css o imágenes. Todavía estoy trabajando en su optimización, lo que requiere en muchos casos que tenga que modificar el propio código de los plugins.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/05/optimiza-el-tiempo-de-carga-de-tu-web/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Usar link en vez de import</title>
		<link>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/</link>
		<comments>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 09:20:59 +0000</pubDate>
		<dc:creator>Nacho Plaza</dc:creator>
				<category><![CDATA[optimización]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[desarrollo web]]></category>

		<guid isPermaLink="false">http://www.weterede.com/?p=176</guid>
		<description><![CDATA[Os dejo un enlace a un artículo de Steve Souders en su blog High Performance Web Sites sobre la diferencia de rendimiento entre usar @import o la etiqueta link. Don’t use @import En resumen, desaconseja el uso de @import porque los archivos que se importan se hacen de forma secuencial, mientras que con link se [...]]]></description>
			<content:encoded><![CDATA[<p>Os dejo un enlace a un artículo de Steve Souders en su blog High Performance Web Sites sobre la diferencia de rendimiento entre usar @import o la etiqueta link.</p>
<blockquote><p><a title="Don’t use import" rel="nofollow" href="http://www.stevesouders.com/blog/2009/04/09/dont-use-import/">Don’t use @import</a></p></blockquote>
<p>En resumen, desaconseja el uso de <strong>@import</strong> porque los archivos que se importan se hacen de forma secuencial, mientras que con <strong>link</strong> se hace de forma paralela.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.weterede.com/2009/04/usar-link-en-vez-de-import/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

