Sim, já sabemos que o Magento dá problemas. Vários problemas. Mas não é assim que tem que ser, não é assim que precisa ser. Há alguma forma de resolver os problemas no Magento? Sim, há. Mais do que isso, há formas de evitar que os problemas aconteçam e infelizmente, isso não costuma ser seguido. Esse aqui não é um guia para resolver 100% dos problemas do Magento (e nem mesmo 99% dos problemas, como publiquei há alguns anos), mas pode ser de grande ajuda para você que tem uma loja Magento.
Evitando que os problemas aconteçam
Antes, vamos aos pontos a serem seguidos para evitar que os problemas aconteçam:
- estruture sua loja antes de começar o desenvolvimento: procure pensar em todos os requisitos e em tudo que você precisará antes de começar a instalação e configuração da loja, bem como a compra do tema e a instalação de módulos adicionais. Isso é importante para que você tenha o mínimo de elementos necessários e evite ter instalado módulos que mexeram com as configurações – e colocaram tabelas ou dados inúteis no banco de dados – para simplesmente serem desinstalados ou desligados.
- muito cuidado ao retirar ou desligar módulos: uma vez instalados, eles ficam registrados no sistema e podem (eu disse podem, não que vão) interferir em outras operações, causando erros inexplicáveis.
- invista em um bom servidor: a maior causa de problemas são servidores mal dimensionados ou inseguros, especialmente os compartilhados. Uma VPS não é tão cara assim que não justifique o investimento, mesmo em tempos de dólar alto. Quanto mais produtos você tiver e mais visitas diárias/simultâneas sua loja receber, maiores os recursos necessários.
- ainda na linha do servidor, mantenha as pastas com as permissões adequadas e apenas os arquivos necessários: não abra permissões de escrita e execução para todas as pastas e não fique deixando arquivos desnecessários na raiz ou pelo sistema.
- verifique os módulos que serão instalados e como foram desenvolvidos: isso é um trabalho conjunto entre lojista e desenvolvedor. O Magento Connect está cheio de módulos de todos os tipos e para todos os usos, mas muitos deles são mal escritos e com alto potencial de problemas. Veja os comentários de outros usuários e se possível, revise o código em busca de erros de construção e scripts maliciosos.
- durante o desenvolvimento, invista em uma loja “error-free”: isso inclui a instalação, os módulos e o tema. Sua loja tem que ser entregue sem erros, pois pequenos erros no começo se transformarão em grandes erros no futuro. Utilize o Element Inspector e verifique os logs na hora da entrada em produção. Aliás, verifique isso sempre, ao menos uma vez por mês.
- não atualize o Magento automaticamente: acredite em mim, isso não funciona. É preciso verificar a atualização antes, para identificar possíveis conflitos, corrigi-los e só depois proceder à atualização manual.
- não leve muito tempo para atualizar a versão: mesmo com o Magento na versão 1.9, ainda é possível trabalhar com uma 1.8 ou até mesmo com uma 1.7 (desde que aplicadas as recentes correções de segurança) mas se você ainda está com uma versão 1.4 ou 1.5, está procurando problemas. Se você utiliza a 1.3, esqueça, é melhor fazer uma loja nova.
- por último, tenha sempre um backup à mão: e não é o backup nativo do Magento. Faça um backup via servidor e tenha ferramentas como um backup no Dropbox (o Plesk tem isso de graça).
Depois que o problema aconteceu
Uma vez que o problema já aconteceu, a primeira regra é não se desesperar. Cabeça quente não vai resolver nada. Lembre-se sempre de limpar caches, reconstruir índices e sair e entrar novamente no painel. Essas simples ações podem resolver a maioria dos problemas. Se isso não der resultado, esses tópicos podem ajudá-lo:
- vá atrás dos logs: o Magento concentra os logs na pasta /var/log. Além disso, você pode buscar os logs do próprio servidor; verifique o caminho conforme o sistema operacional usado.
- pense em que alterações foram feitas nos últimos dias: um módulo defeituoso pode ter quebrado algo na outra ponta do Magento e você não se deu conta. Desative esse módulo, alterando o arquivo correspondente na pasta /app/etc/modules (colocando a flag <active> como false ou excluindo o XML – renomeá-lo não vai adiantar). Veja se o problema é resolvido. Se sim, você deverá fazer uma investigação. Se você tiver instalado mais de um módulo, desligue todos eles e depois ligue um por vez, até identificar o problema.
- um erro comum é o arquivo maintenance.flag, do Magento Connect: quando o Connect está instalando ou atualizando um módulo, ele coloca um arquivo chamado maintenance.flag na raiz do site. Se ocorre algum erro no processo, o Magento simplesmente deixa o arquivo lá e a loja não funciona, retornando um erro. Basta excluir esse arquivo e sua loja voltará a funcionar.
- verifique com seu provedor se não houve nenhuma alteração ou atualização do sistema: às vezes, algum serviço requerido pelo Magento foi desligado e você deverá ligá-lo novamente.
Sim, infelizmente, a lista de ações a tomar antes do problema acontecer é maior que a lista de ações depois que o problema aconteceu. Se não conseguir resolver, tente recuperar o backup e faça uma investigação para avaliar as possíveis causas. Ainda há duas coisas que posso comentar antes de encerrar esse post:
- o Magento não coloca o erro na tela: portanto, não adianta você buscar no Google pelo código de erro que ele exibe pois você não encontrará nada. É preciso entrar na pasta /var/report, em sua instalação e abrir o arquivo identificado pelo número do erro. Ali há a explicação – muitas vezes incompreensível para os leigos – do que causou o erro e a primeira pista para buscar a solução.
- se você é leigo, contrate quem sabe como resolver: atendo muitas pessoas que me escrevem dizendo que estão com tal erro no Magento e que querem saber como resolvê-lo. Minha resposta é padrão. Não posso explicar como resolver o erro sem investigá-lo. Investigar o erro toma tempo e tempo é dinheiro. Além disso, não há como resolver um problema sem ter certeza de que ele foi isolado e isso pode demorar muito mais do que o previsto. Ainda que o senso de comunidade e companheirismo impere por aqui, estamos em um mercado e as pessoas precisam comer e pagar contas. Portanto, pense que vale muito mais a pena investir em prevenção para que os problemas não aconteçam e sejam resolvidos de maneira fácil. Sairá muito mais barato e seus clientes vão lhe agradecer por isso.
3 Comments
Jeferson Freitas De Oliveira M · 28/12/2016 at 08:09
andre bom dia… estou com um problema ao tentar acessar o painel administrativo “Use of undefined constant CURLOPT_PROTOCOLS – assumed ‘CURLOPT_PROTOCOLS”, voce poderia me ajudar por favor, ja tentei varios blogs e foruns mas nao consegui nada…
Graziela oliveira da rosa · 04/03/2018 at 10:27
Olá entrei no meu painel de controle mas não consigo acessar em mais nenhum tópico além de painel o que pode ser ?
RobsonBastos · 11/04/2018 at 19:09
Conseguiu resolver seu problema?
Esta usando uma versão do magento acima de 2?