dhosting.pldhosting.pl
  • Strona główna
  • Zacznij tutaj
  • Kategorie
    • Hosting
    • Poczta
    • Domeny
    • Faktury i płatności
    • Pozostałe
  • Fachowe poradniki
  • Helpdesk 24h
  • Elastyczny Web Hosting →
  • Strona główna
  • Zacznij tutaj
  • Kategorie
    • Hosting
    • Poczta
    • Domeny
    • Faktury i płatności
    • Pozostałe
  • Fachowe poradniki
  • Helpdesk 24h
  • Elastyczny Web Hosting →
Strona główna/Baza wiedzy/Hosting

Jak poprawić prędkość ładowania się sklepu opartego o WooCommerce?

463 wyświetleń 5

Autor: Jan Elastyczny
12.09.2222

WooCommerce to jedna z popularnych wtyczek, dzięki której Twoja witryna WordPress stanie się sklepem internetowym. Większość popularnych motywów oferuje zintegrowaną funkcję sklepu za pomocą wtyczki WooCommerce. Z testów na podstawie kontroli prędkości strony na GTmetrix i pingdom, można często wywnioskować, że element “wc-ajax=get_refreshed_fragments” zajmuje około sekundy, aby się załadować. Jeśli masz problem z prędkością strony z wywołaniami Ajaxowymi WooCommerce, oto rozwiązania, które pomogą Ci rozwiązać ten problem dla różnych scenariuszy.

Spis treści

  • Czym jest wc-ajax=get_refreshed_fragments ?
  • Odwołania admin ajax i ładowanie się strony.
  • Jak naprawić problem z wc-ajax=get_refreshed_fragments?
  • Wyłączenie tylko fragmentacji koszyka na stronie głównej
  • Wyłączenie tylko fragmentacji koszyka na stronie głównej i postach
  • Wyłączenie wszystkich stylów i skryptów WooCommerce na wszystkich stronach z wyjątkiem stron sklepu.

Czym jest wc-ajax=get_refreshed_fragments ?

Poniżej znajduje się zrzut ekranu z pingdom pokazujący długi czas oczekiwania na załadowanie “wc-ajax=get_refreshed_fragments” na stronie. Możesz również zobaczyć, że ten skrypt będzie wymieniony jako problem blokujący renderowanie w narzędziu Google PageSpeed Insights i znaleźć go pod wykresem wodospadowym w GTmetrix.

fragmentsy

Zasadniczo WooCommerce próbuje zebrać szczegóły koszyka, wywołując skrypt i to zajmuje dużo czasu. Wtyczka pobiera niezbuforowane szczegóły koszyka na każdej stronie, aby pokazać najnowsze pozycje koszyka poprzez wywołanie admin Ajax.

Na stronach gdzie występuje skrypt, możesz w źródle znaleźć go np. w następującej formie:

<script type='text/javascript'>
/* <![CDATA[ */ var wc_add_to_cart_params = {"ajax_url":"\/wp-admin\/admin-ajax.php","wc_ajax_url":"\/?wc-ajax=%%endpoint%%","i18n_view_cart":"View Cart","cart_url":"http:\/\/localhost\/shop\/cart\/","is_cart":"","cart_redirect_after_add":"yes"}; /* ]]> */
</script>
opieka stron www

Odwołania admin ajax i ładowanie się strony.

WooCommerce używa tej fragmentacji koszyka admin Ajax call, aby zaktualizować przedmioty i sumę w koszyku bez odświeżania strony. Wywołanie admin Ajax na każdej stronie znacznie opóźni czas ładowania strony, a także zużyje duże zasoby serwera. Innym problemem jest to, że wtyczka wykonuje to działanie nawet na stronie, na której nie ma koszyka lub szczegółów związanych z produktem.

Przykładowo problem istnieje na stronie “O nas”, gdzie nie ma dostępnych komponentów WooCommerce. Tak więc, usunięcie koszyka na stronie nie pomoże w poprawieniu prędkości ładowania strony. To, czego potrzebujemy, to wyłączenie aktualizacji koszyka, gdzie nie ma żadnych koszyków ani produktów wyświetlanych.

