Como preparar seu site para a pesquisa multimodal do Google
Guia prático para preparar seu site para a pesquisa multimodal do Google, com HTML de imagem, sitemap, dados estruturados, performance e medição no Search Console.
E-commerce lento não é só um problema técnico, é um problema de caixa. Cada segundo extra no carregamento afasta visitantes, aumenta o abandono de carrinho e reduz diretamente o faturamento. A Amazon documentou uma queda de 1% nas vendas para cada 100ms de latência. O Walmart registrou aumento de 2% nas conversões ao melhorar o tempo de carregamento em apenas 1 segundo. Sites com carregamento de 1 segundo convertem 2,5x mais do que sites de 5 segundos.
Se sua loja está lenta e você não sabe por onde começar, este artigo vai mostrar as causas mais comuns, como diagnosticar cada uma delas com precisão e como resolver de forma estruturada, seja você usando WooCommerce, OpenCart ou qualquer outra plataforma.
O impacto da lentidão vai muito além da experiência ruim. Ele afeta diretamente o faturamento em múltiplas frentes ao mesmo tempo.
No tráfego orgânico: desde 2021 os Core Web Vitals fazem parte dos critérios de ranqueamento do Google. Uma loja lenta não apenas converte menos, ela aparece menos nos resultados de busca.
No tráfego pago: o Quality Score do Google Ads leva em conta a experiência da página de destino. Uma landing page mais lenta resulta em CPC mais alto e posições piores nos leilões, aumentando o custo de aquisição de cliente (CAC).
Na retenção: o tempo de sessão cai quando cada página demora para carregar. O usuário explora menos produtos, retorna menos e o ticket médio encolhe.
Dado crítico: 100ms de atraso podem reduzir a conversão em até 7% (Akamai). Aumentar o tempo de carga de 1,5s para 3s corta a conversão pela metade em dispositivos móveis.
Velocidade não é um detalhe técnico que pode esperar. É uma alavanca de receita com retorno mensurável em múltiplas frentes.
Antes de qualquer intervenção, você precisa confirmar que o problema existe e entender onde ele está. Sintomas subjetivos como “parece lento” não são suficientes para tomar decisões técnicas certas.
| Ferramenta | O que mede | Quando usar |
|---|---|---|
| Google PageSpeed Insights | Core Web Vitals, pontuação geral, oportunidades de melhoria | Diagnóstico inicial, qualquer página |
| GTmetrix | Tempo de carregamento, cascata de requisições, tamanho total | Investigar recursos específicos |
| Google Search Console | Core Web Vitals do domínio inteiro ao longo do tempo | Monitoramento contínuo |
| WebPageTest | TTFB, filmstrip visual, comparativo entre localizações | Diagnóstico avançado de servidor |
| Chrome DevTools (Lighthouse) | Teste local antes de publicar mudanças | Validar melhorias em desenvolvimento |
| New Relic / Datadog | Performance do servidor em tempo real | Monitoramento em produção |
Antes de diagnosticar, é essencial saber o que é aceitável e o que é crítico. Esses são os benchmarks que definem se uma loja está saudável ou problemática:
| Métrica | Bom | Precisa melhorar | Ruim |
|---|---|---|---|
| TTFB | < 200ms | 200ms a 500ms | > 500ms |
| LCP | < 2,5s | 2,5s a 4s | > 4s |
| INP | < 200ms | 200ms a 500ms | > 500ms |
| CLS | < 0,1 | 0,1 a 0,25 | > 0,25 |
| Cache Hit Rate | > 85% | 60% a 85% | < 60% |
As métricas de Core Web Vitals são avaliadas no percentil 75 dos acessos reais. Isso significa que não basta ser rápido para os primeiros visitantes. A loja precisa performar bem para a grande maioria, incluindo usuários com conexões mais lentas ou dispositivos mais antigos.
A hospedagem compartilhada funciona razoavelmente para blogs e sites institucionais. Em uma loja virtual com múltiplas requisições simultâneas, carrinho ativo, processamento de sessões e consultas dinâmicas ao banco de dados, ela rapidamente se torna um gargalo intransponível.
O servidor divide CPU, memória e I/O entre dezenas ou centenas de sites simultaneamente. Qualquer pico de tráfego em um vizinho afeta diretamente sua loja, sem que você tenha controle algum sobre isso. E em datas de alta demanda, o problema se multiplica.
O PHP é a linguagem de base do WooCommerce e da maioria dos e-commerces em WordPress. Versões antigas como PHP 7.2 ou 7.4 são significativamente mais lentas do que as versões atuais. O PHP 8.1 e 8.2 têm ganhos de performance documentados de 20% a 40% em relação às versões anteriores, simplesmente por rodar o mesmo código com maior eficiência.
Cada plugin instalado adiciona requisições ao servidor e, frequentemente, carrega scripts externos de terceiros que precisam ser resolvidos antes que a página fique interativa. Chat ao vivo, pop-ups de captação, pixels de rastreamento (Facebook, TikTok, Google Ads), widgets de avaliação e contadores de visitantes todos consomem tempo de carregamento.
Em lojas com mais de 2 ou 3 anos de operação, esse acúmulo é especialmente crítico. Plugins instalados para testes e esquecidos continuam rodando. Ferramentas de analytics de campanhas antigas continuam disparando. O resultado é uma página com dezenas de requisições externas bloqueando a renderização.
Sem cache configurado, o servidor processa do zero cada requisição de cada visitante. Em uma loja com bom tráfego isso gera carga desnecessária que se reflete no tempo de resposta, especialmente nos horários de pico. O banco de dados é consultado repetidamente para entregar conteúdo que não mudou nada desde a última visita.
Uma foto de produto saída diretamente da câmera pode ter 4MB ou mais. Uma página de categoria com 20 produtos assim ultrapassa facilmente os 80MB de transferência total. Em uma conexão 4G comum, isso representa segundos de espera que o usuário não vai tolerar.
Com o tempo, o banco de dados acumula revisões de produtos, logs de pedidos antigos, sessões expiradas, transações abandonadas e transientes expirados. Esse inchaço torna as consultas mais lentas. Em lojas com muitos SKUs e variações, o impacto é especialmente visível nas páginas de listagem e busca interna.
Temas antigos carregam bibliotecas JavaScript que já não são necessárias, como versões antigas de jQuery, ou que foram substituídas por alternativas mais leves. CSS e JS não minificados somam kilobytes desnecessários em cada carregamento. Scripts carregados de forma síncrona bloqueiam a renderização inteira da página enquanto aguardam a resposta do servidor externo.
O TTFB (Time to First Byte) é o indicador primário de saúde do servidor. Ele mede o tempo que o servidor leva para começar a responder depois que o navegador fez a requisição.
Um TTFB acima de 500ms a 800ms indica gargalos no servidor ou no processamento backend antes de qualquer otimização de front-end. Para e-commerces, o ideal é abaixo de 200ms para garantir bons scores de LCP.
Se o TTFB está alto, o problema está no servidor, no PHP, no banco de dados ou na ausência de cache. Não adianta comprimir imagens se o servidor demora 2 segundos para começar a responder.
Como testar: acesse web.dev/articles/ttfb ou use o WebPageTest para ver o TTFB isolado de outros fatores.
Para lojas em WordPress/WooCommerce, o plugin Query Monitor é a ferramenta mais eficiente para identificar consultas lentas ao banco de dados. Ele mostra exatamente quais queries estão sendo executadas em cada página, quanto tempo cada uma leva e qual plugin ou tema as gerou.
No MySQL, habilitar o slow_query_log com threshold de 1 segundo captura automaticamente todas as consultas problemáticas para análise posterior:
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1;
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
Consultas que levam mais de 2 segundos devem ser otimizadas com índices compostos ou os resultados devem ser movidos para cache com Redis.
O Chrome DevTools, aba Network, mostra com precisão quais scripts externos estão sendo carregados, de quais domínios e quanto tempo cada um adiciona ao carregamento total. Filtrar por “Third-party” na aba Performance revela o impacto real de cada pixel e widget instalado.
Um estudo Fortune 50 documentou que a remoção de scripts de terceiros desnecessários resultou em uma redução de 900ms na latência e aumento de 2,47% na receita anual. O impacto de pixels acumulados é maior do que a maioria dos gestores imagina.
A hospedagem gerenciada específica para e-commerce oferece PHP workers dedicados, configuração de servidor otimizada para o CMS utilizado e suporte especializado. Diferentemente da hospedagem compartilhada, os recursos são alocados exclusivamente para o seu site.
Para WooCommerce, provedores como Kinsta, WP Engine, Cloudways e Pressable oferecem infraestrutura específica. Para OpenCart, um VPS com Nginx e configuração customizada frequentemente supera qualquer hospedagem compartilhada disponível no mercado.
Independentemente da plataforma, garantir que o servidor rode PHP 8.1 ou superior é uma das melhorias com maior impacto por menor esforço. Além da versão, o número de PHP workers disponíveis determina quantas requisições simultâneas o servidor consegue processar sem enfileirar.
Em hospedagem compartilhada, esse número é fixo e compartilhado. Em VPS ou hospedagem gerenciada, pode ser ajustado conforme a necessidade da loja.
Uma CDN (Content Delivery Network) serve os arquivos estáticos da loja a partir de servidores geograficamente próximos ao visitante, reduzindo a latência de rede. O Cloudflare, em sua versão gratuita, já oferece ganhos significativos. O Cloudflare APO (Automatic Platform Optimization) vai além e armazena em cache o próprio HTML da página para WordPress, eliminando a consulta ao servidor de origem para visitantes recorrentes.
O uso de CDN pode reduzir em até 90% as requisições de ativos estáticos no servidor de origem, liberando recursos para processar as partes dinâmicas da loja como carrinho, sessão e checkout.
Cache não é uma solução única. Uma arquitetura eficiente combina três camadas complementares:
Armazena resultados de consultas ao banco de dados na memória RAM, eliminando a necessidade de reprocessar queries repetitivas. Quando um visitante acessa a página de um produto, o banco de dados é consultado uma vez e o resultado fica disponível na memória para as próximas requisições.
Redis é a solução padrão para lojas de médio e grande porte por oferecer persistência e estruturas de dados mais avançadas. No WooCommerce, é compatível com plugins como WP Redis e Redis Object Cache. No OpenCart, a integração exige configuração manual mas o impacto é imediato.
Armazena o HTML completo de páginas estáticas como listagens de categoria e páginas de produto sem variações de preço dinâmicas. Quando um visitante acessa essa página, o servidor entrega o HTML diretamente do cache sem executar PHP, consultar o banco ou processar template.
Nginx FastCGI Cache e Varnish são as soluções mais comuns para FPC. A diferença de configuração entre os dois:
| Aspecto | Nginx FastCGI Cache | Varnish |
|---|---|---|
| Complexidade de configuração | Moderada | Alta |
| Performance | Excelente | Excelente |
| Flexibilidade de regras | Boa | Muito alta (VCL) |
| Consumo de memória | Baixo | Médio a alto |
| Integração com WooCommerce | Boa com plugins | Exige configuração manual |
| Integração com OpenCart | Boa | Exige configuração manual |
O maior desafio com FPC em e-commerces é a invalidação de cache: quando um preço muda ou um produto fica sem estoque, o cache desatualizado precisa ser limpo automaticamente para evitar que o visitante veja informação incorreta.
Instrui o browser do visitante a armazenar arquivos estáticos localmente, impedindo que sejam baixados novamente nas próximas visitas. Headers como Cache-Control e Expires definem por quanto tempo cada tipo de arquivo deve ser armazenado.
Imagens, fontes e arquivos CSS ou JS que raramente mudam podem ter TTL de 30 dias ou mais. Arquivos que mudam com frequência devem ter cache busting via hash no nome do arquivo.
O WooCommerce armazena dados temporários na tabela wp_options usando o sistema de transientes do WordPress. Com o tempo, transientes expirados se acumulam e tornam as queries nessa tabela progressivamente mais lentas, já que ela não tem índice no campo option_name por padrão em algumas configurações.
Limitar revisões de posts no wp-config.php impede que o banco cresça desnecessariamente:
define('WP_POST_REVISIONS', 3);
Plugins como WP-Optimize automatizam a limpeza periódica de transientes expirados, revisões antigas, sessões expiradas e pedidos abandonados sem pedidos finalizados há mais de X dias.
No OpenCart, dois problemas são especialmente comuns em lojas com alto volume de dados:
Sessões baseadas em arquivos: por padrão, o OpenCart armazena sessões em disco. Em servidores com alto tráfego, isso cria I/O excessivo. Migrar o armazenamento de sessões para Redis elimina esse gargalo completamente.
innodb_buffer_pool_size: esse parâmetro do MySQL define quanto da memória RAM é dedicado a manter os índices e dados mais acessados na memória. O valor padrão é frequentemente muito baixo. Ajustá-lo para 70-80% da RAM disponível no servidor dedicado à base de dados reduz dramatically o número de leituras em disco.
-- Em /etc/mysql/mysql.conf.d/mysqld.cnf
innodb_buffer_pool_size = 4G -- para um servidor com 6GB de RAM
Páginas de listagem de produtos com filtros por categoria, preço e atributos geram queries complexas que varrem grandes volumes de dados. Criar índices compostos nas colunas mais utilizadas nessas queries reduz o tempo de execução de segundos para milissegundos.
Antes de criar qualquer índice, use EXPLAIN para entender como o MySQL está executando a query e identificar os campos que mais se beneficiam de indexação.
O formato WebP oferece compressão superior ao JPEG e PNG sem perda visível de qualidade. Imagens de produto convertidas para WebP tipicamente ficam 30% a 50% menores do que o equivalente em JPEG com qualidade similar.
O fluxo correto para imagens em e-commerce:
O atributo loading="lazy" instrui o navegador a adiar o download de imagens que estão fora da área visível inicial, priorizando o conteúdo que o usuário vê primeiro. Isso tem impacto direto no LCP quando a imagem principal do produto é carregada mais rapidamente por não competir com dezenas de outras.
Declarar width e height em cada imagem impede o layout shift que ocorre quando o navegador não sabe o tamanho do elemento antes de baixá-lo. Esse é um dos fatores que mais afeta negativamente o CLS.
<img
src="produto.webp"
width="800"
height="600"
loading="lazy"
alt="Nome do produto"
/>
width e height estão declarados em todas as tags <img>?loading="lazy" está aplicado em imagens fora da viewport inicial?loading="eager" ou sem o atributo?Content-Type: image/webp?Quando o navegador encontra uma tag <script> sem os atributos async ou defer, ele para completamente de processar o HTML, baixa o script, executa e só então continua. Se esse script estiver em um servidor externo lento, toda a renderização da página fica bloqueada por isso.
Scripts que devem ser diferidos com defer:
Scripts que precisam de atenção especial:
O INP (Interaction to Next Paint) mede quanto tempo leva para a página responder a uma interação do usuário, como clicar em “Adicionar ao carrinho” ou abrir um filtro de produtos. É a métrica que mais reflete a experiência real de uso após o carregamento.
Causas comuns de INP alto em e-commerces:
Para melhorar o INP, tarefas longas devem ser quebradas em pedaços menores usando setTimeout com delay zero, permitindo que o navegador processe interações do usuário entre cada pedaço:
// Em vez de executar tudo de uma vez
function tarefaPesada() {
// 500ms de processamento
}
// Quebre em partes menores
function tarefaEmPartes(items, index = 0) {
const fatia = items.slice(index, index + 50);
processar(fatia);
if (index + 50 < items.length) {
setTimeout(() => tarefaEmPartes(items, index + 50), 0);
}
}
O Critical CSS é a técnica de embutir diretamente no <head> da página apenas os estilos necessários para renderizar o conteúdo visível na primeira dobra, e carregar o restante do CSS de forma assíncrona. Isso permite que o navegador exiba algo útil para o usuário enquanto o arquivo CSS completo ainda está sendo baixado.
Ferramentas como Critical (npm), Penthouse ou a funcionalidade nativa de alguns plugins de cache geram o Critical CSS automaticamente.
O processo de auditoria de plugins deve ser metódico e baseado em dados, não em intuição. O Chrome DevTools aba Network permite ver exatamente quais domínios externos estão sendo consultados ao carregar cada página.
Perguntas para cada plugin instalado:
Atenção: desative plugins um a um em ambiente de staging, nunca direto em produção. Alguns plugins têm dependências entre si, e uma desativação incorreta pode quebrar funcionalidades críticas da loja.
Construtores visuais como Elementor, Divi e WPBakery carregam dezenas de arquivos CSS e JavaScript, muitos deles globalmente em todas as páginas mesmo que o conteúdo específico daquele construtor não esteja presente na página atual. Em páginas de checkout e carrinho, esse carregamento desnecessário é especialmente prejudicial.
Temas leves como Astra, GeneratePress ou temas nativos das plataformas carregam significativamente menos recursos e oferecem performance muito superior como ponto de partida.
Em lojas com histórico de campanhas em múltiplas plataformas, é comum acumular pixels de Facebook, TikTok, Pinterest, LinkedIn e Google Ads, cada um com sua própria biblioteca JavaScript carregada no front-end. Somados, esses scripts podem adicionar de 300ms a 800ms no tempo de carregamento.
A solução moderna é implementar rastreamento server-side (CAPI da Meta, Google Tag Manager Server-Side) para substituir parcialmente os scripts de front-end. O evento de conversão é enviado do servidor da loja diretamente para a plataforma de anúncios, sem depender do JavaScript no navegador do visitante. Isso reduz o impacto na performance e ainda melhora a qualidade dos dados de rastreamento, especialmente com as restrições de privacidade crescentes dos navegadores.
Os Core Web Vitals são métricas de experiência do usuário usadas pelo Google como sinal de ranqueamento. Elas avaliam três dimensões: velocidade de carregamento, interatividade e estabilidade visual.
Mede quando o maior elemento visível na tela é renderizado. Em páginas de produto, geralmente é a imagem principal do produto. Em páginas de categoria, pode ser a primeira linha de thumbnails.
Como melhorar o LCP:
<head>: <link rel="preload" as="image" href="produto.webp">Substituiu o FID (First Input Delay) em março de 2024 como métrica oficial. Mede a responsividade da página durante toda a sessão do usuário, não apenas a primeira interação.
Em e-commerces, os pontos mais críticos de INP são: botão “Adicionar ao carrinho”, filtros de categoria, seleção de variações (tamanho, cor) e formulários de checkout.
Mede instabilidade visual: elementos que se movem enquanto a página carrega. Em lojas virtuais, as causas mais comuns são imagens sem dimensões declaradas, banners de cookies que empurram o conteúdo para baixo e fontes que causam FOUT (Flash of Unstyled Text).
Páginas com Core Web Vitals ruins perdem posições para concorrentes com scores melhores quando os outros fatores são equivalentes. Em nichos competitivos, essa diferença pode representar passar de página 1 para página 2, com impacto dramático no tráfego orgânico.
Para um entendimento mais profundo de como a velocidade impacta o SEO técnico, recomendo a leitura do artigo sobre otimização de sites.
Nenhuma lentidão é mais cara do que a que acontece no checkout. É o momento em que o cliente já decidiu comprar e qualquer fricção pode fazer ele desistir.
Causas específicas de lentidão no checkout em WooCommerce:
No OpenCart, um problema frequente são os módulos de pagamento que carregam bibliotecas externas desnecessárias em todas as páginas do checkout, mesmo quando o método de pagamento específico não está selecionado.
O carrinho é por natureza dinâmico: cada usuário tem um estado diferente. Isso impossibilita o cache de página completa para a página do carrinho. No entanto, é possível otimizar:
Atenção: configurar cache de página completa sem excluir corretamente as páginas de carrinho e checkout resulta em um problema grave: usuários vendo o carrinho de outros usuários ou o cache de uma sessão logada sendo entregue para visitantes anônimos.
A maioria das compras online no Brasil já acontece pelo celular. Um e-commerce que carrega bem no desktop mas demora no mobile está convertendo mal a maior parte do seu tráfego.
O Google avalia a velocidade mobile de forma prioritária desde que o Mobile-First Indexing se tornou padrão. A versão mobile do seu site é a que define sua posição nos resultados de busca, independentemente de como o desktop performa.
Dispositivos móveis com processadores menos potentes levam mais tempo não apenas para baixar o JavaScript, mas para fazer o parsing e a compilação do código. Um arquivo de 300KB de JavaScript que o Chrome em um desktop compila em 50ms pode levar 200ms ou mais em um smartphone intermediário.
Isso afeta diretamente o INP: botões que respondem instantaneamente no desktop demoram para reagir no mobile porque a thread principal está ocupada compilando JavaScript.
Estratégias específicas para mobile:
loading="lazy" agressivamente em imagens fora da área visívelO Chrome DevTools permite simular conexões 4G lentas (Slow 4G) e 3G. Muitas lojas descobrem nesse teste que elementos que parecem rápidos no desktop levam o dobro do tempo no mobile em condições reais de rede.
Ambas as plataformas podem apresentar problemas sérios de performance quando mal configuradas. A diferença não está na plataforma em si, mas nas características específicas de cada arquitetura.
| Aspecto | WooCommerce | OpenCart |
|---|---|---|
| Base | WordPress (PHP) | PHP nativo |
| Gargalo mais comum | Excesso de plugins e Heartbeat API | Sessões em arquivo e falta de índices |
| Cache de objeto | Redis via plugin | Redis via configuração manual |
| Full-page cache | Varnish, Nginx FastCGI, Cloudflare APO | Nginx FastCGI, módulos nativos |
| Ferramentas de diagnóstico | Query Monitor, WP-Optimize | slow_query_log, análise manual |
| Hospedagem recomendada | Hospedagem gerenciada WordPress | VPS com Nginx configurado |
| PHP mínimo recomendado | 8.1 | 8.0 |
| Impacto de tema pesado | Alto | Moderado |
| Customização de cache | Alta com plugins | Alta mas exige mais configuração |
O Heartbeat API do WordPress, que sincroniza dados do painel administrativo com o servidor, pode gerar requests excessivos que consomem PHP workers e afetam a performance do front-end. Limitar a frequência do Heartbeat é uma otimização simples com impacto imediato:
// Em functions.php do tema
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60; // de 15 para 60 segundos
return $settings;
});
Para lojas WooCommerce que apresentam lentidão persistente, um serviço de manutenção de site WordPress profissional garante que as otimizações sejam aplicadas corretamente e mantidas ao longo do tempo.
No OpenCart, a configuração de sessões é frequentemente negligenciada em instalações padrão. Mover as sessões do disco para Redis requer editar o arquivo config.php:
define('SESSION_ENGINE', 'redis');
define('SESSION_PREFIX', 'catalog_');
Lojas OpenCart com alto volume de produtos e pedidos também se beneficiam de uma estratégia de manutenção preventiva para banco de dados e índices. Para esse acompanhamento, um serviço de manutenção de sites OpenCart especializado pode fazer a diferença entre uma loja estável e uma que degrada progressivamente.
Resolver os problemas de performance uma vez não é suficiente. Lojas virtuais evoluem: novos plugins são instalados, novos produtos são adicionados, temas são atualizados, campanhas trazem picos de tráfego. Sem monitoramento contínuo, problemas que foram resolvidos ressurgem silenciosamente.
| Métrica | Ferramenta | Frequência |
|---|---|---|
| Core Web Vitals | Google Search Console | Semanal |
| TTFB e tempo de carregamento | GTmetrix, WebPageTest | Quinzenal |
| Uptime e tempo de resposta | UptimeRobot, Datadog | Contínuo (alertas) |
| Queries lentas no banco | slow_query_log, New Relic | Semanal |
| Erros 5xx | Google Search Console, logs | Diário |
| Cache hit rate | Logs do servidor / Redis | Semanal |
Configure alertas para ser notificado antes que um cliente reclame:
width e height declarados em todas as imagensloading="lazy" aplicado em imagens abaixo da dobra<head>defer ou async<head> para o conteúdo acima da dobraAlgumas situações demandam conhecimento técnico que vai além do que pode ser resolvido com plugins e configurações básicas:
Contratar um especialista quando:
Um especialista com experiência em performance de e-commerce identifica o problema real com ferramentas de profiling adequadas, em vez de aplicar soluções genéricas que podem não resolver o problema específico da sua loja.
Geralmente, a causa é JavaScript pesado que o processador do dispositivo móvel leva mais tempo para compilar e executar. Dispositivos móveis intermediários podem levar 3x a 4x mais tempo para processar o mesmo JavaScript que um desktop. Imagens sem lazy loading e falta de otimização para telas menores também contribuem. Teste com a simulação de Slow 4G no Chrome DevTools para ver o comportamento real.
O PageSpeed Insights avalia a experiência real dos usuários no campo (dados do Chrome UX Report) e uma análise de laboratório. Um site pode parecer rápido para você porque você o acessa de uma conexão rápida e com o cache do navegador já carregado. Os dados de campo refletem a experiência de usuários com conexões variadas e em dispositivos diferentes. Confie nos dados de campo.
Não. Cache é muito eficiente para conteúdo que não muda, como páginas de categoria e produto sem preços dinâmicos. Para o carrinho, checkout e páginas com conteúdo personalizado, cache de página completa não pode ser aplicado. Nesses casos, a otimização precisa acontecer no banco de dados, no PHP e nos scripts carregados.
TTFB alto indica um problema no servidor ou no backend: o servidor está demorando para começar a responder. LCP alto pode ter TTFB baixo: o servidor responde rápido, mas o maior elemento da página (geralmente uma imagem) demora para ser exibido. O diagnóstico e a solução são completamente diferentes para cada caso.
Para a maioria das lojas WooCommerce em hospedagem gerenciada, plugins como WP Rocket ou W3 Total Cache são suficientes e mais fáceis de manter. Para lojas de alto tráfego em VPS ou servidor dedicado, a configuração direta de Nginx FastCGI Cache ou Varnish oferece performance superior porque elimina a camada PHP completamente. No OpenCart, a configuração manual é quase sempre necessária.
A causa mais comum é falha no processamento de transientes ou conflito de AJAX. O WooCommerce usa AJAX para atualizar o carrinho, e se algum plugin interceptar ou conflitar com essa requisição, o processo fica em espera. Ative o Query Monitor e acesse a página do carrinho para ver quais queries estão sendo executadas e qual delas está levando mais tempo.
Sem índices compostos adequados nas tabelas de produtos, categorias e atributos, queries que funcionam bem com mil produtos ficam muito lentas com dez mil. O MySQL precisa varrer tabelas inteiras em vez de usar índices para encontrar os registros relevantes. O slow_query_log vai mostrar exatamente quais queries estão causando o problema.
Um e-commerce lento tem causas identificáveis e soluções precisas para cada uma delas. Hospedagem inadequada, ausência de cache, banco de dados inchado, imagens sem otimização, JavaScript pesado e excesso de plugins são os culpados mais frequentes, e cada um pode ser resolvido de forma estruturada quando você sabe onde olhar.
O processo correto começa sempre pelo diagnóstico: medir o TTFB, analisar os Core Web Vitals, identificar as queries lentas e mapear os scripts externos. Só depois de ter clareza sobre onde está o problema real faz sentido aplicar soluções.
WooCommerce e OpenCart são plataformas capazes de suportar lojas de alto volume quando bem configuradas. O que as deixa lentas quase sempre é uma combinação de configurações padrão nunca revisadas, crescimento orgânico de plugins e dados sem manutenção preventiva, e hospedagem que nunca foi dimensionada para o atual volume da loja.
Se você chegou até aqui e reconheceu algum desses problemas na sua loja, o próximo passo é um diagnóstico honesto antes de qualquer intervenção. O artigo sobre otimização de sites tem um contexto complementar sobre como abordar essa análise de forma estruturada.
Fontes utilizados - Créditos:
Referências utilizadas: