Esta es la primera publicación de una serie en la que veremos diferentes aspectos del rendimiento del sitio e intentaremos explicarlos en términos de aquellos que no son desarrolladores. Esta primera entrega analiza el concepto de caché. Muchos usuarios de WordPress han escuchado que tienen que “usar un almacenamiento de caché” e incluso pueden usar uno sin comprender realmente lo que está haciendo. Puede ser bastante técnico, incluso para muchos desarrolladores, por lo que la falta de comprensión conduce a la frustración cuando las cosas salen mal. Quiero intentar desmitificarlo un poco. Hay varios tipos diferentes de almacenamiento en caché. De lo que estamos hablando en esta publicación es específicamente “la memorización de la página”. Este es el tipo de memoria en caché que hacen los complementos, como WP Rocket, WP Super Cache, WP más rápido y más.
¿Qué hace el almacenamiento en caché? La mayoría de los elementos explicarán el almacenamiento en caché en términos como este: cuando un visitante llega a su sitio de WordPress, su navegador habla con su servidor web de WordPress; esto implica el procesamiento de PHP, enviando solicitudes a su base. Datos, enviando archivos a Browser Finalmente, se ensambla en una página web completamente formada. Esto puede llevar unos segundos, una eternidad para los navegadores modernos. La memorización de caché reemplaza este proceso enviando un archivo HTML estático al navegador, que es mucho más rápido.
Aunque todo esto es técnicamente cierto, para la mayoría de las personas, no tiene sentido y no le ayuda a comprender lo que está sucediendo. Al almacenamiento en caché: la imagen general, una de las mejores explicaciones sobre el almacenamiento en caché que conocí fue en una discusión de WordCamp (me gustaría recordar quién era el orador, para poder acreditarlo). Le preguntó a la audiencia, ¿cuánto se divide 3,549,752 por 23,234 (o algo tan complejo)? Todos guardaron silencio. Algunas personas tomaron computadoras para hacer los cálculos y, finalmente, alguien gritó la respuesta después de unos segundos. Luego el orador nuevamente hizo exactamente la misma pregunta. Esta vez, todos pudieron gritar la respuesta de inmediato. Esta es una gran demostración del concepto. El proceso inicial que consume tiempo se realizó una vez, luego, cuando se hizo la misma pregunta, la respuesta estaba fácilmente disponible y se entregó mucho más rápido. Cuando se aplica al contexto de su sitio, esto se traduce en la capacidad de entregar una página web con un tiempo de respuesta muy rápido, sin tener que hacer todo el procesamiento que requiere mucho tiempo, cada vez que se carga la página.
El primer visitante de una determinada página en su sitio “Haga la pregunta” y su servidor ofrece la respuesta. La próxima vez que un visitante salga a la misma página, por ejemplo. “Haga la misma pregunta”, su servidor puede proporcionar la respuesta, es decir, la página web, mucho más rápido. ¿Qué significa esto para su sitio de WordPress? Cuando tiene un complemento de caché, es responsable de proporcionar estas respuestas rápidas. El complemento prácticamente se da cuenta instantánea de todas sus páginas web. Todos los esfuerzos que WordPress generalmente hace para mostrar la página web se realiza solo la primera vez que se visita una página. Una vez que este proceso ocurrió por primera vez, su almacenamiento de caché hace un “instante” y luego, cuando la siguiente persona llega a su sitio, elimine la instantánea en lugar de viajar todo el juego. Términos técnicos, el “instante” es un HTML estático expediente. Estático significa que no cambia por sí mismo. Su contenido seguirá siendo el mismo, a menos que algo diga lo contrario. Si alguna vez ha visto su sitio a través de FTP (o el Administrador de archivos de CPanel), no vea un archivo para cada página en el sitio. Esto se debe al hecho de que la página se genera recientemente dinámicamente cada vez que se carga, no hay archivo físico. Cuando tenga una memoria en caché, realmente verá un caché con todos los archivos HTML. Estos archivos solo se modificarán cuando se actualice el caché.
Aquí las cosas se vuelven un poco complicadas … imagina tomar una foto de tu hogar, que es marrón. Mañana pintas tu casa en azul. La foto que tienes con tu casa ahora está injustificada. Si desea una foto actualizada, debe hacer un nuevo instante. La casa es su sitio, y la foto es la versión de caché. Por lo tanto, tiene una versión de caché de una página en su sitio, luego cambia algo, puede publicar una nueva publicación, agregar un nuevo widget, cambiar el tema, etc., y ahora el caché está desactualizado. Entonces, si desea que los visitantes de su sitio vean el nuevo cambio que ha realizado, debe eliminar el caché para esa página para que se pueda generar una nueva instantánea. Algunos complementos de caché (como BE WP Rocket) lo manejan intuitivo. Vemos que “pintó su casa”, lo que significa que ha publicado una nueva publicación (por ejemplo), por lo que automáticamente hacemos un nuevo instante para usted.
De esta manera, el caché sigue actualizado.
¿Por qué el almacenamiento en caché parece romper las cosas? Cuando haces una instantánea de tu contenido, es como un tiempo congelado con el tiempo. Si su sitio de WordPress es como una película, la memoria de caché es como un marco congelado en esa película. Esto no importará demasiado si todo lo que tiene en su sitio son publicaciones de blog o páginas que consisten en texto, fotos, videos: cosas que no cambian a menos que decida cambiarlas (como el acceso al editor y cambiar una foto o algún texto ).
Pero los sitios web modernos pueden tener muchas funciones de lujo, como el contenido que se actualizan automáticamente (sin hacer nada) o que se ajusten de acuerdo con quién mira la página. Algunos ejemplos: tal vez tenga un widget de la barra lateral que muestra su feed de Twitter. Al publicar un nuevo tweet, no vaya manualmente en su sitio web y no publique el tweet allí. Tiene un complemento o un código que habla con Twitter y actualiza automáticamente el widget para usted; puede suceder mientras duerme. Este es un ejemplo de contenido dinámico, no estático. Otro ejemplo podría ser un sitio de comercio electrónico que tiene un carrito de compras en cada página que le indica cuántos artículos hay en el carrito de compras. Esta característica es específica para cada visitante, porque cada visitante tiene un número diferente de artículos en la canasta. Entonces ese número es dinámico generado para cada visitante. Estos son solo algunos ejemplos de contenido comunes que deben tratarse de manera diferente al memorizar en caché. Si las cosas no están codificadas correctamente y usan un complemento de caché, descubrirá que las cosas no funcionan lo suficientemente bien. Su feed de Twitter no se actualiza tan a menudo como de costumbre, o el ícono de la canasta no muestra exactamente la cantidad de artículos en el carrito. Entonces, aquí tengo que hacer un poco de técnica, porque si tiene este tipo de problema en su sitio, necesitará los términos técnicos para encontrar una solución. En términos técnicos, si sus características dinámicas (de pancartas rotativas, sistemas de votación, flujos sociales, características específicas del usuario, etc.) usan PHP puro para mostrar el resultado, no funcionará con almacenamiento de caché.

