Pesquisa de Produtos WooCommerce Está Lenta: Dicas de Otimização
Muitas empresas de hospedagem baratas oferecem seus serviços com hardware fraco. Por causa disso, a busca e filtragem de produtos do WooCommerce podem ser lentas. Siga estes passos:
- Use plugins de cache, por exemplo este
- Desative ‘dynamic recount‘ no filtro e ‘hide empty terms‘
- Use o Autoptimize
- Adicione mais memória ao seu site WordPress
- Use PHP 8.x.x
- Também na aba Avançado → Opções, tente ativar ‘Cache dynamic recount number for each item in filter‘ OU ‘Cache terms‘ se seu formulário de pesquisa tiver muitos termos
- Na aba Avançado → Opções, ative ‘Optimize price filter‘ para reduzir a carga no servidor
- Adicione índices de banco de dados para melhorar o desempenho das consultas (execute no phpMyAdmin):
ALTER TABLE wp_postmeta ADD INDEX woof_meta_key_value (meta_key(191), meta_value(20)); ALTER TABLE wp_posts ADD INDEX woof_type_status (post_type(20), post_status(20));Observação: Substitua
wp_pelo prefixo real da sua tabela, se diferente. - Você também pode ocultar completamente o formulário de pesquisa e exibi-lo sob demanda. No widget, defina ‘Yes‘ para ‘Hide search form by default and show one button instead‘; no shortcode [woof] use o atributo ‘start_filtering_btn‘
+ Você pode usar links de páginas e máscaras (Ex.: product-category) onde a funcionalidade do WOOF deve ser inicializada: aba Avançado → Iniciar plugin apenas nas seguintes páginas do site – isso impedirá a inicialização da funcionalidade do plugin em todas as páginas do site
Leia também:
- woof_counter_method
- woof_use_wp_cache
- Otimização de Desempenho: Lazy-Load Slideout para Grandes Hierarquias de Categorias
Devo dizer que é um suporte bastante decente 🙂
Também encontrei algo legal que você pode gostar: já enviei um e-mail antes sobre consultas lentas feitas pelo plugin. As consultas do plugin ainda são enormes, mas entendo que é coisa do WordPress (variações do WooCommerce). No entanto, encontrei uma solução para evitar longos tempos de carregamento: ajustando o MySQL usando este truque: http://mysqltuner.com/
Os tempos de carregamento foram de 15 segundos para 4/5 segundos agora. Ainda não é rápido, mas muito melhor que antes. O próximo passo é atualizar o PHP, já que estou rodando 5.3.
De qualquer forma: se as pessoas reclamarem que o woof está deixando as coisas lentas, tente sugerir o mysqltuner. Fez uma grande diferença para mim.
Obrigado novamente!
Bart