Jak naprawić problem z wc-ajax=get_refreshed_fragments?

Problem należy naprawić poprzez wyłączenie skryptu przez modyfikację pliku functions.php Twojego motywu.

Możesz zmodyfikować functions.php poprzez panel administracyjny WordPressa lub używając FTP.

Zamiast modyfikować plik functions.php głównego motywu, możesz utworzyć motyw child i dodać tam dodatkowe funkcje. Pomoże to zachować zmiany, gdy zaktualizujesz główny motyw.

Istnieją trzy opcje wyłączenia skryptu fragmentacji koszyka WooCommerce Ajax.

  • Wyłączenie tylko fragmentacji koszyka na stronie głównej
  • Wyłączenie tylko fragmentacji koszyka na stronie głównej i postach
  • Wyłączenie wszystkich stylów i skryptów WooCommerce na wszystkich stronach z wyjątkiem stron sklepu.

Omówmy szczegółowo wszystkie trzy opcje, ale pamiętaj, aby wykonać tylko jedną z nich.

Wyłączenie tylko fragmentacji koszyka na stronie głównej

Zaloguj się do panelu administracyjnego WordPress, przejdź w menu po lewej stronie do “Wygląd > Edytor plików motywu” i zlokalizuj plik functions.php. Dodaj następujący kod na końcu pliku.

/** Disable Ajax Call from WooCommerce */
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'); }

Powinien on wyglądać jak poniżej w edytorze, po wklejeniu kodu kliknij na “Update File lub Zaktualizuj” aby zapisać zmiany.

functions fragments

Jeśli chcesz użyć FTP, to zaloguj się na swój serwer za pomocą konta FTP. Przejdź do “/wp-content/twoj-motyw/” i znajdź plik “functions.php”. Edytuj i dodaj powyższy kod na końcu pliku i prześlij zmodyfikowany plik z powrotem na serwer.

Po aktualizacji pliku przejdź do menu “WooCommerce > Ustawienia” i przejdź zakładki “Produkty”. Włącz pole wyboru przy opcji “Przekieruj do koszyka po dodaniu produktu”.

woo off

Pomoże to klientowi przejść do głównej strony koszyka zamiast czekać przez długi czas po dodaniu przedmiotu do koszyka. W przeciwnym razie, choć przedmiot jest dodany, Twój koszyk może nie pokazywać zaktualizowanych szczegółów, gdy jesteś na tej samej stronie, ponieważ skrypt fragmentacji koszyka jest wyłączony.

Wyłączenie tylko fragmentacji koszyka na stronie głównej i postach

Powyższy kod wyłączy skrypt fragmentu koszyka tylko na statycznej stronie głównej. Jeśli chcesz wyłączyć skrypt na wszystkich postach, spróbuj dodać poniższy kod w pliku function.php swojego motywu.

/** Disable Ajax Call from WooCommerce on front page and posts*/
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');
}

Wyłączenie wszystkich stylów i skryptów WooCommerce na wszystkich stronach z wyjątkiem stron sklepu.

W sytuacji gdy chcesz uzyskać najlepszy wynik w i nie potrzebujesz elementów sklepu na innych podstronach, czy w postach, możesz skorzystać z poniższego skryptu dodając go do functions.php na tej samej zasadzie co opisano wyżej.

/** Disable All WooCommerce  Styles and Scripts Except Shop Pages*/
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_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' );
}
}
}

Pamiętaj, że wykonując jedno z powyższych działań, ingerujesz w strukturę szablonu oraz ustawienia sklepu. Jeśli nie jesteś pewien wykonywanych działań, skonsultuj je ze swoim webmasterem.

Tags:fragmentshostingjak przyspieszyć sklep woocommercepolski hostingprzyspieszenie sklepu woocommerceweb hostingwolno działający sklep woocommercewoocommerce

