<?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>Archivos de w3 total cache &#187; Endless Manifesto</title>
	<atom:link href="https://kadai.com.mx/tag/w3-total-cache/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Un blog personal sobre muchas cosas, en especial videojuegos, descubrimientos y escritos al azar.</description>
	<lastBuildDate>Wed, 31 Oct 2018 18:51:42 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://kadai.com.mx/wp-content/uploads/2017/08/new-favicon-88x88.png</url>
	<title>Archivos de w3 total cache &#187; Endless Manifesto</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">126519727</site>	<item>
		<title>Swift Performance Lite: Acelera tu Sitio Web</title>
		<link>https://kadai.com.mx/swift-performance-lite-acelera-tu-sitio-web/</link>
					<comments>https://kadai.com.mx/swift-performance-lite-acelera-tu-sitio-web/#respond</comments>
		
		<dc:creator><![CDATA[Kadai Crosshansen]]></dc:creator>
		<pubDate>Wed, 31 Oct 2018 18:59:24 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[sitio web]]></category>
		<category><![CDATA[swift performance]]></category>
		<category><![CDATA[w3 total cache]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp super cache]]></category>
		<guid isPermaLink="false">https://kadai.com.mx/?p=1456</guid>

					<description><![CDATA[<p>Swift Performance es un plugin de WordPress relativamente nuevo, del cual me tope por recomendaciones en la red. Tras probarlo por algún algún tiempo, me ha dejado sorprendido. Recientemente escribí sobre la migración que realice de W3 Total Cache a WP Super Cache. En el cual explique algunos problemas que tuve con W3 Total Cache. [&#8230;]</p>
<p>The post <a href="https://kadai.com.mx/swift-performance-lite-acelera-tu-sitio-web/">Swift Performance Lite: Acelera tu Sitio Web</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Swift Performance es un plugin de WordPress relativamente nuevo, del cual me tope por recomendaciones en la red. Tras probarlo por algún algún tiempo, me ha dejado sorprendido.</p>



<span id="more-1456"></span>



<p>Recientemente escribí sobre la migración que realice de <a href="https://kadai.com.mx/2018/07/15/adios-w3-total-cache-hola-wp-super-cache/" target="_blank" rel="noreferrer noopener">W3 Total Cache a WP Super Cache</a>. En el cual explique algunos problemas que tuve con W3 Total Cache.</p>



<p>Sin embargo, la solución de <em>WP Super Cache + Autoptimize</em> no me tenia del todo contento. Las cosas se podían mejorar. En especial, el rendimiento de ambos plugins. Ya que no era de mi completo agrado.</p>



<p>Es ahí que escuche de <a href="https://wordpress.org/plugins/swift-performance-lite/" target="_blank" rel="noreferrer noopener">Swift Performance Lite</a> y decidí probarlo.</p>



<h3 class="wp-block-heading">Instalando y probando Swift Performance</h3>



<p>Tras instalar Swift Performance Lite, una de las cosas que debemos de hacer primero es el ejecutar su Wizard de instalación.</p>



<p>La gran ventaja es que prácticamente todo esta automatizado. El plugin detecta correctamente muchas de las opciones del entorno. Además de que mostrará cualquier problema que tenga el servidor.</p>



<p>Con lo cual sabemos que debemos cambiar o instalar para mejorar el desempeño en general.</p>



<p>En el Wizard de Instalación podemos incluso elegir muchas de las opciones más importantes. Como la forma en la cual controlaremos cuando se expira el cache. O si queremos incluso purgar el cache de Cloudflare, si usamos esa solución.</p>



<div class="wp-block-image"><figure class="aligncenter"><img fetchpriority="high" decoding="async" width="760" height="873" src="https://kadai.com.mx/wp-content/uploads/2018/10/002-swift-performance-lite-wizard.png" alt="Imagen de las opciones del Wizard de Instalación de Swift Performance Lite." class="wp-image-1458" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/002-swift-performance-lite-wizard.png 760w, https://kadai.com.mx/wp-content/uploads/2018/10/002-swift-performance-lite-wizard-480x551.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 760px, 100vw" /></figure></div>



<p>Además incluye un minificador de código Javascript y CSS. Que si bien ya no es tan extremadamente necesario, siempre es bueno tener esas opciones.</p>



<p>Con la configuración detectada por Swift Performance Lite, se tiene una base sólida sobre la cual trabajar.<br></p>



<p>Dependiendo de las condiciones de tu servidor, el desempeño se puede sentir incluso mejor que con W3 Total Cache o WP Super Cache.</p>



<p>Personalmente, he encontrado que el desempeño puede ser mejor que con los plugins antes mencionados.</p>



<h3 class="wp-block-heading">Afinando Swift Performance Lite</h3>



<p>Sin embargo, en algunos casos, se necesita de realizar algunos cambios a la configuración. En especial si usamos software adicional o si observamos comportamientos erráticos.</p>



<p>En mi caso, me gusta combinar Javascript y CSS externo. Con lo cual están disponibles aunque el medio original tenga problemas.</p>



<p>Para activarlo, debemos de ir a <strong><em>Settings » Optimization » Scripts</em></strong> y asegurarnos de la opción de <strong><em>Exclude 3rd Party Scripts</em></strong> este desactivada.</p>



<p>Ahí mismo, debemos de indicarle a Swift Performance que recursos queremos omitir a la hora de combinar scripts. En mi caso, declaro los siguientes:<br></p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="785" height="139" src="https://kadai.com.mx/wp-content/uploads/2018/10/003-swift-performance-lite-excluir-scripts.png" alt="Excluyendo scripts en Swift Performance Lite" class="wp-image-1459" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/003-swift-performance-lite-excluir-scripts.png 785w, https://kadai.com.mx/wp-content/uploads/2018/10/003-swift-performance-lite-excluir-scripts-480x85.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 785px, 100vw" /></figure></div>



<p>Como se puede ver, es relativamente sencillo el decirle que recursos no se han de combinar. Esto es realmente útil si encontramos problemas o si el cache crece demasiado rápido.</p>



<p>Otra de las opciones que ofrece Swift Performance es la posibilidad de usar el Lazyload de imágenes. Esta característica se encuentra bajo <em><strong>Settings » Media » Images</strong></em>.</p>



<p>Ahí podemos decidir si queremos usar esta opción y que condiciones causarán que se cargue la imagen completa.</p>



<h3 class="wp-block-heading">Páginas 404, Archivos y Autores: ¿Agregarlas al Cache?</h3>



<p>Otra de las opciones que permite Swift Performance Lite es la posibilidad de almacenar en el cache las páginas de error HTTP 404 (no encontrado), las páginas de los archivos o de los perfiles.</p>



<p>Si bien el guardar en cache estás páginas suena tentador, es algo que se debe de analizar profundamente.</p>



<p>Personalmente decidí no permitir que se agreguen estas páginas al cache, ya que pueden interferir con las re-direcciones o registros de apache.</p>



<p>Sin embargo, puedes encontrar esta opción en <em><strong>Settings » Caching » General</strong></em>.</p>



<p>Igualmente Swift Performance nos permite decidir si queremos guardar en el cache ciertas páginas como son end-points del REST API, Feeds, etc.</p>



<p>En <strong><em>Settings » Caching » Exceptions</em></strong> encontrarás estas opciones.</p>



<p>Si consideras que te será útil, puedes desactivar los casilleros. Pero personalmente he encontrado que pueden generar que el tamaño del cache crezca mucho.</p>



<p>Dependerá de cada caso si se ha de activar o no.</p>



<h3 class="wp-block-heading">Otras opciones de Swift Performance Lite</h3>



<p>Además de encargarse del cache, Swift Performance también nos permite realizar otras tareas. Como lo es el realizar un mantenimiento a nuestra Base de Datos de WordPress.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="468" height="184" src="https://kadai.com.mx/wp-content/uploads/2018/10/004-swift-performance-lite-optimize-database-e1540949230425.png" alt="" class="wp-image-1460" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/004-swift-performance-lite-optimize-database-e1540949230425.png 468w, https://kadai.com.mx/wp-content/uploads/2018/10/004-swift-performance-lite-optimize-database-e1540949230425-300x118.png 300w, https://kadai.com.mx/wp-content/uploads/2018/10/004-swift-performance-lite-optimize-database-e1540949230425-20x8.png 20w" sizes="(max-width: 468px) 100vw, 468px" /></figure></div>



<p>Si bien el tipo de herramientas que ofrece son básicas, como es <em>Reindexar</em> u <em>Optimizar la Base de Datos</em>, <em>Eliminar Transients</em>, <em>Revisiones</em>, <em>Comentarios </em>o <em>Usuarios</em>; estas son generalmente las que más se usarán para obtener una pequeña mejora en el desempeño. Especialmente notorio si la Base de Datos es grande.<br></p>



<p>Una opción, relacionada al mantenimiento, que es realmente bienvenida y que nos ahorra el tener que depender de otra herramienta adicional.<br></p>



<p>Finalmente, otra de las opciones adicionales en Swift Performante Lite, es la del Plugin Organizer.</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" width="325" height="184" src="https://kadai.com.mx/wp-content/uploads/2018/10/005-swift-performance-lite-plugin-organizer.png" alt="" class="wp-image-1461" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/005-swift-performance-lite-plugin-organizer.png 325w, https://kadai.com.mx/wp-content/uploads/2018/10/005-swift-performance-lite-plugin-organizer-300x170.png 300w, https://kadai.com.mx/wp-content/uploads/2018/10/005-swift-performance-lite-plugin-organizer-20x11.png 20w, https://kadai.com.mx/wp-content/uploads/2018/10/005-swift-performance-lite-plugin-organizer-150x85.png 150w" sizes="(max-width: 325px) 100vw, 325px" /></figure></div>



<p>Con esta, nosotros podemos indicar en que circunstancias se deben de desactivar ciertos plugins. Ya sea si se visita una página en especifico, si el usuario actual tiene un determinado nivel, si se está ejecutando en contexto AJAX, etc.</p>



<p>Esta opción, si es configurada correctamente, puede ayudar a mejorar el rendimiento del sitio web en ciertos escenarios. En especial es útil si se quieren optimizar los recursos en un entorno limitado o con alta demanda.</p>



<h2 class="wp-block-heading">Problemas con Swift Performance Lite</h2>



<p>Por desgracia, no todo es miel sobre hojuelas. Algo que en verdad ha de esperarse cuando se prueba un plugin nuevo.</p>



<p>Sin embargo estos problemas pueden ser solucionados relativamente fácil, ya que solo hace falta aplicar pequeños parches de código. He visto buen potencial en este plugin que he decidido seguir adelante con este a pesar de esos pequeños detalles.</p>



<p>Esto son algunos de los problemas que he encontrado y como puedes solucionarlos:</p>



<h4 class="wp-block-heading">1. Swift Performance guarda en cache páginas de error</h4>



<p>Si tienes soluciones de seguridad para WordPress como <a href="https://wordpress.org/plugins/wordfence/" target="_blank" rel="noreferrer noopener">Wordfence</a>, es muy posible que en algunos escenarios te encuentres con problemas si usas Swift Performance Lite.</p>



<p>Además de Wordfence, yo también cuento con soluciones de seguridad adicionales creadas a medida.</p>



<p>En ambos casos, observe que los errores 503 de Wordfence y los 403 de mi solución eran guardados en el cache de Swift Performance Lite.</p>



<p>Peor aún, las páginas de error generadas y guardadas en el cache le eran mostradas a los visitantes como si fuera la correcta.</p>



<p>En casos como este, normalmente buscarías los códigos de error en el Log de Apache. Pero estos no aparecian por ningún lado. Resulto que estaban en el registro con códigos HTTP 200.<br></p>



<p>Eventualmente encontré el origen del problema en Swift Performance y tras revisar su código también la forma de solucionar ese tipo de problemas:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>En este ejemplo, usamos el filtro <code>swift_performance_is_cacheable</code> junto con la función <code>http_response_code</code> para obtener el estado actual de la petición y saber si se debe de permitir que se almacene en el cache.</p>



<p>En este caso, use una lista predeterminada de códigos de error típicos, pero se puede comparar solamente contra el código HTTP 200:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>Sin embargo, en este caso en especifico, se requerirá realizar pruebas para saber si genera los resultados deseados.</p>



<h4 class="wp-block-heading">2. Swift Performance agrega páginas inesperadas al warmup</h4>



<p>Otro mal hábito de Swift Performance Lite es el hecho de que agrega a su tabla de warmup recursos como el <em>robots.txt</em> e incluso end-points del REST API, sitemaps, entre otros.<br></p>



<p>Además, cuando algún bot intenta acceder a un recurso vulnerable, también se agrega esa página a la tabla de warmup de Swift. Esto si se regresó un error diferente al de no encontrado.</p>



<p>Si queremos evitar que Swift haga esto, podemos definir que clase de urls se deben de excluir desde el back-end de WordPress.</p>



<p>Pero también lo podemos hacer usando un poco de código:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>En este caso, se usó de nueva cuenta el filtro <code>swift_performance_is_cacheable</code> para filtrar si Swift Performance deberá de guardar la página en el cache.<br></p>



<p>Entonces se compara la variable <code>$_SERVER['REQUEST_URI']</code> contra un array pre-definido.</p>



<p>La ventaja de este método es que la lista no puede ser modificada desde el plugin, con lo cual prevenimos que la lista sea eliminada si se restauran los valores por defecto de Swift Performance.<br></p>



<p>Otra alternativa a esta solución es el usar la propiedad <var>$wp-&gt;request</var> que ofrece WordPress. Sin embargo, esto solo funcionará en el front-end.</p>



<p>Una limitación que puede ser problemática, en especial si queremos filtrar resultados que incluyan páginas del back-end.</p>



<p>Finalmente, también puedes obtener el valor original usando&nbsp; <code>filter_input(INPUT_SERVER, 'REQUEST_URI')</code>. En especial si sospechas que otro plugin manipula esta variable global.<br></p>



<h4 class="wp-block-heading">3. No se eliminan algunos de los archivos del Cache de Swift Performance Lite</h4>



<p>Otro de los problemas de Swift Performance, e incluso de W3 Total Cache, es que una vez que ha expirado un elemento del cache, este no siempre se elimina.</p>



<p>Estos archivos pueden permanecer guardados ahí por tiempo indefinido.</p>



<p>Si tenemos muchos visitantes o múltiples páginas, esto puede hacer que el cache crezca muy rápido a un tamaño excesivo.</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="539" height="127" src="https://kadai.com.mx/wp-content/uploads/2018/10/006-swift-performance-lite-cache-size.png" alt="Ejemplo del tamaño de cache generado por Swift Performance Lite." class="wp-image-1464" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/006-swift-performance-lite-cache-size.png 539w, https://kadai.com.mx/wp-content/uploads/2018/10/006-swift-performance-lite-cache-size-480x113.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 539px, 100vw" /></figure></div>



<p>En este caso, el cache llego a ser de casi 2GB. Lo cual claramente muestra un problema por que solo se tienen 79 páginas en la tabla de warmup.</p>



<p>¿De donde ha salido todo los demás?<br></p>



<p>Una solución rápida es simplemente limpiar el cache manualmente a intervalos regulares. Pero puede ser tedioso después de un tiempo o si se tienen múltiples sitios web que administrar.</p>



<p>Una solución más práctica es el definir un Cron Job de WordPress y que este haga el trabajo por nosotros:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>En este caso, se están usando las propias clases de Swift Performance para saber el tamaño actual del cache, calcular cual debería de ser su tamaño y eventualmente limpiarlo si es necesario.<br></p>



<p>Adicionalmente, también se puede limpiar el cache una vez al día. En ese caso, se define un cron job el cual solamente haría lo siguiente:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>Hay que tener en mente que, debido a que es un trabajo cron de WordPress, es posible que no siempre se ejecute. Esto en especial en sitios web con poco tráfico.</p>



<p>Para esos casos, es posible el crear un script especial y agregarlo a los trabajos cron del servidor. Pero ello está un poco más allá del alcance de esta entrada.<br></p>



<h4 class="wp-block-heading">4. Multiples Hosts en el cache de Swift Performance Lite</h4>



<p>Cuando se cuenta con una instalación de multisitios, es de esperarse que un plugin como Swift genere una carpeta por cada dominio que sirve contenido desde una instalación en especifico de WordPress.</p>



<p>Sin embargo, a veces esto también sucede con las instalaciones regulares, bajo ciertas condiciones.</p>



<p>Por ejemplo, si cuentas con una instalación de WordPress en un VPS y Apache ha definido a ese servidor virtual como el principal&#8230; entonces es posible que te encuentres con una sorpresa.</p>



<p>Swift Performance crea una carpeta en su directorio de cache por cada dominio que accede a la instalación en donde esta presente. Pero cada una de esas carpetas solo se puede acceder desde el dominio que la creo.</p>



<p>Así, si cuentas con una instalación que se puede acceder desde <code>www.ejemplo.com</code>, <code>ejemplo.com</code> y una IP como <code>123.456.789.012</code>, entonces terminarás con 3 carpetas.</p>



<p>Pero para limpiar el cache generado para <code>123.456.789.012</code>, deberás de ingresar directamente en esa dirección. No puedes limpiar ese cache desde <code>www.ejemplo.com</code>. Pero tampoco la de <code>ejemplo.com</code>.<br></p>



<p>Sin embargo, puedes <em>mostrarle </em>a Swift cuales son los hosts y carpetas que puede ver haciendo uso del filtro <code>swift_performance_enabled_hosts</code>:</p>



View the code on <a href="https://gist.github.com/kadai/5afeb2356e628d788577d1f70e2eb5dc">Gist</a>.



<p>En este caso, nosotros obtuvimos todas las carpetas en root del cache de Swift Performance y los regresamos como si fueran nombres de dominio.</p>



<p>De esta forma, el cache generado para otros dominios se puede ver, administrar y purgar desde el back-end. </p>



<p>Hay que tener en cuenta, por supuesto, que en el caso de las instalaciones multisitio; esta solución puede generar problemas. Por lo cual pudiera necesitar validaciones adicionales.<br></p>



<h4 class="wp-block-heading">5. Problemas cuando se corre WP-CLI con Swift Performance</h4>



<p>Una de las herramientas más importantes para administrar WordPress, desde la línea de comandos, es la de WP-CLI.</p>



<p>Con ella podemos hacer una infinidad de tareas para administrar las instalaciones&nbsp; el software. Sin embargo, Swift Performance parece emitir ciertas advertencias cuando es ejecutado en este tipo de entorno.</p>



<p>Por ejemplo, emite un error cuando intenta usar el indice <code>HTTP_HOST</code>. El cual no se define en contexto de línea de comandos.</p>



<p>Por lo cual, para evitar algunos problemas, o que la salida de la consola pierda formato; siempre es bueno desactivarlo con el siguiente parámetro:</p>



<p><code>wp plugin list --skip-plugins=swift-performance-lite</code></p>



<p>Solo con el agregar la opción <code>--skip-plugins</code>, se puede corregir el pequeño problema. Ya que si no se ejecuta Swift Performance Lite en el entorno CLI, entonces este no tratará de optimizar esas salidas.</p>



<h3 class="wp-block-heading">Conclusiones sobre Swift Performance Lite</h3>



<p>Si bien, como cualquier plugin nuevo, todavía tiene mucho que mejorar; Swift Performance me ha dejado sorprendido en muchas áreas.</p>



<p>Por ejemplo, este es uno de los resultados que he obtenido usando este plugin como solución de cache:</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="733" height="301" src="https://kadai.com.mx/wp-content/uploads/2018/10/007-swift-performance-lite-speed-test.png" alt="Prueba de desempeño del sitio web con Swift Performance Lite" class="wp-image-1467" srcset="https://kadai.com.mx/wp-content/uploads/2018/10/007-swift-performance-lite-speed-test.png 733w, https://kadai.com.mx/wp-content/uploads/2018/10/007-swift-performance-lite-speed-test-480x197.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 733px, 100vw" /></figure></div>



<p>Para nada despreciable. Incluso ya por debajo de un segundo de carga. Algo que invariablemente buscaba lograr, pero me era algo elusivo con otras soluciones.</p>



<p>Claro, siempre ayuda mucho el contar con un servidor optimizado.</p>



<p>Vale la pena el tomarse el tiempo probar este plugin, el cual ofrece buenos beneficios por default. Aunque obtienes mucho más de este una vez sabes donde tienes que apuntalar.</p>



<p>¿Ustedes que opinan al respecto?</p>
<p>The post <a href="https://kadai.com.mx/swift-performance-lite-acelera-tu-sitio-web/">Swift Performance Lite: Acelera tu Sitio Web</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kadai.com.mx/swift-performance-lite-acelera-tu-sitio-web/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1456</post-id>	</item>
		<item>
		<title>Adiós W3 Total Cache, Hola WP Super Cache</title>
		<link>https://kadai.com.mx/adios-w3-total-cache-hola-wp-super-cache/</link>
					<comments>https://kadai.com.mx/adios-w3-total-cache-hola-wp-super-cache/#respond</comments>
		
		<dc:creator><![CDATA[Kadai Crosshansen]]></dc:creator>
		<pubDate>Mon, 16 Jul 2018 03:20:18 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[w3 total cache]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp super cache]]></category>
		<guid isPermaLink="false">https://kadai.com.mx/?p=1425</guid>

					<description><![CDATA[<p>Después de unas cuantas experiencias agridulces, finalmente me decidí por moverme definitivamente a WP Super Cache. Para dejar atrás definitivamente a mi solución anterior: W3 Total Cache. Estas son mis razones. Anteriormente había hablado de W3 Total Cache. De como me estaba ayudando mucho mejorando el sitio web. Debo de admitir que este plugin era [&#8230;]</p>
<p>The post <a href="https://kadai.com.mx/adios-w3-total-cache-hola-wp-super-cache/">Adiós W3 Total Cache, Hola WP Super Cache</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Después de unas cuantas experiencias agridulces, finalmente me decidí por moverme definitivamente a WP Super Cache. Para dejar atrás definitivamente a mi solución anterior: W3 Total Cache.</p>
<p>Estas son mis razones.</p>
<p><span id="more-1425"></span></p>
<p>Anteriormente había hablado de <a href="https://kadai.com.mx/2017/07/10/mejorar-wordpress-con-w3-total-cache/" target="_blank" rel="noopener">W3 Total Cache</a>. De como me estaba ayudando mucho mejorando el sitio web.</p>
<p>Debo de admitir que este plugin era prácticamente mi favorito para realizar la tarea de caching. Algo importante si realmente quieres tener un sitio web rápido, además de que me ahorraba tiempo de procesador.</p>
<p>Sin embargo, recientemente comencé a notar problemas. Mismos que me hicieron mirar a <strong>WP Super Cache</strong> de nueva cuenta.</p>
<h3>Errores en todas partes con W3 Total Cache</h3>
<p>Una de las cosas que más me agradaban de este plugin de WordPress, es que podía configurarse de acuerdo a mis necesidades. El gran número de opciones abría grandes posibilidades de optimizaciones. De mejoras puntuales de acuerdo a mis necesidades.</p>
<p>Sin embargo, siempre hay cosas que salen mal. Y eso es en verdad cierto con software complejo.</p>
<p>El primer síntoma estuvo en las entradas programadas. Comencé a notar que estas arrojaban el error <em>missed schedule</em> con frecuencia. Molesto, pero nada más que eso&#8230; e incluso errores esporádicos que parecían no tener sentido.</p>
<p>Todas las soluciones en la web indicaban que debía de instalar algún plugin.</p>
<p>No. No lo iba a hacer. No tenia sentido que algo así sucediera, ya que el servidor no tenia razón de estar comportándose de forma errática.</p>
<p>Tras investigar un poco, resultó que el <strong>Object Cache</strong> estaba causando problemas en mi back-end. Tras desactivar esa característica, los problemas cesaron&#8230; al menos temporalmente.</p>
<h3>Las cosas se complican todavía más</h3>
<p>El segundo gran problema sucedió con <strong>admin-ajax.php</strong>. Comencé a notar un número inusual de errores 403 sin una explicación clara.</p>
<p>Me arrojaba el error a mi, a visitantes al azar, e incluso a los bots de google. Esto último imperdonable.</p>
<p>Debido a que las instalaciones que manejo contienen más o menos los mismos plugins&#8230; detectar al culpable seria relativamente sencillo. Tras un análisis, solo se limitaba a W3 Total Cache o a uno de seguridad.</p>
<p>Para agravar más la situación, el problema de <em>missed schedule</em> había regresado.</p>
<p>Fue entonces que la opción de WP Super Cache se volvió mucho más viable.</p>
<p>Ya tenia experiencia con él y sabia que podía hacer el trabajo sin contratiempos.</p>
<h3>WP Super Cache entra al relevo</h3>
<p>A diferencia de W3 Total Cache, <strong>WP Super Cache</strong> tiene opciones muy minimalistas. No eres capaz de configurar absolutamente todo. Aunque no falla en su trabajo: Mejora el rendimiento del sitio web. Sin complicaciones.</p>
<p>Pero para tener una solución completa con WP Super Cache, se requiere de un aplicativo que haga minificación. Ahí es en donde entra Autoptimize. Esto para comprimir las hojas de estilo y los scripts de javascript.</p>
<p>Esto lo debemos de hacer si queremos mejorar aún más el rendimiento y experiencia del usuario.</p>
<p>Aunque si contamos con un servidor rápido, la ganancia puede ser marginal. Pero menos consultas por visita siempre es bueno. En especial si sumamos muchas visitas al día.</p>
<h3>El modo experto de WP Super Cache</h3>
<p>Si bien cuenta con muchas menos opciones, hay algunas cosas que si se pueden hacer. En especial en lo que respecta a activar el uso de reglas en el <em>.htaccess</em>. Esto permite que se pueda saltar parcialmente la ejecución de PHP en algunos casos.</p>
<p>Mientras menos veces se tenga que invocar a PHP, mejor.</p>
<p>Activando el modo experto, y asegurándose de activar los casilleros deseados, da un rendimiento que hace que no extrañe W3 Total Cache. Aunque lo único que no hace WP Super Cache es el asignar las cabeceras cache de Apache para los recursos estáticos.</p>
<p>Pero agregar ese tipo de cosas es trivial. Igualmente se puede agregar rápidamente las reglas que trae W3 Por defecto, dependiendo de las configuraciones.</p>
<h3>Conclusiones sobre el regreso a WP Super Cache</h3>
<p>Si bien soy fanático de tener una herramienta con cientos de opciones, es una pena que encontré que ella causaba más problemas que beneficios. Problemas que no parecían tener soluciones fáciles, o que hacían que no valiera la pena la solución.</p>
<p>Por lo cual el contar con una alternativa más <em>sencilla</em> fue la mejor idea.</p>
<p>Hay algunas cosas que todavía tengo que <em>apuntalar</em>, en especial del lado del servidor. Como son las cabeceras&#8230; aunque <a href="https://kadai.com.mx/2018/05/27/problemas-rocket-loader-cloudflare/" target="_blank" rel="noopener">Cloudflare</a> se encarga por mi de eso.</p>
<p>Pero establecerlas manualmente siempre será mejor para proporcionar una experiencia más uniforme.</p>
<p>Esperemos que no suceda nada inusual esta vez.</p>
<p>The post <a href="https://kadai.com.mx/adios-w3-total-cache-hola-wp-super-cache/">Adiós W3 Total Cache, Hola WP Super Cache</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kadai.com.mx/adios-w3-total-cache-hola-wp-super-cache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1425</post-id>	</item>
		<item>
		<title>Mejorar WordPress con W3 Total Cache</title>
		<link>https://kadai.com.mx/mejorar-wordpress-con-w3-total-cache/</link>
					<comments>https://kadai.com.mx/mejorar-wordpress-con-w3-total-cache/#respond</comments>
		
		<dc:creator><![CDATA[Kadai Crosshansen]]></dc:creator>
		<pubDate>Mon, 10 Jul 2017 17:31:05 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[w3 total cache]]></category>
		<category><![CDATA[website]]></category>
		<guid isPermaLink="false">https://kadai.com.mx/?p=667</guid>

					<description><![CDATA[<p>El Mejorar WordPress con W3 Total Cache es una de las cosas que hay que hacer en toda instalación nueva. En este caso, yo elegí este plugin tras probar varios otros. Este fue el que mejor me funciono, debido a la forma en el cual tengo instalado WordPress. Es por ello que comparto ahora parte [&#8230;]</p>
<p>The post <a href="https://kadai.com.mx/mejorar-wordpress-con-w3-total-cache/">Mejorar WordPress con W3 Total Cache</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">El Mejorar WordPress con W3 Total Cache es una de las cosas que hay que hacer en toda instalación nueva. En este caso, yo elegí este plugin tras probar varios otros. Este fue el que mejor me funciono, debido a la forma en el cual tengo instalado WordPress. Es por ello que comparto ahora parte de mis configuraciones.</p>
<p><span id="more-667"></span></p>
<p style="text-align: justify;">Además, ofrece un importante número de opciones que se pueden configurar. Dependiendo de tus necesidades u objetivos. En mi caso, era el obtener un mejor rendimiento absoluto en varios frentes. Después de que los resultados en el PageSpeed Insights habían salido terriblemente mal.</p>
<p style="text-align: justify;">Bueno, exagero un poco en ello. Pero al estar en un hospedaje compartido, es natural que ciertas cosas no corran de lo mejor. Yo espero poder migrar a un mejor ambiente en un momento cercano. Pero en lo que sucede, hay que trabajar con lo que se tiene.</p>
<p style="text-align: justify;">Y un plugin de caché era la opción más natural para lograr los objetivos inmediatos.</p>
<h3>¿Por que usar un plugin como W3 Total Cache?</h3>
<p style="text-align: justify;">La razón más sencilla es por que ya hay buenas alternativas que ya están correctamente escritas. De lo contrario, tendrías que reinventar la rueda. Dichos plugins ya toman en cuenta los problemas más comunes y los solucionan rápidamente.</p>
<p style="text-align: justify;">Igualmente han tratado de seguir los lineamientos de Google, y otras plataformas similares, para realizar las mejoras. Esto buscando que los webmasters no tengan que estar instalando otras herramientas.</p>
<p style="text-align: justify;">Por supuesto, esto no implica que sea la solución a todos los problemas. Hay casos en los cuales requerirás escribir tus propias soluciones, pero ese es un tema para otro día.</p>
<p style="text-align: justify;">En mi caso, esta era la forma más viable de hacer las cosas.</p>
<h3>Preámbulo a la optimización</h3>
<p style="text-align: justify;">Ten en cuenta que estas configuraciones funcionan en mi entorno de trabajo (Apache, PHP7, MariaDB). No necesariamente funcionaran en el tuyo. Hay muchas variables que están en juego, por lo cual al final lo que te funcione a ti pudiera ser diferente.</p>
<p style="text-align: justify;">Ante de empezar, coloque el siguiente código en el footer de mi instalación. Con este, podría ver que tan mal estaba.</p>
<p>View the code on <a href="https://gist.github.com/kadai/33a3adaa3399fdde46aec5428fb4525e">Gist</a>.</p>
<p>Ya con ese código, pude ver resultados similares a este:</p>
<p>View the code on <a href="https://gist.github.com/kadai/33a3adaa3399fdde46aec5428fb4525e">Gist</a>.</p>
<p style="text-align: justify;">Ouch, ¿De donde salían tantas consultas? ¿Como era posible que se consumiera tanto tiempo? Esos números indicaban que había un problema el cual tenia que ser solucionado.</p>
<p style="text-align: justify;">Por supuesto, el primer lugar en donde tenia que mirar es en mi servidor e instalación. Eliminar los plugins innecesarios es algo que se tiene que hacer. Posterior, tuve que cambiar de PHP5 a PHP7. Esto debido a que <a href="http://www.zend.com/en/resources/php7_infographic" target="_blank" rel="nofollow noopener">PHP7 es mucho más rápido que PHP5</a>, además de más seguro.</p>
<p style="text-align: justify;">Por fortuna para mí, esto no generó problemas de compatibilidad. Pero es posible que tengas problemas si antes contabas con mensajes de «funciones obsoletas», ya que muchas de ellas fueron eventualmente eliminadas. Puedes solucionar ese tipo de problemas si no te importa ensuciarte un poco las manos con el código fuente.</p>
<p style="text-align: justify;">Una vez limpiada mi instalación, ganando como 0.2 ms, solo quedaba optimizar lo que quedaba. Los plugins que quedaron eran los que consideré que eran de utilidad y necesarios.</p>
<h3>Configuración de W3 Total Cache</h3>
<p style="text-align: justify;">Trataré de ser breve, ya que el compartir una <a href="http://www.onlinemediamasters.com/w3-total-cache-settings/" target="_blank" rel="nofollow noopener">configuración completa de W3 Total Cache puede ser extensivo</a>. Aunque es bueno el tener una idea de todo lo que puedes lograr con dicho plugin. Aún para la versión gratuita.</p>
<p style="text-align: justify;">Pero si haré incapie en aquellas características en las cuales logre observar una mejora.</p>
<p style="text-align: justify;">Si vas a usar W3 Total Cache en una instalación multisite, lo primero que te recomiendo es activar el mismo para toda la red. Una vez que hayas configurado las opciones más comunes, como el Page Cache, Object Cache y Browser Cache; deberás encontrar la siguiente opción bajo <em>Performance </em>&gt;<em> General Settings</em> y desmarcarla:</p>
<p><div id="attachment_670" style="width: 522px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-670" class="wp-image-670 size-full" src="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170709_195110.png" alt="" width="512" height="50" srcset="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170709_195110.png 512w, https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170709_195110-480x47.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 512px, 100vw" /><p id="caption-attachment-670" class="wp-caption-text">Esta es la opción que debe estar o mantenerse desmarcada</p></div></p>
<p style="text-align: justify;">Una vez hecho hayas desmarcado «Use single network configuration file for all sites», podrás efectuar cambios «a medida» para cada sitio de tu red. Para ello, deberás de ir a «General Settings» dentro del Escritorio de cada sitio y buscar a la derecha el botón «Use Specific settings». Deberás de hacer clic sobre el mismo para poder editar las características a medida para ese segmento en cada sitio.</p>
<p style="text-align: justify;">Por ejemplo, en mi caso, mi mayor problema fue con las opciones de Minify. Si bien estoy detrás de CloudFlare, el hacer uso de Minify era importante ya que las hojas de estilo CSS y JavaScript no se estaban combinando. Hacerlo eventualmente iba a ayudar mucho.</p>
<p style="text-align: justify;">Pero aquí no había una solución que funcionase en todos los escenarios.</p>
<h3>Peleándose con Minify en W3 Total Cache</h3>
<p style="text-align: justify;">La posibilidad de «minificar» las hojas de estilo CSS y JavaScript es algo muy importante. Pero, el problema de dicha utilidad es que muchas cosas pueden salir terriblemente mal.</p>
<p style="text-align: justify;">Por ejemplo, compactar el HTML me es útil en este sitio web, pero no en otro. Esto debido a que puede romper el tema y sus características.</p>
<p><div id="attachment_671" style="width: 616px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-671" class="size-full wp-image-671" src="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001942.png" alt="" width="606" height="320" srcset="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001942.png 606w, https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001942-480x253.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 606px, 100vw" /><p id="caption-attachment-671" class="wp-caption-text">Algunas de las opciones activadas para minificar HTML</p></div></p>
<p style="text-align: justify;">En el caso de Javascript, «defer» para compactar destruye las páginas hechas en Page Origin, mientras que la opción «async» destruye a Slider Revolution. ¿Que lio verdad? Dejarlos a todos con su gusto con una sola configuración es imposible. La tarea de optimizar se vuelve una de «prueba y error» en el mejor de los casos.</p>
<p><div id="attachment_672" style="width: 608px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-672" class="size-full wp-image-672" src="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001959.png" alt="" width="598" height="376" srcset="https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001959.png 598w, https://kadai.com.mx/wp-content/uploads/2017/07/Screenshot_20170710_001959-480x302.png 480w" sizes="(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) 598px, 100vw" /><p id="caption-attachment-672" class="wp-caption-text">Las opciones de JavaScript pueden causar algunos problemas</p></div></p>
<p style="text-align: justify;">En el caso de las hojas de estilo, el problema no es tan prominente. En la mayoría de los casos&#8230; las cosas simplemente funcionaron bien y se pudo optimizar sin mayor problema.</p>
<p style="text-align: justify;">El único inconveniente de tener este tipo de configuraciones, es que deberás de «limpiar el cache» siempre que haya cambios. Eso puede ser un poco molesto cuando estás haciendo muchos cambios pequeños, pero se soluciona desactivando la opción de compactar o desactivando este plugin.</p>
<h3>Activando Object Cache</h3>
<p style="text-align: justify;">Esta alternativa en W3 Total Cache es quizá la que mejor me ha resultado, después de la minificación.</p>
<p style="text-align: justify;">Con los cambios antes mencionados y esta, logre tener entonces un tiempo re respuesta similar a este:</p>
<p>View the code on <a href="https://gist.github.com/kadai/33a3adaa3399fdde46aec5428fb4525e">Gist</a>.</p>
<p style="text-align: justify;">Pasar de 101 consultas a 24 es muy bueno. Es decir que ahora se están realizando solo un cuarto de las consultas que se hacían antes. Eso le quite estrés al servidor de base de datos y se accede más rápido.</p>
<p style="text-align: justify;">Para entenderlo mejor, el Object Cache almacena en disco las «consultas más comunes». Algo similar a lo que hace «Page Cache». Esto permite que ciertos valores sean accedidos de una forma mucho más rápida y ágil.</p>
<p style="text-align: justify;">Mientras menos consultas sean realizadas, mejor. Eso siempre ayudará a que el sitio web sea más eficiente a la hora de tener mayor carga. Pero ten en cuenta que, al almacenar el cache en disco, es posible que esto genere muchos archivos adicionales. Eso hay que tenerlo en cuenta en especial si tienes el espacio o los inodes limitados.</p>
<h3>Conclusión</h3>
<p style="text-align: justify;">Si la configuración de W3 Total Cache se hace bien, se pueden tener buenos resultados. En mi caso, pase de tener una respuesta promedio de +2 segundos a ~0.6 mili-segundos. Una mejora sustancial tomando en cuenta que todavía estoy algo limitado en este entorno.</p>
<p style="text-align: justify;">También en este caso, es importante indicar que solo apuntale una parte del problema. El otro es del lado del servidor. Si se tiene acceso a un procesador más poderoso en el hosting, el tiempo de respuesta podrá verse mejorado.</p>
<p style="text-align: justify;">Algunos incluso dirían que tener un VPS es casi una necesidad. Pero yo opino que todo depende de las propias necesidades y objetivos de cada persona. Un VPS es bueno para quien tiene el tiempo y recursos para administrar un servidor. Esa es una bestia completamente diferente. Y más si ponemos en la mezcla un servidor Varnish.</p>
<p style="text-align: justify;">Encontrar el hosting adecuado resuelve una parte del problema. Con suficientes recursos se puede rentar un buen servidor, pero sin alguien que sepa como optimizar los programas que corren&#8230; pues, serán recursos desperdiciados.</p>
<p style="text-align: justify;">Hay que tener un buen balance entre ambos, pero por ahora W3 Total Cache me ha sacado del apuro.</p>
<p>The post <a href="https://kadai.com.mx/mejorar-wordpress-con-w3-total-cache/">Mejorar WordPress con W3 Total Cache</a> appeared first on <a href="https://kadai.com.mx">Endless Manifesto</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://kadai.com.mx/mejorar-wordpress-con-w3-total-cache/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">667</post-id>	</item>
	</channel>
</rss>
