Checkout lento e armazenamento de pedidos (HPOS)
O sintoma: o checkout no WCPOS leva vários segundos e fica cada vez mais lento com o tempo.
Uma causa comum é a forma como o WooCommerce armazena seus pedidos. Nesta página, você verá como verificar isso e como migrar para a opção mais rápida com a ferramenta própria do WooCommerce.
Por que o armazenamento legado de pedidos deixa o checkout lento
Com o armazenamento legado, o WooCommerce mantém os pedidos junto às publicações do WordPress, onde não há uma maneira rápida de encontrar um pedido pelo ID atribuído pelo WCPOS. Assim, toda vez que o WCPOS salva um pedido, precisa pesquisar os registros da sua loja um por um, e essa pesquisa demora mais à medida que a loja cresce.
O armazenamento de pedidos de alto desempenho (HPOS) do WooCommerce mantém os pedidos em tabelas próprias, onde a mesma pesquisa é quase instantânea.
Em uma loja que medimos (30.000 produtos, armazenamento legado), cada pesquisa levou cerca de 0,46 segundos, e um checkout fez cerca de duas pesquisas. Com o HPOS, a mesma pesquisa levou cerca de 1 milissegundo. Os resultados podem variar na sua loja, mas, quanto maior ela for, maior tende a ser o ganho.
O que o WCPOS oferece suporte
- O HPOS tem suporte completo e é a opção que recomendamos.
- O armazenamento legado continua funcionando. Nada deixa de funcionar; o checkout apenas fica mais lento em lojas grandes.
Verifique qual armazenamento sua loja usa
- No painel do WordPress, acesse WooCommerce → Configurações → Avançado → Recursos.
- Localize Armazenamento dos dados dos pedidos:
- A opção Armazenamento de pedidos de alto desempenho (recomendado) está selecionada: você já usa o HPOS, portanto essa não é a causa. Consulte Outras causas de lentidão no checkout.
- A opção Armazenamento de publicações do WordPress (legado) está selecionada: migrar para o HPOS deve acelerar o checkout. Continue lendo.
Migrar para o HPOS
O WooCommerce migra seus pedidos para você. Primeiro, copia os pedidos para as novas tabelas (a sincronização); depois, você muda a opção. O WooCommerce só permite a mudança quando a cópia estiver concluída.
Faça um backup completo do site e do banco de dados antes de começar e confira se é possível restaurá-lo. Se você tiver um site de testes, faça a migração nele primeiro.
- Acesse WooCommerce → Configurações → Avançado → Recursos.
- Marque Ativar modo de compatibilidade e clique em Salvar alterações. O WooCommerce começará a copiar seus pedidos em segundo plano. Em uma loja grande, isso pode levar algum tempo; o progresso aparece abaixo da caixa de seleção. Se aparecer uma mensagem informando que os pedidos estão dessincronizados e nada estiver acontecendo, clique em Sincronizar pedidos agora.
- Quando a cópia terminar, selecione Armazenamento de pedidos de alto desempenho (recomendado) e clique em Salvar alterações.
- Mantenha o modo de compatibilidade ativado por algum tempo. Ele mantém as duas cópias dos pedidos sincronizadas, permitindo voltar imediatamente se algo der errado. Aproveite esse período para verificar seus outros plugins e fazer algumas vendas de teste no WCPOS.
- Quando estiver tudo certo, desmarque Ativar modo de compatibilidade e clique em Salvar alterações.
O WooCommerce impede a migração enquanto um plugin ativo estiver marcado como incompatível com o HPOS. Um aviso na página Recursos identifica esses plugins e inclui um link Ver e gerenciar. Atualize-os ou pergunte aos desenvolvedores sobre o suporte ao HPOS antes de migrar.
Para ver todos os detalhes, consulte o guia do WooCommerce: Armazenamento de pedidos de alto desempenho.
Outras causas de lentidão no checkout
O armazenamento de pedidos não é o único fator que deixa o checkout lento. Se você já usa o HPOS ou se o checkout continuar lento depois da migração, verifique:
- Sua hospedagem. Um servidor sobrecarregado ou com poucos recursos deixa todas as etapas mais lentas. Consulte Desempenho do servidor.
- Outros plugins executados quando um pedido é salvo, como plugins de contabilidade, marketing por e-mail ou estoque. Consulte Conflitos entre plugins e Desempenho do checkout.