{"id":9834,"date":"2022-09-12T18:49:26","date_gmt":"2022-09-12T16:49:26","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=9834"},"modified":"2023-05-18T15:56:46","modified_gmt":"2023-05-18T13:56:46","slug":"jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/","title":{"rendered":"Jak poprawi\u0107 pr\u0119dko\u015b\u0107 \u0142adowania si\u0119 sklepu opartego o WooCommerce?"},"content":{"rendered":"<p>WooCommerce to jedna z popularnych wtyczek, dzi\u0119ki kt\u00f3rej Twoja witryna WordPress stanie si\u0119 sklepem internetowym. Wi\u0119kszo\u015b\u0107 popularnych motyw\u00f3w oferuje zintegrowan\u0105 funkcj\u0119 sklepu za pomoc\u0105 wtyczki WooCommerce. Z test\u00f3w na podstawie kontroli pr\u0119dko\u015bci strony na GTmetrix i pingdom, mo\u017cna cz\u0119sto wywnioskowa\u0107, \u017ce element &#8220;wc-ajax=get_refreshed_fragments&#8221; zajmuje oko\u0142o sekundy, aby si\u0119 za\u0142adowa\u0107. Je\u015bli masz problem z pr\u0119dko\u015bci\u0105 strony z wywo\u0142aniami Ajaxowymi WooCommerce, oto rozwi\u0105zania, kt\u00f3re pomog\u0105 Ci rozwi\u0105za\u0107 ten problem dla r\u00f3\u017cnych scenariuszy.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Czym_jest_wc-ajaxget_refreshed_fragments\" >Czym jest wc-ajax=get_refreshed_fragments ?<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Odwolania_admin_ajax_i_ladowanie_sie_strony\" >Odwo\u0142ania admin ajax i \u0142adowanie si\u0119 strony.<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Jak_naprawic_problem_z_wc-ajaxget_refreshed_fragments\" >Jak naprawi\u0107 problem z wc-ajax=get_refreshed_fragments?<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Wylaczenie_tylko_fragmentacji_koszyka_na_stronie_glownej\" >Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Wylaczenie_tylko_fragmentacji_koszyka_na_stronie_glownej_i_postach\" >Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej i postach<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/jak-poprawic-predkosc-ladowania-sie-sklepu-opartego-o-woocommerce\/#Wylaczenie_wszystkich_stylow_i_skryptow_WooCommerce_na_wszystkich_stronach_z_wyjatkiem_stron_sklepu\" >Wy\u0142\u0105czenie wszystkich styl\u00f3w i skrypt\u00f3w WooCommerce na wszystkich stronach z wyj\u0105tkiem stron sklepu.<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Czym_jest_wc-ajaxget_refreshed_fragments\"><\/span>Czym jest wc-ajax=get_refreshed_fragments ?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Poni\u017cej znajduje si\u0119 zrzut ekranu z pingdom pokazuj\u0105cy d\u0142ugi czas oczekiwania na za\u0142adowanie &#8220;wc-ajax=get_refreshed_fragments&#8221; na stronie. Mo\u017cesz r\u00f3wnie\u017c zobaczy\u0107, \u017ce ten skrypt b\u0119dzie wymieniony jako problem blokuj\u0105cy renderowanie w narz\u0119dziu Google PageSpeed Insights i znale\u017a\u0107 go pod wykresem wodospadowym w GTmetrix.<\/p>\n<p><a href=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/fragmentsy.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"photo-border aligncenter wp-image-9835\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/fragmentsy.webp\" alt=\"\" width=\"500\" height=\"146\" title=\"\" srcset=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/fragmentsy.webp 1024w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/fragmentsy-300x88.webp 300w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/fragmentsy-768x225.webp 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Zasadniczo WooCommerce pr\u00f3buje zebra\u0107 szczeg\u00f3\u0142y koszyka, wywo\u0142uj\u0105c skrypt i to zajmuje du\u017co czasu. Wtyczka pobiera niezbuforowane szczeg\u00f3\u0142y koszyka na ka\u017cdej stronie, aby pokaza\u0107 najnowsze pozycje koszyka poprzez wywo\u0142anie admin Ajax.<\/p>\n<p>Na stronach gdzie wyst\u0119puje skrypt, mo\u017cesz w \u017ar\u00f3dle znale\u017a\u0107 go np. w nast\u0119puj\u0105cej formie:<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">&lt;script type=&#039;text\/javascript&#039;&gt;\n\/* &lt;![CDATA[ *\/ var wc_add_to_cart_params = {&quot;ajax_url&quot;:&quot;\\\/wp-admin\\\/admin-ajax.php&quot;,&quot;wc_ajax_url&quot;:&quot;\\\/?wc-ajax=%%endpoint%%&quot;,&quot;i18n_view_cart&quot;:&quot;View Cart&quot;,&quot;cart_url&quot;:&quot;http:\\\/\\\/localhost\\\/shop\\\/cart\\\/&quot;,&quot;is_cart&quot;:&quot;&quot;,&quot;cart_redirect_after_add&quot;:&quot;yes&quot;}; \/* ]]&gt; *\/\n&lt;\/script&gt;<\/code><\/pre>\n<div id=\"dhost-2160680180\" class=\"dhost-inpost dhost-entity-placement\"><a href=\"https:\/\/dhosting.pl\/opieka-stron.html?utm_source=pomoc&utm_medium=artykul&utm_campaign=pomoc\" target=\"_blank\">\r\n\t<img decoding=\"async\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2025\/01\/baner-opieka.png\" alt=\"opieka stron www\">\r\n<\/a>\r\n<br \/>\r\n<br \/><\/div><h2><span class=\"ez-toc-section\" id=\"Odwolania_admin_ajax_i_ladowanie_sie_strony\"><\/span>Odwo\u0142ania admin ajax i \u0142adowanie si\u0119 strony.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>WooCommerce u\u017cywa tej fragmentacji koszyka admin Ajax call, aby zaktualizowa\u0107 przedmioty i sum\u0119 w koszyku bez od\u015bwie\u017cania strony. Wywo\u0142anie admin Ajax na ka\u017cdej stronie znacznie op\u00f3\u017ani czas \u0142adowania strony, a tak\u017ce zu\u017cyje du\u017ce zasoby serwera. Innym problemem jest to, \u017ce wtyczka wykonuje to dzia\u0142anie nawet na stronie, na kt\u00f3rej nie ma koszyka lub szczeg\u00f3\u0142\u00f3w zwi\u0105zanych z produktem.<\/p>\n<p>Przyk\u0142adowo problem istnieje na stronie &#8220;O nas&#8221;, gdzie nie ma dost\u0119pnych komponent\u00f3w WooCommerce. Tak wi\u0119c, usuni\u0119cie koszyka na stronie nie pomo\u017ce w poprawieniu pr\u0119dko\u015bci \u0142adowania strony. To, czego potrzebujemy, to wy\u0142\u0105czenie aktualizacji koszyka, gdzie nie ma \u017cadnych koszyk\u00f3w ani produkt\u00f3w wy\u015bwietlanych.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Jak_naprawic_problem_z_wc-ajaxget_refreshed_fragments\"><\/span>Jak naprawi\u0107 problem z wc-ajax=get_refreshed_fragments?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Problem nale\u017cy naprawi\u0107 poprzez wy\u0142\u0105czenie skryptu przez modyfikacj\u0119 pliku functions.php Twojego motywu.<\/p>\n<p>Mo\u017cesz zmodyfikowa\u0107 functions.php poprzez panel administracyjny WordPressa lub u\u017cywaj\u0105c FTP.<\/p>\n<p>Zamiast modyfikowa\u0107 plik functions.php g\u0142\u00f3wnego motywu, mo\u017cesz utworzy\u0107 motyw child i doda\u0107 tam dodatkowe funkcje. Pomo\u017ce to zachowa\u0107 zmiany, gdy zaktualizujesz g\u0142\u00f3wny motyw.<\/p>\n<p>Istniej\u0105 trzy opcje wy\u0142\u0105czenia skryptu fragmentacji koszyka WooCommerce Ajax.<\/p>\n<ul>\n<li>Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej<\/li>\n<li>Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej i postach<\/li>\n<li>Wy\u0142\u0105czenie wszystkich styl\u00f3w i skrypt\u00f3w WooCommerce na wszystkich stronach z wyj\u0105tkiem stron sklepu.<\/li>\n<\/ul>\n<p>Om\u00f3wmy szczeg\u00f3\u0142owo wszystkie trzy opcje, ale pami\u0119taj, aby wykona\u0107 tylko jedn\u0105 z nich.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Wylaczenie_tylko_fragmentacji_koszyka_na_stronie_glownej\"><\/span>Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Zaloguj si\u0119 do panelu administracyjnego WordPress, przejd\u017a w menu po lewej stronie do &#8220;Wygl\u0105d &gt; Edytor plik\u00f3w motywu&#8221; i zlokalizuj plik functions.php. Dodaj nast\u0119puj\u0105cy kod na ko\u0144cu pliku.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">\/** Disable Ajax Call from WooCommerce *\/\nadd_action( &#039;wp_enqueue_scripts&#039;, &#039;dequeue_woocommerce_cart_fragments&#039;, 11); \nfunction dequeue_woocommerce_cart_fragments() { if (is_front_page()) wp_dequeue_script(&#039;wc-cart-fragments&#039;); }<\/code><\/pre>\n<p>Powinien on wygl\u0105da\u0107 jak poni\u017cej w edytorze, po wklejeniu kodu kliknij na &#8220;Update File lub Zaktualizuj&#8221; aby zapisa\u0107 zmiany.<\/p>\n<p><a href=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/functions-fragments.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"photo-border aligncenter wp-image-9838\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/functions-fragments.webp\" alt=\"\" width=\"500\" height=\"199\" title=\"\" srcset=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/functions-fragments.webp 1024w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/functions-fragments-300x120.webp 300w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/functions-fragments-768x306.webp 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Je\u015bli chcesz u\u017cy\u0107 FTP, to zaloguj si\u0119 na sw\u00f3j serwer za pomoc\u0105 konta FTP. Przejd\u017a do &#8220;\/wp-content\/twoj-motyw\/&#8221; i znajd\u017a plik &#8220;functions.php&#8221;. Edytuj i dodaj powy\u017cszy kod na ko\u0144cu pliku i prze\u015blij zmodyfikowany plik z powrotem na serwer.<\/p>\n<p>Po aktualizacji pliku przejd\u017a do menu &#8220;WooCommerce &gt; Ustawienia&#8221; i przejd\u017a zak\u0142adki &#8220;Produkty&#8221;. W\u0142\u0105cz pole wyboru przy opcji &#8220;Przekieruj do koszyka po dodaniu produktu&#8221;.<\/p>\n<p><a href=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/woo-off.png\"><img loading=\"lazy\" decoding=\"async\" class=\"photo-border aligncenter wp-image-9839\" src=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/woo-off.png\" alt=\"\" width=\"500\" height=\"315\" title=\"\" srcset=\"https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/woo-off.png 990w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/woo-off-300x189.png 300w, https:\/\/dhosting.pl\/pomoc\/wp-content\/uploads\/2022\/09\/woo-off-768x484.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>Pomo\u017ce to klientowi przej\u015b\u0107 do g\u0142\u00f3wnej strony koszyka zamiast czeka\u0107 przez d\u0142ugi czas po dodaniu przedmiotu do koszyka. W przeciwnym razie, cho\u0107 przedmiot jest dodany, Tw\u00f3j koszyk mo\u017ce nie pokazywa\u0107 zaktualizowanych szczeg\u00f3\u0142\u00f3w, gdy jeste\u015b na tej samej stronie, poniewa\u017c skrypt fragmentacji koszyka jest wy\u0142\u0105czony.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Wylaczenie_tylko_fragmentacji_koszyka_na_stronie_glownej_i_postach\"><\/span>Wy\u0142\u0105czenie tylko fragmentacji koszyka na stronie g\u0142\u00f3wnej i postach<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Powy\u017cszy kod wy\u0142\u0105czy skrypt fragmentu koszyka tylko na statycznej stronie g\u0142\u00f3wnej. Je\u015bli chcesz wy\u0142\u0105czy\u0107 skrypt na wszystkich postach, spr\u00f3buj doda\u0107 poni\u017cszy kod w pliku function.php swojego motywu.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">\/** Disable Ajax Call from WooCommerce on front page and posts*\/\nadd_action( &#039;wp_enqueue_scripts&#039;, &#039;dequeue_woocommerce_cart_fragments&#039;, 11);\nfunction dequeue_woocommerce_cart_fragments() {\nif (is_front_page() || is_single() ) wp_dequeue_script(&#039;wc-cart-fragments&#039;);\n}<\/code><\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Wylaczenie_wszystkich_stylow_i_skryptow_WooCommerce_na_wszystkich_stronach_z_wyjatkiem_stron_sklepu\"><\/span>Wy\u0142\u0105czenie wszystkich styl\u00f3w i skrypt\u00f3w WooCommerce na wszystkich stronach z wyj\u0105tkiem stron sklepu.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>W sytuacji gdy chcesz uzyska\u0107 najlepszy wynik w i nie potrzebujesz element\u00f3w sklepu na innych podstronach, czy w postach, mo\u017cesz skorzysta\u0107 z poni\u017cszego skryptu dodaj\u0105c go do functions.php na tej samej zasadzie co opisano wy\u017cej.<\/p>\n<pre class=\"line-numbers\"><code class=\"language-php\" data-line=\"\">\/** Disable All WooCommerce  Styles and Scripts Except Shop Pages*\/\nadd_action( &#039;wp_enqueue_scripts&#039;, &#039;dequeue_woocommerce_styles_scripts&#039;, 99 );\nfunction dequeue_woocommerce_styles_scripts() {\nif ( function_exists( &#039;is_woocommerce&#039; ) ) {\nif ( ! is_woocommerce() &amp;&amp; ! is_cart() &amp;&amp; ! is_checkout() ) {\n# Styles\nwp_dequeue_style( &#039;woocommerce-general&#039; );\nwp_dequeue_style( &#039;woocommerce-layout&#039; );\nwp_dequeue_style( &#039;woocommerce-smallscreen&#039; );\nwp_dequeue_style( &#039;woocommerce_frontend_styles&#039; );\nwp_dequeue_style( &#039;woocommerce_fancybox_styles&#039; );\nwp_dequeue_style( &#039;woocommerce_chosen_styles&#039; );\nwp_dequeue_style( &#039;woocommerce_prettyPhoto_css&#039; );\n# Scripts\nwp_dequeue_script( &#039;wc_price_slider&#039; );\nwp_dequeue_script( &#039;wc-single-product&#039; );\nwp_dequeue_script( &#039;wc-add-to-cart&#039; );\nwp_dequeue_script( &#039;wc-cart-fragments&#039; );\nwp_dequeue_script( &#039;wc-checkout&#039; );\nwp_dequeue_script( &#039;wc-add-to-cart-variation&#039; );\nwp_dequeue_script( &#039;wc-single-product&#039; );\nwp_dequeue_script( &#039;wc-cart&#039; );\nwp_dequeue_script( &#039;wc-chosen&#039; );\nwp_dequeue_script( &#039;woocommerce&#039; );\nwp_dequeue_script( &#039;prettyPhoto&#039; );\nwp_dequeue_script( &#039;prettyPhoto-init&#039; );\nwp_dequeue_script( &#039;jquery-blockui&#039; );\nwp_dequeue_script( &#039;jquery-placeholder&#039; );\nwp_dequeue_script( &#039;fancybox&#039; );\nwp_dequeue_script( &#039;jqueryui&#039; );\n}\n}\n}<\/code><\/pre>\n<div class=\"error-alert-format\">\n<p>Pami\u0119taj, \u017ce wykonuj\u0105c jedno z powy\u017cszych dzia\u0142a\u0144, ingerujesz w struktur\u0119 szablonu oraz ustawienia sklepu. Je\u015bli nie jeste\u015b pewien wykonywanych dzia\u0142a\u0144, skonsultuj je ze swoim webmasterem.<\/p>\n<\/div>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[96,95],"manual_kb_tag":[2825,655,2827,3517,2826,3516,2828,1555],"class_list":["post-9834","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-aplikacje-internetowe-cms","manualknowledgebasecat-hosting","manual_kb_tag-fragments","manual_kb_tag-hosting","manual_kb_tag-jak-przyspieszyc-sklep-woocommerce","manual_kb_tag-polski-hosting","manual_kb_tag-przyspieszenie-sklepu-woocommerce","manual_kb_tag-web-hosting","manual_kb_tag-wolno-dzialajacy-sklep-woocommerce","manual_kb_tag-woocommerce"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/9834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":0,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/9834\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=9834"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=9834"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=9834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}