Pular para o conteúdo principal
Versão: 1.x

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​

  1. No painel do WordPress, acesse WooCommerce → Configurações → Avançado → Recursos.
  2. 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 antes

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.

  1. Acesse WooCommerce → Configurações → Avançado → Recursos.
  2. 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.
  3. Quando a cópia terminar, selecione Armazenamento de pedidos de alto desempenho (recomendado) e clique em Salvar alterações.
  4. 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.
  5. Quando estiver tudo certo, desmarque Ativar modo de compatibilidade e clique em Salvar alterações.
Se a opção HPOS estiver desativada

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: