Lancé un sitio bastante grande el otro día y me gustaría incorporar un plugin de almacenamiento en caché. La configuración es de sitio único con algunas características de Buddypress mezcladas (para el registro de usuarios, mapas con gpress, tener un perfil) ejecutándose en un host compartido.
Mis preguntas son:
1. ¿Qué complemento considera mejor para el almacenamiento en caché dada esta configuración y por qué (si es posible)?
2. ¿Cuáles son las mejores prácticas y pasos que debo tomar / considerar durante la configuración para asegurarme de que todo funcione?
3. ¿Las transients
que he agregado yo mismo todavía se pueden usar o debo eliminarlas y dejar que el complemento lo haga? ¿Chocarán si no se eliminan?
¡Gracias!
ADICIÓN: plan 'Power' en http://www.inmotionhosting.com/hostingplans.html
fuente
Respuestas:
En los planes de alojamiento compartido, sus opciones de almacenamiento en caché son limitadas.
Solo podrá almacenar en caché estáticamente la salida html de sus páginas. Esta es la forma más rápida de servir páginas, pero pierde los aspectos dinámicos de WordPress, como hacer comentarios y ver los últimos comentarios en las publicaciones.
Hay opciones de almacenamiento en caché de disco disponibles para objetos y bases de datos, pero a menos que su host esté ejecutando unidades rápidas, no obtendrá mucho beneficio de esto y también podría causar una caída en el rendimiento.
Todos los complementos de almacenamiento en caché tienen la opción de no servir páginas almacenadas en caché a usuarios registrados o cualquier usuario con una cookie de comentarios.
Usuarios registrados + usuarios conocidos = sin caché
Los usuarios desconocidos reciben una página en caché.
Transitorios
Los transitorios son pequeños datos que deben expirar en algún momento. WordPress almacena los transitorios como un caché en la base de datos. Si tuviera la opción de usar Memcache WordPress mantendría los datos transitorios en la memoria. Los transitorios son buenos porque reducen las búsquedas de bases de datos. También son buenos para usar en redes sociales como mostrar tus últimos tweets. Esto evita hacer una llamada a la API de Twitter en cada carga de página.
El complemento que utiliza las mejores prácticas de sitios web de alto rendimiento es W3 Total Cache.
W3 Total Cache hace más que solo caché
W3 Total hace:
Para su conjunto de alojamiento compartido, debe habilitar la memoria caché de página, minify, la memoria caché del navegador y la opción CDN autohospedada.
Configuración de caché de página
Verifique todas las opciones de caché de página
Precarga de caché
Active esto y establezca el intervalo de actualización en lo que sea apropiado para su sitio. Esto reconstruirá el caché de la página en el intervalo dado.
Minify Settings
Seleccione Reescribir la estructura de la URL y, si va a utilizar el CDN, verifique la carga automática para que los archivos recientemente minificados se carguen automáticamente en el CDN.
Minify HTML
Habilite y marque eliminar saltos de línea, minería en línea js y css. Si estás usando AdSense u otro servicio que usa tallos de comentarios, ingrésalos aquí para evitar que se minifiquen.
Configuración de CSS y JS Minify
En la gestión de archivos, elija su tema y agregue los archivos CSS que desee combinar y minimizar. También hay un asistente de ayuda que buscará todas sus plantillas y agregará los archivos sugeridos por usted.
Uso del asistente de ayuda
W3 Total incluye una herramienta que revisa las plantillas de sus temas y encuentra archivos JavaScript y CSS que se utilizan y proporciona la configuración recomendada. Primero intente encontrar estos ajustes y problemas, regrese y modifique según sea necesario. Todos los archivos resaltados en rojo son archivos que ya ha incluido para ser minimizados.
La misma sección de opciones está disponible para archivos js y tiene la opción de colocar los archivos después
<head>
, después<body>
y antes</body>
. Es mejor poner tantos como puedas antes<body>
. Si algún complemento agrega js en línea, no podrá usarlo antes</body>
para jquery o los complementos js porque tendrá que cargarse antes de cualquier<script>
etiqueta en línea . Puede incluir cualquier combinación de archivos en cada ubicación y para cada plantilla. Por ejemplo, puede configurar su comment-reply.js para que solo se cargue en single.phpConfiguración de caché del navegador
Este es el más importante para hacerlo bien. Si almacena correctamente su contenido estático en los navegadores de sus usuarios, puede reducir drásticamente los tiempos de carga de la página. La configuración de la memoria caché del navegador "no procesar errores 404 para objetos estáticos" es una gran victoria para el alojamiento compartido porque invocar PHP y devolver páginas 404 a bots, etc. es una gran pérdida de recursos y esta función evita que
General
Revisa todo
CSS y archivos JS
Verifique todo y configure nuestra vida útil del encabezado caduca en un futuro lejano. 31536000 segundos es 1 año y lo que recomienda yslow. Si realiza cambios en su CSS o JavaScript, debe cambiar los nombres de los archivos para evitar que los usuarios utilicen la versión anterior. Si usa minify, no tendrá que preocuparse por servir contenido desactualizado porque cada vez que se reconstruye la caché de minify se genera un nuevo nombre de archivo.
Establezca su política de Control de caché en caché con edad máxima
Hay dos secciones más de configuración de caché del navegador. HTMl e Imágenes. Para las imágenes, use la misma configuración que CSS y JS. Puede aumentar el tiempo de caducidad de las imágenes si lo desea.
Para HTML, no establezca caducidad a menos que su sitio sea principalmente estático. Puede usar vidas cortas si lo desea (180 segundos) pero no iría más alto. Habilite gzip y puede verificar los encabezados W3 establecidos para que pueda verificar los encabezados de respuesta para asegurarse de que estén funcionando.
Configuraciones de CDN
W3 Total ha incorporado soporte para populares CDN de extracción de origen y de inserción de origen y una opción robusta de alojamiento propio que requiere que configure subdominios y nombres de nombres.
El CDN autohospedado le permitirá aprovechar la canalización. El navegador solo puede descargar algunos archivos a la vez, solo 4 en algunos casos. La canalización es una técnica mediante la cual los alias (subdominios, por ejemplo) de su servidor se utilizan para permitir que su navegador aumente el límite práctico de archivos que se pueden descargar en paralelo. Hacerlo maximiza el rendimiento de su conexión a Internet y permite que el navegador renderice una página más rápido. W3TC se encarga de administrar estos archivos de forma transparente una vez que los CNAME (alias) y los subdominios DNS están configurados correctamente.
Verifique todas las opciones y luego haga clic en los botones de carga para cargar todo el contenido a la CDN. Si usa self hosting, hay otra página de configuración para poner información ftp. Para la inserción de CDN de origen, se configura en función del proveedor que esté utilizando. Para el origen de extracción, no carga ningún archivo y solo establece su cname en la URL que le proporciona el proveedor. Nota: No seleccione forzar anulación a menos que los archivos nuevos no funcionen. La anulación de fuerza cargará constantemente archivos al cdn incluso si ya existen y esto desperdicia ancho de banda y recursos.
Pruebas
Siempre debe probar sus resultados y ajustar su configuración en consecuencia. Me gusta usar WebPageTest.org . Para comparar mis resultados e identificar posibles problemas.
¿Cuánto puede aumentar su rendimiento con W3 Total Cache en WordPress con alojamiento compartido?
Estos son los resultados antes y después de un blog de WordPress al que agregamos W3 Total.
Antes de:
Después
Espero que esto ayude.
fuente
Use .htaccess para almacenar en caché cosas como CSS, imágenes y javascript en el lado del cliente. La descarga más rápida es la que nunca tuvo que suceder.
Publiqué una colección de enlaces y artículos de referencia sobre esto: http://icanhazdot.net/2010/03/23/speeding-up-self-hosted-wordpress/
fuente
No use W3 Total Cache, se ralentizará y romperá sus páginas. Sugiero mejor usar Super Cache y Page Speed Ninja. O LiteSpeed Cache para el almacenamiento en caché de objetos y la optimización css y js, Cache Enabler para la creación de archivos html estáticos. Debido a que el caché estático no será creado por litespeed ya que debe tener un módulo lscache en el servidor http y eso solo es compatible con el servidor http litespeed o openlitespeed.
fuente