Hola,
Si no recuerdo mal, Magic Caché daba problemas con el carrito de Virtuemart. Quisiera verificarlo porqué en PageSpeed Insights da malos resultados y quisiera ver si puedo activarlo. Actualmente lo tenemos desactivado
Uso Joomla 5.4.7, VirtueMart 4.6.8 y la plantilla Storebox
(No he conseguido encontrar un post de hace años en qué creo que tratamos este tema)
Saludos y gracias
Contenido solo visible a usuarios registrados
Hola Joan,
Magic Caché no debería generar incompatibilidades con VirtueMart siempre que esté correctamente configurado. Los problemas suelen aparecer cuando se almacenan en caché páginas dinámicas, como el carrito, el proceso de compra o el área de usuario.
Puedes probar a activarlo y revisar especialmente lo siguiente:
De igual forma revisa la configuración del plugin System - jWECache y excluir de la caché las URLs dinámicas de VirtueMart si detectas que el carrito no se actualiza correctamente o muestra información antigua.
Puedes verificar una guía completa en este enlace: https://guias.webempresa.com/preguntas-frecuentes/magic-cache/
Te recomendamos realizar primero estas pruebas para verificar si todo funciona como necesitas.
Un saludo.
Hola Karen
Por lo que recuerdo, lo desactivamos por problemas en el carrito de Virtuemart. En la guía que me enlazas no aparece de un modo detallado como excluir las URL dinámicas de Virtuemart. Supongo que el apartado donde deben incluirse estas URL es La lista negra puesto que la guía indica lo siguiente:
"En el campo «URL blacklist» , puedes poner las URLs de la web que NO quieras que pasen por la caché
Sin embargo, no tenemos claro qué url's deben constar ahí. Por vuestra experiencia, podéis indicarnos que URL's incluir o darnos una orientación al respecto.
Muchas gracias
Hola Joan,
Es correcto, en la sección donde se menciona «URL blacklist» debes añadir las URL que no quieres se incluyan en la cache, para virtuemart puedes probar excluir las rutas públicas del carrito y del proceso de compra, ya que son las que contienen información dependiente de la sesión del usuario.
Puedes probar por ejemplo excluir:
*/es/carro* */es/checkout* */es/mis-pedidos* */es/usuario*
De igual forma excluye las URL que pueda estar generando Virtuemart como parámetros internos como:
*option=com_virtuemart&view=cart* *option=com_virtuemart&view=user* *option=com_virtuemart&view=orders* *option=com_virtuemart&view=pluginresponse* *task=checkout*
Una vez apliques esto debes realizar varias pruebas, primero limpia las cachés y luego realizar pruebas añadiendo productos al carrito y completando el proceso de compra para comprobar que el comportamiento es el esperado.
Pruebalo y nos comentas cmo ha ido todo
Un saludo
Hola,
Disculpad la tardanza en responder, he estado unos días fuera.
Veo que pones un asterisco delante y detrás. ¿Debo escribirlo exactamente así?
Por otro lado, te quería comentar que nuestra web es multilingüe. ¿Supongo que los términos equivalentes a /es/usuario en inglés, francés e italiano serían estos de abajo. ¿Es correcto? Gracias
*/en/user*
*/fr/utilisateur*
*/it/utente*
Hola Joan,
En este caso no, no añadas los *, solo coloca:
/es/usuario /en/user /fr/utilisateur /it/utente
Lo mismo aplica para el resto de las URL añadelas en este formato:
option=com_virtuemart&view=cart option=com_virtuemart&view=user option=com_virtuemart&view=orders option=com_virtuemart&view=pluginresponse task=checkout
Sobre las equivalencias de las URL, serían correctas siempre y cuando sean exactamente como las genera tu sitio web, ten en cuenta que Joomla crea estas URL a partir de los alias de los elementos del menú; primero revisa en la sección de área de usuario de cada idioma si estas son las URL que se están generando con esta estructura.
Una vez los añadas y guardes los cambios, limpia la caché de Magic Cache; prueba cómo funciona tu carrito en un navegador incógnito.
Revisarlo y nos comentas cómo ha ido todo.
Un saludo.
Hola de nuevo,
He puesto este código de abajo del mensaje y aún así daba errores al cargar en el carrito. Pensé que cubria todas las posibilidades de conflicto pero veo que no. Creo que en alguno iba mejor con asteriscos y los pues, ya me corregís si el error está ahí.
Por otro lado, (cuando no hay activo Magic Caché vuestro) con las actuales versiones de Joomla, basta limpiar la caché en el apartado de Inicio del panel de Joomla o es necesario tener activado "Console - Regular Labs - Cache Cleaner" u otro plugin de cache?
/fr/panier*
/it/carrello*
/en/cart*
/es/carro*
/es/checkout*
/es/mis-pedidos*
/es/usuario*
/fr/mes-commandes*
/it/miei-ordini*
/en/my-order*
/en/user*
/fr/utilisateur*
/it/utente*
*option=com_virtuemart&view=cart*
*option=com_virtuemart&view=user*
*option=com_virtuemart&view=orders*
*option=com_virtuemart&view=pluginresponse*
*task=checkout*
*pluginresponse*
Gracias
Hola Joan,
En este caso te recomiendo que solo dejes las rutas sin asteriscos, tanto para las URL generales como la que tienes los parámetros de Virtuemart. De igual forma no añadas la exclusión genérica de pluginresponse, ya que es preferible no añadir condiciones más amplias de las necesarias. Guarda los cambios y limpia la caché de Magic Cache y verifica cómo funciona todo en un navegador de incógnito.
Si al guardar los cambios sigue generando conflictos el carrito en este caso abre un ticket a soporte para que puedan revisar que petición del carrito continúa pasando por la caché y no se excluye.
Sobre si es necesario tener Console - Regular Labs - Cache Cleaner si Magic Cache está desactivado no lo vería tan necesario, toma en cuenta que Joomla incorpora su propia herramienta de limpieza de caché y en ocasiones es mejor utilizar directamente la opción disponible desde la administración de tu sitio web. Cache Cleaner de Regular Labs simplemente facilita o automatiza ese proceso, pero no es necesario para que Joomla pueda limpiar su caché.
Un saludo.
Gracias Karen. Lo intento así y luego te informo. Saludos
Hola de nuevo, tras intentarlo con el nuevo código sigue fallando el carrito. Es raro porque, en el primer momento (incluso tras borrar la caché y visualizarlo en modo incógnito) parecía que todo iba bien. Sin embargo, una hora más tarde, me he dado cuenta de que seguía habiendo problemas. (Me ocurre a menudo al hacer pruebas. No sé si esto se debe a un problema de caché del servidor o si puede ser un problema de memoria de mi ordenador.)
Lo que sucedía en este caso es que al estar en el carrito e ir a identificarse el usuario, la web no lo cargaba. Es decir, el campo de usuario se quedaba en blanco, por lo que no cargaba el resto de datos y no podía seguir con la compra.
Saludos y gracias
Hola Joan,
En este caso, envía un ticket a soporte para que revisen qué petición del carrito continúa pasando por la caché y no se excluye.
Revisalo y nos comentas cómo va todo.
Un saludo.