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/Aplikacje internetowe (CMS)

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

138 wyświetleń 0

Autor: Jan Elastyczny
7 miesięcy temu

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.

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>

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:woocommercefragmentsprzyspieszenie sklepu woocommercejak przyspieszyć sklep woocommercewolno działający sklep woocommerce

Czy ten artykuł był pomocy?

Tak  Nie
Powiązane artykuły
  • Jak zainstalować Elementora?
  • Czy Elementor wymaga znajomości kodowania?
  • Czy warto nauczyć się obsługi Elementora?
  • Czy warto nauczyć się obsługi Brizy?
  • Czy warto nauczyć się obsługi Divi?
  • Czy warto nauczyć się obsługi Gutenberga?
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
Aplikacje internetowe (CMS)
  • Jak poprawić prędkość ładowania się sklepu opartego o WooCommerce?
  • Jak zainstalować Elementora?
  • Czy Elementor wymaga znajomości kodowania?
  • Czy warto nauczyć się obsługi Elementora?
  • Czy warto nauczyć się obsługi Brizy?
  • Czy warto nauczyć się obsługi Divi?
Pokaż wszystko 153  
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?
  • Jak skonfigurować pocztę w Outlook 365?
  • Jak odbierać pocztę ze swojej skrzynki na Gmailu?
Kategorie
  • Hosting
    • Aplikacje internetowe (CMS
    • Bazy danych
    • 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
    • Strony WWW
    • Zacznij tutaj
  • 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
    • Program Partnerski
    • Bezpieczeństwo
    • Zarządzanie kontem
    • Inne
  • Domeny
    • Registry Lock
    • Rejestracja i odnowienia domen
    • Transfery domen
    • Zarządzanie domenami w dPanelu
  • Faktury i płatności
    • RODO
    • Zarządzanie fakturami i płatnościami w dPanelu
    • Faktury VAT
    • Inne
    • Metody i płatności
    • Problemy z płatnością
  • Strona główna
  • Zacznij tutaj
  • Status usług
  • Fachowe poradniki
  • Helpdesk 24h
  • Elastyczny Web Hosting →
  • Copyright © 2023 dhosting.pl Sp. z o.o.