Esto se debe a que PHP no se ejecuta en una página almacenada en Cache: PHP es parte del trabajo que consume tiempo, que se interrumpe cuando se usa la caché de la página. Sin caché, cada vez que una persona viene a su sitio, su navegador le pregunta a su página web. PHP es un lenguaje de programación que se ejecuta en el servidor web para procesar esta solicitud: encontrar el contenido correcto de la base de datos y enviarlo nuevamente al navegador. Es como un mensajero, que transporta información desde la base de datos al navegador del visitante. Anteriormente dije que memorizar en caché crea instantáneo. PHP se activa la primera vez que se carga una página, pero una vez que el instante se toma y se transforma en un archivo HTML estático, PHP ingresa al almuerzo. Esto significa que no habrá más mensajes de la base de datos del navegador a través del PHP. Entonces, cuando las cosas deben cambiar en su sitio, como su feed de Twitter, necesita otro mensajero. En este caso, es otro lenguaje de programación llamado JavaScript (JS). JS funciona más bien en el lado de su navegador que en el servidor, por lo que incluso cuando su página se almacena en caché y Php se relaja con una taza de té, puede llamar a JavaScript y su hermano Ajax para trabajar para su JavaScript / AJAX porque se ejecutará en una página almacenada en caché. Para el usuario habitual de WordPress, esto significa:
Le pide al desarrollador que codifique las cosas de esta manera;
Encuentre un complemento que administre el contenido dinámico con JavaScript y establece que es compatible con el almacenamiento de la página;
Si nada de lo anterior es posible, deshabilite la memoria en caché para esa página o elimine la función si es menos importante para la experiencia del usuario que la velocidad. Para los desarrolladores, esto significa:
Use JavaScript / AJAX para elementos dinámicos.

Por ejemplo, mire nuestra publicación de blog sobre la creación de una canasta dinámica y la documentación de Woothemes sobre los carros compatibles con caché.
Espero que esto te ayude a hacer que las cosas sean un poco más claras, pero me gustaría escuchar tus preguntas, dejar un comentario si aún no tienes idea de lo que estoy hablando! ¡La imagen del encabezado por la amabilidad de Gonzalo Iza // Diagrama de PHP por la bondad OpenClassrooms
Memorización de caché para WordPress, explicado en inglés simple
Tags explicado en inglés simple Memorización de caché para WordPress
homefinance blog