¿Cuáles son las mejores prácticas para usar un complemento de almacenamiento en caché en un host compartido?

29

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 transientsque 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

Amit
fuente
¿Puede proporcionar detalles del servidor o del alojamiento?
Chris_O

Respuestas:

24

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:

  • almacenamiento en caché de página
  • almacenamiento en caché de objetos
  • almacenamiento en caché de bases de datos
  • minificar
  • almacenamiento en caché del navegador
  • Integración CDN

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

texto alternativo

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.

texto alternativo

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.

texto alternativo

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.

texto alternativo

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.php

texto alternativo

Configuració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

texto alternativo

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

texto alternativo

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.

texto alternativo

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.

texto alternativo

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:

texto alternativo

Después

texto alternativo

Espero que esto ayude.

Chris_O
fuente
1
gracias, muy detallada y completa respuesta! ¿Recomiendas absolutamente este complemento? ¿Has probado alguna otra?
Amit
1
@Amit He probado WP Super Cache, hyber db cache, backend de caché de objetos apc y batcache. Ningún otro complemento de almacenamiento en caché tiene todas estas características.
Chris_O
¡gracias de nuevo! Definitivamente lo intentaré. por cierto, ¿me recomiendan eliminar todo mi código transitorio y todo lo que agregué a mi htaccess como gzip, etc.?
Amit
Lo mejor que puede hacer es probar y comparar diferentes configuraciones para encontrar lo que funciona mejor para su entorno.
Chris_O
0

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.

juslintek
fuente