Cloudways WooCommerce: da instalação de uma pequena loja virtual à exclusão do carrinho e do checkout do cache

O Cloudways WooCommerce é uma loja virtual que funciona instalando o plugin WooCommerce numa aplicação WordPress em um servidor da Cloudways. Para testar a loja virtual de um pequeno negócio, instalei o WooCommerce no WordPress de um servidor de teste Vultr de 1 GB em Seul e fui até um pedido de teste. As páginas de carrinho, checkout e minha conta foram excluídas do cache automaticamente, e o primeiro byte da página de produto caiu de 532.4ms para 54.9ms com o cache do Breeze.
1️⃣ Instalação do WooCommerce na Cloudways
Pode parecer que uma loja virtual precisa de uma aplicação só dela, mas adicionar o plugin WooCommerce a uma aplicação WordPress que já existe abre a loja. No servidor de teste também não criei aplicação nova e instalei como plugin na aplicação WordPress existente.
A instalação foi feita conectando à aplicação por SSH e usando o wp-cli; também dá para instalar pelo menu Adicionar plugins no painel do WordPress.
wp plugin install woocommerce --activateInstalling the plugin...
Plugin installed successfully.
Activating 'woocommerce'...
Plugin 'woocommerce' activated.
Success: Installed 1 of 1 plugins.Instalar e ativar levou 30 segundos, e a pasta do plugin tinha 72 MB.
wp post list --post_type=page --fields=ID,post_title,post_name --format=csvID,post_title,post_name
7,Shop,shop
8,Cart,cart
9,Checkout,checkout
10,My account,my-account
11,Refund and Returns Policy,refund_returns
2,Sample Page,sample-page
3,Privacy Policy,privacy-policyAo ser ativado, o WooCommerce criou cinco páginas: Shop, Cart, Checkout, My account e uma página de política de reembolso.
2️⃣ Configurações básicas: país de venda, moeda, formas de pagamento
Mesmo com as páginas criadas, a loja recém-instalada vem com endereço na Califórnia (EUA) e dólar americano, então uma loja na Coreia começa trocando o país de venda e a moeda.
| Configurações | Logo após a instalação | Alterado para |
|---|---|---|
| País de venda (Country / State) | Califórnia, EUA | Coreia do Sul |
| Moeda (Currency) | Dólar americano (USD) | Won sul-coreano (KRW) |
| Transferência bancária (Direct bank transfer) | Desligado | Ligado |
| Cheque (Check payments) | Desligado | Desligado |
| Pagamento na entrega (Cash on delivery) | Desligado | Desligado |
O won não tem casas decimais, então mude [Number of decimals] para 0 e salve com [Save changes]. Logo após a instalação havia três formas de pagamento – transferência bancária, cheque e pagamento na entrega – e só a transferência foi ativada para o pedido de teste. Na tela, você clica em [Enable] de [Direct bank transfer] em [Take offline payments], na aba [Payments].
Pagamento com cartão não está na lista de pagamentos offline. Depois de trocar o país de venda para Coreia do Sul, a tela [Payments] mostra Visa Acceptance Solutions e PayPal Payments com um botão [Install], e para vender por cartão você instala um destes plugins de gateway de pagamento.
3️⃣ Cadastro de produto e pedido de teste: do carrinho ao pedido por transferência bancária
Pedido que chega não quer dizer pagamento concluído. Um pedido por transferência bancária fica com status [On hold] até o depósito ser confirmado.
O produto de teste foi cadastrado com preço de 15.000 wons e 10 em estoque, colocado no carrinho e pedido por transferência bancária do mesmo jeito que um visitante faria.
wp wc shop_order list --user=1 --fields=id,status,total,payment_method --format=csvid,status,total,payment_method
13,on-hold,15000,bacswp wc product get 12 --user=1 --fields=id,price,stock_quantity --format=csvField,Value
id,12
price,15000
stock_quantity,9O pedido foi registrado com status on-hold e forma de pagamento transferência bancária (bacs), e mesmo antes do pagamento o estoque caiu de 10 para 9 no momento do pedido.
4️⃣ Exclusões de cache do WooCommerce: carrinho, checkout e minha conta
O cache de página serve para as páginas da loja e de produto, mas não para carrinho, checkout e minha conta, cujo conteúdo muda para cada visitante. Deixar o carrinho fora do cache é como imprimir antes as etiquetas de preço da prateleira, mas tirar um recibo novo para cada cliente no caixa. Mesmo sem plugin de cache ligado, o WooCommerce enviava para essas três páginas cabeçalhos de resposta dizendo para não guardar em cache.
curl -sI https://example.com/cart/ | grep -i cache-controlcache-control: no-cache, must-revalidate, max-age=0, privateQuando ativei com os valores padrão o Breeze, o plugin de cache instalado junto com a aplicação da Cloudways, o campo de URLs excluídas na tela de configuração estava vazio, mas o arquivo de configuração do Breeze registrava os três endereços na lista de exclusão.
grep -A4 exclude_url wp-content/breeze-config/breeze-config.php 'exclude_url' =>
array (
0 => '/cart/*',
1 => '/checkout/*',
2 => '/my-account/*',Pedi cada endereço 10 vezes de outro servidor em Seul e medi a mediana do tempo até o primeiro byte (TTFB); o Varnish da aplicação estava desligado.
| Endereço | Cache desligado | Breeze ligado |
|---|---|---|
| Loja /shop/ | 484.7ms | 55.2ms |
| Produto /product/test-mug/ | 532.4ms | 54.9ms |
| Carrinho /cart/ | 506.7ms | 496.9ms |
| Minha conta /my-account/ | 507.4ms | 377.0ms |
Com o Breeze ligado, as páginas da loja e de produto responderam em cerca de 55 ms, enquanto carrinho e minha conta eram montadas pelo PHP toda vez, sem cache, e levaram 377–497 ms.
5️⃣ O que o servidor de teste de 1 GB cobriu: quando não serve para uma loja pequena
Mesmo deixando as páginas de produto rápidas com cache, carrinho e checkout são tratados pelo PHP a cada pedido. Este servidor de teste cobriu, com um produto e um pedido de teste, apenas instalação, pedido e exclusões de cache; uma loja em que mais pedidos trazem mais requisições de carrinho e checkout também deve avaliar: Redimensionar servidor.
A versão do PHP também merece atenção. O PHP 8.2.34 do servidor de teste fica abaixo da recomendação da documentação do WooCommerce (PHP 8.3 ou superior), mas instalação e pedido funcionaram.
No servidor de teste Vultr de 1 GB em Seul, instalar o WooCommerce levou 30 segundos, o pedido de teste foi salvo com status [On hold], e o primeiro byte da página de produto foi de 54.9ms com o Breeze, contra 496.9ms no carrinho. O próximo passo é conectar um plugin de gateway de pagamento em modo de teste e fazer o mesmo pedido de novo com cartão.
🔢 FAQ & conteúdo recomendado















ℹ️ Aviso de afiliados
O conteúdo deste site contém links de afiliados. Quando um visitante compra um produto ou serviço por meio de um desses links, o site recebe uma comissão do vendedor. O valor que o comprador paga (em promoções, ele diminui ↓) não aumenta por causa disso. Preços, descontos e informações de estoque valem para o momento em que o texto foi escrito e podem ter mudado, por isso confirme com o vendedor antes de comprar. Os produtos são escolhidos e avaliados por critérios próprios, e o recebimento de comissão não influencia a ordem de apresentação nem o conteúdo das avaliações.