Czy ten artykuł był pomocy?

5 Tak  Nie
Powiązane artykuły
  • Co to są Enhanced Conversions i jak je wdrożyć w WordPressie?
  • Skąd wziąć kod Google Analytics do WordPressa?
  • Integracja Google Analytics z WordPressem
  • WordPress: Aktualizacje i bezpieczeństwo – jak zadbać o swoją stronę internetową
  • Co to jest wget – zastosowanie i praktyczne przykłady
  • Co to jest cURL – zastosowania i działanie
Elastyczny Web Hosting
Fachowe poradniki
  • Drzewo kategorii i tagi – jak zarządzać strukturą serwisu contentowego
  • Headless CMS – WordPress jako backend Twojego serwisu
  • Jak stworzyć wtyczkę do WordPressa? Poradnik dla początkujących
  • Jak założyć bloga? Kompletny przewodnik instalacji WordPressa dla początkujących
  • Jekyll, generator stron statycznych, alternatywą dla WordPressa
  • Tailwind CSS – utility-first framework alternatywą dla Bootstrap
  • Vue.js jako wtyczka do WordPressa
  • Wielojęzyczna strona w WordPressie bez użycia wtyczek – jak ją stworzyć?
  • WordPress MultiSite – omówienie, instalacja oraz konfiguracja
Hosting
  • Jak poprawić prędkość ładowania się sklepu opartego o WooCommerce?
  • Co to są Enhanced Conversions i jak je wdrożyć w WordPressie?
  • Skąd wziąć kod Google Analytics do WordPressa?
  • Integracja Google Analytics z WordPressem
  • WordPress: Aktualizacje i bezpieczeństwo – jak zadbać o swoją stronę internetową
  • Co to jest wget – zastosowanie i praktyczne przykłady
Pokaż wszystko 675  
Najpopularniejsze
  • W jaki sposób skonfigurować program pocztowy?
  • Czym różni się CC od BCC podczas wysyłania wiadomości e-mail?
  • Jak wykonać polecenie traceroute w systemie Windows?
  • Najpopularniejsze kody Minecraft i jak ich używać
  • Co to jest symlink i jak go utworzyć?
Kategorie
  • Hosting
    • Strony WWW
    • Migracja
    • Zacznij tutaj
    • Aplikacje internetowe (CMS
    • Bazy danych
    • SWH
    • Certyfikaty SSL
    • Cloudflare
    • CRON
    • Inne
    • Elastyczny Web Hosting
    • Kooperacja
    • FTP
    • dKonta / dVPS
    • Operacje PHP
    • Problemy z działaniem stron WWW
    • Redis
    • Rodzaje błędów HTTP
    • SSH
    • Serwery
  • Poczta
    • Aliasy pocztowe
    • Filtry antyspamowe
    • Problemy z odbiorem wiadomości
    • Gmail
    • Problemy z wysyłką wiadomości
    • Konfiguracja programów pocztowych
    • Webmail dPoczta.pl
    • Zarządzanie pocztą w dPanelu
    • Migracja skrzynek
  • Kalendarz
  • Pozostałe
    • Komunikatory dla firm
    • Mailing
    • eCommerce
    • SEO
    • Wideo
    • Frameworki
    • Program Partnerski
    • Bezpieczeństwo
    • Zarządzanie kontem
    • Inne
    • Kryptowaluty
  • Microsoft
    • Office
  • Domeny
    • Transfery domen
    • Zarządzanie domenami w dPanelu
    • Inne
    • Registry Lock
    • Rejestracja i odnowienia domen
  • Faktury i płatności
    • Metody i płatności
    • Problemy z płatnością
    • RODO
    • Zarządzanie fakturami i płatnościami w dPanelu
    • Faktury VAT
    • Inne
  • Strona główna
  • Zacznij tutaj
  • Status usług
  • Fachowe poradniki
  • Helpdesk 24h
  • Elastyczny Web Hosting →
  • Copyright © 2023 dhosting.pl Sp. z o.o.