Tag: magento lento

  • Como melhorar a velocidade do Magento 2 | Dicas e Otimizações 2025

    Como melhorar a velocidade do Magento 2 | Dicas e Otimizações 2025

    Introdução a otimização Magento 2

    Então você tá buscando por otimização magento 2 ? Seja bem vindo!

    Desde 2014 atuo com gerenciamento de hospedagem Magento, passando pelas versões mais antigas como o Magento 1.5 até as atuais versões do Magento 2, sempre acompanhando de perto a evolução da plataforma e as mudanças necessárias para garantir alta performance e estabilidade.

    Neste artigo, vou compartilhar conhecimentos atualizados e práticos que podem ser aplicados tanto por desenvolvedores quanto por profissionais de infraestrutura, trazendo uma visão clara de quais pontos realmente fazem diferença no dia a dia de uma loja online.

    O objetivo é fornecer um guia que pode ser adaptado à realidade de cada projeto — desde pequenos negócios até grandes operações de e-commerce que exigem escalabilidade.

    Antes de entrar nos ajustes técnicos, é importante destacar que a escolha da hospedagem é a base de qualquer projeto Magento.

    Ela impacta diretamente performance, segurança e escalabilidade. Vamos começar pelas duas principais opções: hospedagem gerenciada, para projetos menores que buscam simplicidade, e hospedagem dedicada, para operações que precisam de mais recursos e crescimento sustentável.

    Entendendo sobre hospedagem magento

    A hospedagem gerenciada é indicada para quem busca praticidade. Nesse modelo, toda a configuração do servidor já vem pronta: PHP, banco de dados, cache e outros recursos necessários para rodar o Magento ficam disponíveis sem que o lojista ou desenvolvedor precise se preocupar com ajustes manuais. O ponto positivo é a simplicidade, mas em contrapartida há limitações na customização e no controle total do ambiente.
    Exemplo: Cloudways, entre outras soluções semelhantes voltadas para pequenos e médios projetos.

    Já a hospedagem dedicada oferece liberdade total de configuração. Aqui é possível ajustar cada detalhe do servidor de acordo com a demanda do projeto: memória, CPU, cache, segurança e integrações avançadas. É o modelo mais recomendado para operações de médio e grande porte, que exigem escalabilidade e alta performance.
    Exemplos: AWS, Linode, DigitalOcean, entre outros provedores de infraestrutura em nuvem.

    Servidor e Infraestrutura

    Mesmo a melhor loja Magento pode perder desempenho se o servidor não estiver preparado. Aqui entram os ajustes de infraestrutura que fazem diferença prática no dia a dia:

    • Servidor Web (Nginx)
      Responsável por entregar as páginas da loja, o Nginx deve estar configurado para lidar bem com alto volume de acessos e cache de arquivos estáticos.
    • PHP com PHP-FPM e Opcache
      O PHP é o coração do Magento. Usar PHP-FPM garante que os processos sejam gerenciados de forma inteligente, enquanto o Opcache armazena o código já processado para acelerar o carregamento das páginas.
    • Banco de Dados (MySQL/MariaDB)
      É onde ficam todos os produtos, clientes e pedidos. Ajustar esse componente significa evitar lentidão nas consultas e preparar o banco para suportar picos de acesso.
    • Redis
      Usado tanto para sessões de usuários quanto para cache interno do Magento, o Redis ajuda a reduzir o tempo de resposta da loja.
    • Varnish Cache
      Fundamental para o Full Page Cache, o Varnish acelera o carregamento das páginas públicas, garantindo mais velocidade para o cliente final.
    • Elasticsearch
      Responsável pela busca de produtos, precisa estar otimizado para retornar resultados rápidos e relevantes, mesmo em catálogos grandes.
    • RabbitMQ
      Garante que tarefas em segundo plano (como envio de e-mails ou atualização de índices) não atrapalhem a navegação da loja.
    • CDN (Cloudflare)
      A camada extra que distribui conteúdo pelo mundo, protege contra ataques e melhora a velocidade de carregamento em qualquer região.
    image
    Github

    No Github eu mantenho um repositório com diversos arquivos de configuração otimizados com explicações.

    O coração da otimização Magento 2 está no uso inteligente de cache.

    Uma loja Magento 2 sem cache se torna lenta e pesada, prejudicando a experiência do usuário e as vendas. O segredo está em combinar diferentes camadas de cache para acelerar o carregamento das páginas e reduzir o esforço do servidor.

    • Full Page Cache (FPC)
      Essencial para armazenar páginas completas e entregá-las de forma imediata ao visitante.
    • Cache de Páginas Públicas e Privadas
      Enquanto páginas públicas (como categorias e produtos) podem ser totalmente cacheadas, páginas privadas (como carrinho e checkout) exigem estratégias específicas para manter a velocidade sem perder personalização.
    • Redis e Varnish em Conjunto
      O Redis armazena dados internos do Magento, enquanto o Varnish acelera a entrega das páginas. Juntos, formam a combinação ideal para lojas de alto desempenho.
    • CDN para Assets Estáticos
      Imagens, scripts e estilos podem ser entregues via CDN, reduzindo a carga do servidor principal e garantindo carregamento rápido em qualquer lugar do mundo.

    Garantir a segurança é parte essencial da otimização Magento 2.

    Uma loja segura protege os dados dos clientes e mantém o negócio em funcionamento sem interrupções. Abaixo, pontos práticos para implementar:

    • HTTPS e TLS (Nginx e Apache)
      • Configure certificados SSL válidos (Let’s Encrypt ou gerenciados por provedores).
      • Em Nginx:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    • Em Apache:
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    • Sempre priorizar TLS 1.3 quando disponível.

    Proteção contra DDoS e Bots (Cloudflare WAF)

    • Ative o Web Application Firewall (WAF) para bloquear ataques de injeção, SQLi e XSS.
    • Crie Rules específicas para bloquear países, IPs ou user-agents maliciosos.
    • Configure Rate Limiting para páginas críticas como /checkout e /carrinho.

    Backups e Planos de Recuperação

    • Scripts Shell para backups automáticos:
    # Exemplos
    
    # Backup do banco de dados
    mysqldump -u usuario -p'senha' magento_db > /backup/db_$(date +%F).sql
    
    # Backup do diretório do Magento
    tar -czf /backup/code_$(date +%F).tar.gz /var/www/magento
    • Cloud Providers: utilize snapshots automáticos (AWS, DigitalOcean, Linode) para ter recuperação rápida do servidor.
    • Combine backups locais com armazenamento externo (S3, Google Cloud Storage).

    A otimização Magento 2 também passa pelo núcleo do sistema e pela qualidade do código.

    Não adianta ter um servidor robusto se o Magento estiver mal configurado ou sobrecarregado por extensões desnecessárias. Aqui entram boas práticas para manter o core limpo e eficiente:

    Gestão de Extensões

    • Remova módulos que não são usados, pois cada extensão aumenta consumo de recursos.
    • Prefira extensões de fornecedores confiáveis, com suporte ativo e atualizações frequentes.

    Compilação e Deploy

    • Utilize os comandos nativos para preparar o ambiente:
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy -f
    • Isso garante que o Magento carregue código otimizado e estático, reduzindo tempo de resposta.

    Indexadores

    • Mantenha os indexadores no modo Update on Schedule, evitando reindexações pesadas em tempo real.
    • Verifique status com:
    php bin/magento indexer:status

    Boas Práticas de Código

    • Evite consultas diretas ao banco fora do padrão do Magento.
    • Use collections e repositórios nativos para manter compatibilidade e performance.
    • Sempre versionar código em Git, garantindo controle e rollback rápido em caso de falhas.

    A otimização Magento 2 também acontece no que o cliente enxerga e sente ao navegar.

    Quando falamos em performance, não basta olhar apenas para o servidor: o front-end tem impacto direto na experiência do usuário e no SEO. Ajustes como a minificação de CSS e JavaScript reduzem o peso das páginas, enquanto o lazy load de imagens e vídeos garante que apenas o conteúdo visível seja carregado de imediato, acelerando o tempo inicial de resposta.

    Outro ponto importante é o uso do HTTP/2, que permite que múltiplos arquivos sejam transferidos em paralelo, aproveitando melhor cada requisição. Somado a isso, cuidar dos Core Web Vitals — métricas como estabilidade visual e tempo de interação — é fundamental para alcançar melhores posições no Google e aumentar as conversões.

    Para complementar, existem módulos que auxiliam nesse processo, como o Amasty Google Page Speed Optimizer, bastante usado para otimizar imagens, aplicar lazy load e reduzir o peso de arquivos estáticos. Além disso, CDNs como a Cloudflare oferecem recursos extras de minificação automática de CSS e JavaScript, combinando segurança, cache global e otimização do front-end em uma única camada.

    image
    image

    https://amasty.com/google-page-speed-optimizer-for-magento-2.html

    Em resumo, otimizar o front-end é transformar cada clique do cliente em uma navegação mais fluida, rápida e confiável.

    Ajustar o composer.json é uma das formas mais eficazes de reduzir peso e melhorar a performance do Magento.

    O arquivo composer.json define todos os módulos, dependências e pacotes ativos na sua instalação Magento 2. Muitas vezes, ele vem carregado com extensões que não são usadas no projeto, aumentando o tempo de build, consumo de recursos e até pontos de falha em atualizações.

    Uma prática de otimização Magento 2 é revisar esse arquivo e utilizar a diretiva replace para desativar módulos desnecessários, como integrações de pagamento ou serviços que não fazem parte do seu negócio. Isso reduz código carregado no servidor, melhora o tempo de deploy e simplifica a manutenção.

    Outro ponto importante é ajustar a seção require-dev, mantendo apenas ferramentas realmente necessárias no ambiente de desenvolvimento, como PHPUnit, PHPStan e CodeSniffer, mas evitando que esses pacotes sejam instalados em produção.

    Além disso, configurações simples como:

    {
        "name": "magento/project-community-edition",
        "description": "Magento 2 Community Edition - Otimizado",
        "type": "project",
        "license": [
            "OSL-3.0",
            "AFL-3.0"
        ],
        "config": {
            "preferred-install": "dist",
            "sort-packages": true
        },
        "require": {
            "magento/product-community-edition": "2.4.1",
            "magento/composer-root-update-plugin": "~1.0"
        },
        "replace": {
            "magento/module-sample-data": "*",
            "magento/module-send-friend": "*",
            "magento/module-weee": "*",
            "magento/module-weee-graph-ql": "*",
            "magento/module-tax-import-export": "*",
            "magento/module-swagger": "*",
            "magento/module-swagger-webapi": "*",
            "magento/module-swagger-webapi-async": "*",
            "magento/module-tinymce-3": "*",
            "magento/module-csp": "*",
            "magento/google-shopping-ads": "*",
            "magento/module-google-adwords": "*",
            "magento/module-google-analytics": "*",
            "magento/module-google-optimizer": "*",
            "magento/module-login-as-customer": "*",
            "magento/module-login-as-customer-admin-ui": "*",
            "magento/module-login-as-customer-api": "*",
            "magento/module-login-as-customer-assistance": "*",
            "magento/module-login-as-customer-frontend-ui": "*",
            "magento/module-login-as-customer-log": "*",
            "magento/module-login-as-customer-page-cache": "*",
            "magento/module-login-as-customer-quote": "*",
            "magento/module-login-as-customer-sales": "*",
            "magento/module-login-as-customer-analytics": "*",
            "magento/module-new-relic-reporting": "*",
            "magento/module-adobe-stock-*": "*",
            "yotpo/magento2-module-yotpo-reviews": "*",
            "yotpo/magento2-module-yotpo-reviews-bundle": "*",
            "dotmailer/*": "*",
            "klarna/*": "*",
            "amzn/*": "*",
            "temando/*": "*",
            "vertex/*": "*"
        },
        "require-dev": {
            "phpunit/phpunit": "^9",
            "phpstan/phpstan": "^1.0",
            "friendsofphp/php-cs-fixer": "^3.0",
            "squizlabs/php_codesniffer": "^3.7",
            "phpmd/phpmd": "^2.13",
            "sebastian/phpcpd": "^6.0",
            "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
            "magento/magento-coding-standard": "*"
        },
        "conflict": {
            "gene/bluefoot": "*"
        },
        "autoload": {
            "psr-4": {
                "Magento\\Framework\\": "lib/internal/Magento/Framework/",
                "Magento\\Setup\\": "setup/src/Magento/Setup/",
                "Magento\\": "app/code/Magento/"
            },
            "psr-0": {
                "": [
                    "app/code/",
                    "generated/code/"
                ]
            },
            "files": [
                "app/etc/NonComposerComponentRegistration.php"
            ],
            "exclude-from-classmap": [
                "**/dev/**",
                "**/update/**",
                "**/Test/**"
            ]
        },
        "autoload-dev": {
            "psr-4": {
                "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
                "Magento\\Tools\\": "dev/tools/Magento/Tools/"
            }
        },
        "version": "2.4.1",
        "minimum-stability": "stable",
        "repositories": {
            "0": {
                "type": "composer",
                "url": "https://repo.magento.com/"
            }
        },
        "extra": {
            "magento-force": "override"
        }
    }
    

    Esse arquivo:

    • Mantém apenas o core essencial do Magento.
    • Remove módulos não usados via replace (Google Ads, Adobe Stock, Klarna, Yotpo, Temando, Vertex etc.).
    • Deixa o require-dev apenas com ferramentas realmente úteis para desenvolvimento.
    • Usa preferred-install: dist para builds mais rápidos e sort-packages: true para manter dependências organizadas.

    Resultado: um Magento mais leve, com menos dependências carregadas em produção e builds mais rápidos.

    Desativando módulos não utilizados no Magento 2

    O Magento 2 vem com diversos módulos ativos por padrão, incluindo integrações de pagamento, envio, marketing e relatórios que muitas vezes não fazem parte da realidade de cada projeto. Esses módulos consomem recursos, aumentam o tempo de compilação e podem até gerar vulnerabilidades desnecessárias.

    Para otimizar a instalação, podemos desativar rapidamente os pacotes que não estão em uso com o comando:

    sudo -u www-data php bin/magento module:disable -c {PayPal_BraintreeGraphQl,PayPal_Braintree,Magento_PaypalCaptcha,Magento_PaypalGraphQl,Magento_Paypal,Amazon_Login,Amazon_Payment,Amazon_Core,Magento_DownloadableImportExport,Magento_GroupedImportExport,Magento_InventoryBundleImportExport,Magento_BundleImportExport,Magento_TaxImportExport,Magento_SampleData,Magento_InstantPurchase}
    
    sudo -u www-data php bin/magento module:disable -c {Magento_Csp,Magento_Fedex,Magento_Dhl,Magento_Ups,Magento_Usps,Magento_AdobeStockImageAdminUi,Magento_AdobeStockAdminUi,Magento_AdobeStockAssetApi,Magento_AdobeStockAsset,Magento_AdobeStockImageApi,Magento_AdobeStockImage,Magento_AdobeStockClientApi,Magento_AdobeStockClient,Magento_AdobeImsApi,Magento_AdobeIms}
    
    sudo -u www-data php bin/magento module:disable -c {Klarna_Onsitemessaging,Klarna_Ordermanagement,Klarna_Kp,Klarna_Core,Magento_NewRelicReporting,Magento_CardinalCommerce,Magento_SendFriendGraphQl,Magento_SendFriend,Yotpo_Yotpo,Magento_TwoFactorAuth,Dotdigitalgroup_Chat,Dotdigitalgroup_Email,Vertex_AddressValidation,Vertex_Tax,Magento_WeeeGraphQl,Magento_Weee,Temando_ShippingRemover}
    
    sudo -u www-data php bin/magento module:disable Magento_Persistent Magento_Elasticsearch6 Mageplaza_QuickFlushCache -c
    
    sudo -u www-data php bin/magento module:disable Magento_Swagger Magento_SwaggerWebapi Magento_SwaggerWebapiAsync -c
    

    Depois de executar os comandos, é recomendado rodar:

    sudo -u www-data php bin/magento setup:upgrade
    sudo -u www-data php bin/magento setup:di:compile
    sudo -u www-data php bin/magento cache:flush

    Assim, você mantém apenas o que realmente é necessário para o funcionamento da loja, deixando o Magento mais leve, seguro e rápido.

    Conte com especialistas para garantir a verdadeira otimização Magento 2.

    O Magento 2 é uma plataforma poderosa, mas também exige atenção constante com servidor, segurança, atualizações e performance. Muitos problemas de lentidão, falhas em checkout ou até quedas de loja durante promoções acontecem justamente por falta de gestão adequada da infraestrutura.

    É aqui que entra meu trabalho: desde 2014 atuo com hospedagem e otimização de Magento, ajudando lojas virtuais a crescerem com ambientes estáveis, rápidos e preparados para escalar. Ofereço suporte completo e gerenciamento de servidores Magento 2, cuidando desde a configuração inicial até monitoramento contínuo, segurança, backups e ajustes de performance que fazem diferença real no resultado das vendas.

    Se você quer ter a tranquilidade de focar no negócio enquanto a parte técnica fica nas mãos de quem entende, entre em contato comigo. Vamos avaliar sua loja, identificar gargalos e preparar um plano sob medida para o seu e-commerce.