Magento é uma aplicação de comércio eletrônico bastante popular que oferece grande capacidade de personalização. Abaixo apresentamos algumas sugestões para otimizar uma instalação Magento.
Lembre-se: sites em Magento costumam utilizar recursos de forma intensiva. Se você enfrenta problemas com o uso de recursos compartilhados, deve considerar a mudança para um servidor dedicado. Contas VPS não apresentam uma solução satisfatória para um site Magento pesado, já que muitas vezes têm menos recursos que as novas contas compartilhadas.
Mudanças para o .htaccess
Ative a compactação de saída: em seu arquivo .htacess para Magento você encontra uma seção de texto que começa com a linha e termina em. Esta seção do código pode ser utilizada para ligar o módulo mod_deflate do Apache, que fornece compressão para texto, CSS e 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: Algumas linhas foram palavras envoltas pelo navegador. Copie e cole para se certificar que estão nas linhas corretas.
Ative cabeçalhos “expira”: quando um usuário visita sua página pela primeira vez ele faz várias solicitações HTTP. Ao utilizar o cabeçalho “expira” você permite que os componentes das solicitações em cache. Isso evita requisições HTTP desnecessárias em exibições posteriores da página. Encontre no seu arquivo htacess a área que começa com <IfModule mod_expires.c> e termina com </ IfModule>. O ideal é que ela fique com 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 na administração Magento
Mescle CSS e JS: este ajuste vai reduzir o número de solicitações HTTP em seu site de comércio eletrônico. Se você utilizar uma versão do Magento anterior a 1.4, a extensão livre Fooman_Speedster pode ser usada. Se você utiliza uma versão posterior do Magento, siga as configurações abaixo:
- Acesse a sua área administrativa é vá para Sistema > Configuração > Desenvolvedor;
- Em “Configurações JavaScript”, altere “Mesclar arquivos JavaScript” para SIM.
- Em “Configurações de CSS”, altere "Mesclar arquivos CSS" para SIM.
- Para finalizar, limpe o cache do Magento.
Ative o catálogo plano: o modelo Magento usa a loja do cliente e resultados de dados de produtos em mais consultas SQL médios e mais leituras. Ativando a opção de catálogo plano para Categorias e Produtos os dados do produto serão mesclados, melhorando o desempenho.
- Acesse a sua área de administração e vá para Sistema > Configuração > Catálogo;
- Em "Frontend", altere "Usar catálogo plano de categoria” para SIM.
- Em "Frontend", mude "Usar catálogo plano de produtos" para SIM (isso é opcional).
- Para finalizar, limpe o cache do Magento.
Dicas de manutenção do banco de dados
Uma dos problemas que pode tornar os sites Magento lentos é o banco de dados pesado (grande) e difícil de usar para enviar/recuperar dados. Abaixo, algumas dicas para reduzir o tamanho do banco de dados, minimizando o problema:
Certifique-se de fazer backup de seu banco de dados antes de realizar as alterações descritas abaixo.
Logs de banco de dados: o Magento utiliza várias tabelas para registro. Embora o registro seja fundamental para você saber o que existe na sua loja e o que está acontecendo, os logs podem se tornar grandes muito rapidamente. Por isso, fazer a manutenção regularmente pode ser bem útil.
Abaixo as tabelas 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
Limpeza de registros do banco de dados usando Magento Admin
- Acesse a área administrativa do Magento e vá para Sistema > Configuração;
- No menu à esquerda, em Avançado, clique em Sistema;
- Em "Limpar log", mude "Ativar Log de Limpeza" para SIM e configure o “Salvar Log” para 14 dias;
- Clique em "Salvar Configurações".
Utilizando log.php: o Magento fornece um utilitário Shell que pode ser configurado usando Cron ou executado manualmente para limpar os registros do banco de dados. Confira:
Manualmente - Entre na sua conta via SSH e cd para o diretório raiz do Magento então digite:
php -f shell/log.php clean
Você pode usar o -days switch para especificar quantos dias para salvar.
- Cron
- Faça o login no cPanel;
- Clique em Cron Jobs.
Este é apenas um exemplo:
php -f /home/usuariocpanel/public_html/caminho/para/magento/shell/log.php
Geralmente o Magento está instalado em ´public_html. Desta forma, o caminho é modificado, como mostra o exemplo abaixo:
php -f /home/usuariocpanel/public_html/shell/log.php
Nota: Pode ocorrer uma quebra na linha acima por conta da web. Copie e cole para se certificar que tudo está em uma linha.
Limpar banco de dados via phpMyAdmin: usar o phpMyAdmin oferece mais flexibilidade e eficiência ao trabalhar com bancos de dados.
- Entre pelo cPanel e clique em phpMyAdmin;
- Clique no banco de dados associado com a instalação do Magento;
- Selecione as seguintes tabelas:
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
Abaixo das tabelas listadas, clique na caixa “Com os selecionados:" e selecione “Vazio”;
Na tela de confirmação que aparece, clique em SIM.
Execute a limpeza dos logs do banco de dados regularmente. Utilizando a opção Cron Job você evita realizar as tarefas manualmente. Apenas tenha certeza que o Cron está configurado adequadamente.
Se você tiver dúvidas ou precisar de auxílio, entre em contato conosco via ticket ou chat online. Para entrar em contato, acesse este link.