Um problema bastante comum em lojas online com WooCommerce é o carregamento excessivo do processador com as requisições AJAX do carrinho de compras. Fix wc-ajax = get_refreshed_fragments High CPU Usage.
Carga excessiva de processos CPU por qualquer script presente, não faz nada além de diminui a velocidade de carregamento das páginas da loja online, para trazer uma pontuação baixa de SEO e experiência do usuário. Menos pedidos no site.
Contente
O que é e o que é a consulta wc-ajax = get_refreshed_fragments usada para
Para a compreensão de todos, com a ajuda deste script AJAX, WooCommerce permitir adicionar produtos ao carrinho e atualizar o carrinho de compras sem atualizar a página da web. O carrinho de compras se comunicará de forma assíncrona com o servidor host por meio de AJAX (Asynchronous JavaScript And XML).
Por padrão, /?wc-ajax=get_refreshed_fragments
está presente em todas as páginas do site para acompanhar as ações Add to Cart do usuário e as alterações que podem aparecer no widget do carrinho de compras. Essas ações são o que colocam os processos em CPU e diminuir a velocidade de carregamento das páginas da web. Às vezes por 4-5 segundos, o que é muito.
Corrigido wc-ajax = get_refreshed_fragments alto CPU Uso (Desativar Fragmentos de Carrinho AJAX)
Se você não usa um widget de carrinho de compras dinâmico no cabeçalho ou em outra área permanente da loja, é melhor desistir da atualização dinâmica e do rastreamento das ações de adição/atualização do carrinho.
Você pode desativá-lo AJAX Cart Fragments nas páginas de arquivo e redirecionar os usuários diretamente para o carrinho de compras quando um produto é adicionado ao carrinho.
WooCommerce → Settings → Products.
Se você quiser deixar este script ativado "Add to Cart Ajax", mas para não rodar na primeira página da loja, edite o arquivo functions.php do tema atual e adicione o seguinte código:
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments () {if (is_front_page ()) wp_dequeue_script ('wc-cart-fragments'); }
No cenário onde além das páginas WooCommerce você também tem um blog ou outras páginas personalizadas nas quais não há produtos, uma boa ideia é desativar os fragmentos deles.
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments () {
if (is_front_page () || is_single ()) wp_dequeue_script ('wc-cart-fragments');
}
Desativação total e fix wc-ajax = get_refreshed_fragments High CPU Usage (Disable AJAX Cart Fragments) é feito com o seguinte código:
add_action ('wp_enqueue_scripts', 'dequeue_woocommerce_styles_scripts', 99);
function dequeue_woocommerce_styles_scripts () {
if (function_exists ('is_woocommerce')) {
if (! is_woocommerce () &&! is_cart () &&! is_account_page () &&! is_checkout ()) {
# Styles
wp_dequeue_style ('woocommerce-general');
wp_dequeue_style ('woocommerce-layout');
wp_dequeue_style ('woocommerce-smallscreen');
wp_dequeue_style ('woocommerce_frontend_styles');
wp_dequeue_style ('woocommerce_fancybox_styles');
wp_dequeue_style ('woocommerce_chosen_styles');
wp_dequeue_style ('woocommerce_prettyPhoto_css');
# Scripts
wp_dequeue_script ('wc_price_slider');
wp_dequeue_script ('wc-single-product');
wp_dequeue_script ('wc-add-to-cart');
wp_dequeue_script ('wc-cart-fragments');
wp_dequeue_script ('wc-checkout');
wp_dequeue_script ('wc-add-to-cart-variation');
wp_dequeue_script ('wc-single-product');
wp_dequeue_script ('wc-cart');
wp_dequeue_script ('wc-chosen');
wp_dequeue_script ('woocommerce');
wp_dequeue_script ('prettyPhoto');
wp_dequeue_script ('prettyPhoto-init');
wp_dequeue_script ('jquery-blockui');
wp_dequeue_script ('jquery-placeholder');
wp_dequeue_script ('fancybox');
wp_dequeue_script ('jqueryui');
}
}
}
Depois de escolher um desses métodos (especialmente o último), você notará imediatamente um aumento na velocidade de carregamento da loja online e um consumo muito menor de recursos no processador (CPU).