Magento es una aplicación de comercio electrónico bastante popular que ofrece gran capacidad de personalización. Abajo presentamos algunas sugerencias para optimizar una instalación Magento.
Acuérdate: sitios en Magento acostumbran utilizar recursos de forma intensiva. Si enfrentas problemas con el uso de recursos compartidos, debe considerar un upgrade para un servidor Dedicado. Cuentas VPS no presentan una solución satisfactoria para un sitio Magento pesado, aún que muchas veces tiene menos recursos que las nuevas cuentas compartidas.
Mudanza para el .htaccess
Active la compresión de salida: en su archivo .htaccess para Magento encuentras una sección de texto. Esta sección de código puede ser utilizada para ligar un módulo mod_deflate de Apache, que disponibiliza compresión para texto, CSS y JavaScript.
<IfModule mod_deflate.c>
Addtype Application/X-Font-Ttf Ttf
Addtype Application/X-Font-Woff Woff
Addoutputfilterbytype Deflate Text/Html Text/Plain Text/Xml Text/Css Text/Javascript
Addoutputfilterbytype Deflate Application/Xml Application/Xhtml+Xml Application/Rss+Xml
#AddOutputFilterByType Deflate Application/Javascript Application/X-Javascript
#AddOutputFilterByType Deflate Application/X-Httpd-Php
#AddOutputFilterByType Deflate Application/X-Font-Ttf
#AddOutputFilterByType Deflate Application/X-Font-Woff
#AddOutputFilterByType Deflate Image/Jpeg
#AddOutputFilterByType Deflate Image/Jpg
#AddOutputFilterByType Deflate Image/Png
Browsermatch ^Mozilla/4 Gzip-Only-Text/Html
Browsermatch ^Mozilla/4\.0[678] No-Gzip
Browsermatch \bMSI[E] !no-gzip !gzip-only-text/html
#SetEnvIfNoCase Request_Uri \.(?:gif|jpe?g|png)$ No-Gzip Dont-Vary
Setenvifnocase Request_Uri \.(?:exe|t?gz|zip|bz2|sit|rar)$ No-Gzip Dont-Vary
Setenvifnocase Request_Uri \.(?:pdf|doc)$ No-Gzip Dont-Vary
Setenvifnocase Request_Uri \.(?:avi|mov|mp3|mp4|rm)$ No-Gzip Dont-Vary
</IfModule>
Nota: Algunas líneas fueron palabras envueltas por el navegador. Copie y pegue para certificar que las líneas están correctas.
Active encabezados "expira": cuando un usuario visita su página pela primera vez se hace varias solicitaciones HTTP. Al utilizar el encabezado "expira" permites que los componentes de solicitudes se queden en cache. Eso evita requisiciones HTTP innecesarias en exhibiciones posteriores de la página. Encuentre en su archivo .htaccess el área de empieza con <IfModule mod_expires:c> y termina con </IfModule>. Lo ideal es que quede con este formato:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access plus 20 days"
ExpiresByType image/png "access plus 20 days"
ExpiresByType image/gif "access plus 20 days"
ExpiresByType image/jpeg "access plus 20 days"
ExpiresByType text/css "access plus 10 days"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType text/javascript "access plus 2 week"
ExpiresByType application/x-javascript "access plus 2 week"
ExpiresByType application/javascript "access plus 2 week"
ExpiresByType application/x-font-woff "access plus 2 week"
</IfModule>
Ajustes en la administración Magento
Mezcle CSS y JS: este ajuste reducirá el número de solicitudes HTTP en su sitio de comercio electrónico. Si utilizas una versión de Magento anterior a 1.4, la extensión free Fooman_Speedster puede ser utilizada. Si utilizas una versión posterior de Magento, sigue las configuraciones abajo:
- Acceda a su área administrativa y siga para Sistema > Configuración > Desenvolvedor;
- En "Configuración JavaScript", cambie "Mezclar archivos JavaScript" para SÍ;
- En "Configuraciones de CSS", cambie "Mezclar archivos CSS" para SÍ;
- Para finalizar, limpie el cache de Magento.
Active el catálogo plan: el modelo Magento utiliza la tienda del cliente y los resultados de datos de productos en más consultas SQL medianas y más lecturas. Activando la opción de catálogo plan para Categorias y Productos los datos de los productos serán mezclados, mejorando el rendimiento.
- Acceda a su área administrativa y siga para Sistema > Configuración > Catálogo;
- En "Frontend", cambie "Utilizar catálogo plan de categoria" para SÍ;
- En "Frontend", cambie "Utilizar catálogo plan de productos" para SÍ (opcional);
- Finalice limpiando el cache de Magento.
Indicaciones de mantenimiento de banco de datos
Uno de los problemas que pueden dejar los sitios Magento más lentos es el banco de datos pesado (grande) y difícil de utilizar para enviar/recuperar datos.
Haga siempre un respaldo de su banco de datos antes de realizar las alteraciones mencionadas abajo.
Logs de banco de datos: Magento utiliza varias tablas para registro. Aunque el registro es fundamental para saber lo que existe en tu tienda y lo que está aconteciendo, los logs pueden se tornar grandes muy rápidamente. Por eso, hacer el mantenimiento regularmente puede ser bien útil.
Abajo las tablas para registro:
log_customer
log_visitor
log_visitor_info
log_url
log_url_info
log_quote
report_viewed_product_index
report_compared_product_index
report_event
catalog_compare_item
Limpieza de registros del banco de datos utilizando Magento Admin
- Acceda el área administrativa de Magento y siga para Sistema > Configuración;
- En Menu a la izquierda, en Avanzado, click en Sistema;
- En "Limpiar log", cambie "Activar Log de Limpieza" para SI y configure el "Salvar Log" para 14 dias;
- Click en "Salvar Configuraciones".
Utilizando log.php: Magento disponibiliza un utilitario Shell que puede ser configurado utilizando Cron o ejecutando manualmente para limpiar los registros del banco de datos. Mire abajo:
Manualmente - Acceda a su cuenta via SSH y cd para el directorio raiz de Magento, entonces digite:
php -f shell/log.php clean
Puedes utilizar -days switch para especificar cuantos dias para salvar.
- Cron;
- Haga login en cPanel;
- Click en Cron Jobs.
Este es solamente un ejemplo:
php -f /home/usuariocpanel/public_html/caminho/para/magento/shell/log.php
Generalmente Magento está instalado en "public_html". De esta forma, el camino es cambiado, como muestra el ejemplo abajo:
php -f /home/usuariocpanel/public_html/shell/log.php
Nota: Puede ocurrir una quebra en la linea arriba por cuenta de la web. Copie y pegue para certificarse que todo se encuentre en una linea.
Limpiar banco de datos via phpMyAdmin: utilizar el phpMyAdmin ofrece más flexibilidad y eficiencia al trabajar con banco de datos.
- Entre en cPanel y click en phpMyAdmin;
- Click en banco de datos asociado con la instalación de Magento;
- Seleccione las siguientes tablas:
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
Abajo de las tablas mencionadas, click en la caja "Con los seleccionados" y seleccione "Vacio";
En la pantalla de confirmación que aparece, click en SI.
Ejecute la limpieza de los logs de banco de datos regularmente. Utilizando la opción Cron Job evitas realizar las tareas manualmente. Tenga certeza que el Cron esté configurado adecuadamente.
Si tienes dudas o necesitas ayudar, entra en contacto con nosotros via ticket o chat en linea.