TechBlogSD - ওয়ার্ডপ্রেস এবং ওয়েব ডেভেলপমেন্টের জন্য সবকিছু
ওয়েব এবং ওয়ার্ডপ্রেস নির্দেশাবলী, খবর, থিম এবং প্লাগইনগুলির পর্যালোচনা

WooCommerce wc-ajax = get_refreshed_fragments দিয়ে স্লো পেজ লোডিং ঠিক করুন

1

আপনার ওয়ার্ডপ্রেস সাইটকে একটি অনলাইন স্টোরে পরিণত করার জন্য WooCommerce একটি জনপ্রিয় প্লাগইন । বেশিরভাগ জনপ্রিয় থিম WooCommerce প্লাগইন এর সাহায্যে সমন্বিত স্টোর বৈশিষ্ট্য প্রদান করে। আমরা আমাদের কিছু সাইটে WooCommerce ব্যবহার করি। সম্প্রতি যখন আমরা GTmetrix এবং pingdom এ একটি পেজ স্পিড চেক করেছি, তখন আমরা "wc-ajax = get_refreshed_fragments" উপাদানটি লোড হতে প্রায় এক সেকেন্ড সময় নিয়েছি। পৃষ্ঠাটি লোড করতে হবে।

WooCommerce AJAX সমস্যা ঠিক করুন

আমরা এই নিবন্ধে WooCommerce wc-ajax = get_refreshed_fragments সম্পর্কে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত করেছি:

  1. Wc-ajax = get_refreshed_fragments কি?
  2. অ্যাডমিন আজাক্স কলগুলির সাথে পৃষ্ঠা লোডিং সমস্যা
  3. অ্যাডমিন অ্যাজাক্সের সাথে WooCommerce এ স্লো পেজ লোডিং কিভাবে ঠিক করবেন?
    1. আপনার সাইটের প্রথম পৃষ্ঠায় শুধুমাত্র কার্ট ফ্র্যাগমেন্টেশন অক্ষম করুন
    2. প্রথম পৃষ্ঠায় এবং পোস্টগুলিতে কেবল কার্ট ফ্র্যাগমেন্টেশন নিষ্ক্রিয় করুন
    3. দোকানের পৃষ্ঠা বাদে সমস্ত পৃষ্ঠায় সমস্ত WooCommerce শৈলী এবং স্ক্রিপ্ট অক্ষম করুন
  4. WooCommerce অ্যাডমিন Ajax কল বন্ধ করতে প্লাগইন ব্যবহার করা
  5. পৃষ্ঠার গতি পরীক্ষা করা হচ্ছে
  6. ওয়ার্ডপ্রেস হার্টবিট API বন্ধ করা

1 wc-ajax = get_refreshed_fragments কি?

WooCommerce প্লাগইন থেকে পৃষ্ঠার স্পিড চার্টে রিফ্রেশ করা টুকরোগুলোকে বুঝতে আমাদের কিছুটা সময় লেগেছে। যেহেতু আমাদের সাইটটি সাইটগ্রাউন্ড ক্লাউড ভিপিএসে হোস্ট করা হয়েছিল, প্রভাবটি কম ছিল এবং উওকমার্স অ্যাজাক্স কল প্রায় এক সেকেন্ড সময় নিচ্ছিল। আপনি যদি ব্লুহোস্টের মতো ভাগ করা হোস্টিংয়ে হোস্টিং করেন, তাহলে আপনি 3 থেকে 10 সেকেন্ডের মধ্যে কোথাও পৃষ্ঠা লোড হতে বেশি বিলম্ব লক্ষ্য করতে পারেন।

নীচে পিংডম থেকে স্ক্রিনশটটি পৃষ্ঠায় "wc-ajax = get_refreshed_fragments" লোড করার জন্য দীর্ঘ অপেক্ষার সময় দেখায়। এছাড়াও আপনি দেখতে পারেন যে এই স্ক্রিপ্টটি গুগল পেজস্পিড ইনসাইটস টুলে একটি রেন্ডার ব্লকিং ইস্যুর অধীনে তালিকাভুক্ত করা হবে এবং এটি জিটিমেট্রিক্সে জলপ্রপাতের চার্টের নিচে খুঁজে পাবেন।

WooCommerce Ajax পেজ লোডিং ইস্যু

মূলত WooCommerce স্ক্রিপ্ট কল করে শপিং কার্টের বিবরণ সংগ্রহ করার চেষ্টা করে এবং কাজটি সম্পন্ন করতে অনেক সময় নেয়। অ্যাডমিন আজাক্সকে কল করে সর্বশেষ কার্ট আইটেমগুলি দেখানোর জন্য প্লাগইনটি প্রতিটি পৃষ্ঠায় অচেনা কার্টের বিবরণ পায়। আপনি আপনার সাইটের প্রতিটি পৃষ্ঠায় নীচের মত কিছু স্ক্রিপ্ট দেখতে পারেন:

<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>

এটি লোকালহোস্ট পরিবেশে এবং আপনার নিজের ইউআরএল সহ কোডটি দেখা উচিত।

WooCommerce wc-ajax = get_refreshed_fragments দিয়ে স্লো পেজ লোডিং ঠিক করুন

পৃষ্ঠার উৎসে WooCommerce Ajax Fragments

2 অ্যাডমিন এজ্যাক্স কল এবং পৃষ্ঠা লোড হচ্ছে

WooCommerce এই কার্ট ফ্র্যাগমেন্টেশন অ্যাডমিন অ্যাজাক্স কলটি ব্যবহার করে পেজটি রিফ্রেশ না করে কার্টে আইটেম এবং মোট আপডেট করে। প্রতিটি পৃষ্ঠায় অ্যাডমিন অ্যাজাক্সকে কল করা আপনার পৃষ্ঠা লোড করার সময়কে যথেষ্ট বিলম্বিত করবে এবং উচ্চ সার্ভার সংস্থানগুলিও গ্রাস করবে। অন্য সমস্যা হল প্লাগইন এমন একটি পৃষ্ঠাতেও এই কাজটি করে যেখানে কোন শপিং কার্ট বা পণ্য সম্পর্কিত বিশদ বিবরণ নেই।

উপরের স্ক্রিনশটটি দেখায় যে সমস্যাটি "আমাদের সম্পর্কে" পৃষ্ঠায় বিদ্যমান যেখানে কোনও WooCommerce উপাদান উপলব্ধ নেই। সুতরাং, পৃষ্ঠা থেকে শপিং কার্ট সরানো পৃষ্ঠা লোড গতি উন্নত করতে সাহায্য করবে না। আমাদের যা দরকার তা হল কার্ট আপডেট অক্ষম করা যেখানে কোন শপিং কার্ট বা পণ্য প্রদর্শিত হয় না।


সম্পর্কিত WooCommerce নিবন্ধ:

3 কিভাবে wc-ajax = get_refreshed_fragments দিয়ে সমস্যা ঠিক করবেন?

আপনার থিমের ফাংশন.পিএইচপি ফাইল সংশোধন করে স্ক্রিপ্টটি ডিকিউ করে সমস্যাটি সমাধান করা প্রয়োজন । আপনি WordPress এডমিন প্যানেলের মাধ্যমে অথবা FTP ব্যবহার করে functions.php পরিবর্তন করতে পারেন । ফাংশন.এইচপি ফাইল পরিবর্তন করার পরিবর্তে, একটি চাইল্ড থিম তৈরি করুন এবং চাইল্ড থিমে অতিরিক্ত ফাংশন যুক্ত করুন। এটি আপনাকে থিম আপডেট করার সময় পরিবর্তনগুলি ধরে রাখতে সাহায্য করবে। WooCommerce Ajax কার্ট ফ্র্যাগমেন্টেশন স্ক্রিপ্ট ডিকুইউ করার জন্য তিনটি অপশন আছে।

  • আপনার সাইটের প্রথম পৃষ্ঠায় শুধুমাত্র কার্ট ফ্র্যাগমেন্টেশন অক্ষম করুন
  • প্রথম পৃষ্ঠায় এবং পোস্টগুলিতে কেবল কার্ট ফ্র্যাগমেন্টেশন নিষ্ক্রিয় করুন
  • দোকান পাতা বাদে সমস্ত পাতায় WooCommerce শৈলী এবং স্ক্রিপ্ট অক্ষম করুন।

আসুন আমরা তিনটি বিকল্প নিয়ে বিস্তারিত আলোচনা করি, আপনার জন্য প্রয়োজনীয় একটি কাজ করুন।

3.1। সামনের পৃষ্ঠায় কার্ট ফ্র্যাগমেন্টেশন অক্ষম করুন

ওয়ার্ডপ্রেস অ্যাডমিন প্যানেলে, "চেহারা> সম্পাদক" এ নেভিগেট করুন এবং functions.php ফাইলটি সনাক্ত করুন। ফাইলের শেষে নিম্নলিখিত কোড যোগ করুন।

/** 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'); }

এটি সম্পাদকের নীচের মত হওয়া উচিত, একবার কোডটি আটকানো হলে আপনার পরিবর্তনগুলি সংরক্ষণ করতে "আপডেট ফাইল" এ ক্লিক করুন।

WooCommerce wc-ajax = get_refreshed_fragments দিয়ে স্লো পেজ লোডিং ঠিক করুন

থিম ফাংশন পিএইচপি ফাইল পরিবর্তন করা

আপনি যদি FTP ব্যবহার করতে চান, তাহলে FTP অ্যাকাউন্ট ব্যবহার করে আপনার সার্ভারে লগইন করুন। "/Wp-content/your-theme/" এ যান এবং "functions.php" ফাইলটি খুঁজুন। ফাইলের শেষে উপরের কোডটি এডিট করুন এবং যোগ করুন এবং পরিবর্তিত ফাইলটি আবার সার্ভারে আপলোড করুন।

একবার ফাইল আপডেট হয়ে গেলে, "WooCommerce> সেটিংস" মেনুতে নেভিগেট করুন এবং "পণ্য" ট্যাবের অধীনে "প্রদর্শন" বিভাগে যান। "সফল সংযোজনের পরে কার্ট পৃষ্ঠায় পুনirectনির্দেশিত করুন" বিকল্পের বিপরীতে চেকবক্সটি সক্ষম করুন।

WooCommerce wc-ajax = get_refreshed_fragments দিয়ে স্লো পেজ লোডিং ঠিক করুন

কার্ট পৃষ্ঠায় পুনirectনির্দেশ সক্ষম করুন

এটি গ্রাহককে কার্টে আইটেম যোগ করার পরে দীর্ঘ সময় অপেক্ষা করার পরিবর্তে মূল কার্ট পৃষ্ঠায় যেতে সাহায্য করবে। অন্যথায় যদিও আইটেম যোগ করা হয়েছে, আপনার শপিং কার্ট আপডেটেড বিবরণ নাও দেখাতে পারে যখন আপনি একই পৃষ্ঠায় কার্ট ফ্র্যাগমেন্টেশন স্ক্রিপ্ট অক্ষম করা আছে।

3.2। সামনের পৃষ্ঠা এবং পোস্টগুলিতে কার্ট ফ্র্যাগমেন্টেশন অক্ষম করুন

উপরের কোডটি কেবল স্ট্যাটিক ফ্রন্ট পেজে কার্ট ফ্র্যাগমেন্ট স্ক্রিপ্ট অক্ষম করবে। আপনি যদি সমস্ত পোস্টে স্ক্রিপ্ট অক্ষম করতে চান তাহলে আপনার থিমের function.php ফাইলে নিচের কোডটি যোগ করার চেষ্টা করুন।

/** 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'); }

3.3। সমস্ত WooCommerce স্টাইল এবং স্ক্রিপ্ট সাইট ওয়াইড নিষ্ক্রিয় করা

WooCommerce একটি সম্পদ নিবিড় প্লাগইন যা সমস্ত প্রাসঙ্গিক স্টাইলশীট এবং স্ক্রিপ্ট লোড করার জন্য আপনার সার্ভার রিসোর্স নিতে পারে। আপনার যদি কয়েক হাজার ব্লগ পোস্টের সাথে কয়েকটি পণ্য থাকে তবে ব্লগ পোস্টগুলিতে সমস্ত WooCommerce প্রাসঙ্গিক জিনিসগুলি ডিকিউ বা অক্ষম করার অর্থ রয়েছে। অন্য কথায় আপনি শুধুমাত্র প্রাসঙ্গিক পৃষ্ঠায় WooCommerce স্ক্রিপ্টগুলিকে অনুমতি দিতে পারেন যাতে অন্যান্য সমস্ত পৃষ্ঠা দ্রুত লোড হয়।

Github জিস্টের উপর ভিত্তি করে আপনার functions.php ফাইলে নিচের কোডটি যোগ করুন । কোডটি প্রথমে আপনার সাইটে WooCommerce প্লাগইন আছে কিনা তা যাচাই করবে এবং তারপরে পণ্য, কার্ট এবং চেকআউট পৃষ্ঠাগুলি বাদে সমস্ত পৃষ্ঠায় শৈলী এবং স্ক্রিপ্টগুলি অক্ষম করবে। এটি WooCommerce সম্পর্কিত পৃষ্ঠাগুলি ব্যতীত সমস্ত পোস্ট/পৃষ্ঠা থেকে "wc-ajax = get_refreshed_fragments" কলগুলি অপসারণ করতে সহায়তা করবে।

/** 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' ); } } }

সতর্কতা: উপরের তিনটি অপশন থেকে শুধুমাত্র একটি কোড ব্লক যোগ করতে ভুলবেন না। আপনার functions.php ফাইলে একাধিক বা সব কোড যোগ করবেন না। যখন আপনি স্ক্রিপ্টগুলিকে একপাশে অক্ষম করেন, তখন "WooCommerce> সেটিংস" মেনুর "ডিসপ্লে" বিভাগের অধীনে উপলব্ধ "আর্কাইভে অ্যাজাক্স অ্যাড টু কার্ট বোতাম সক্ষম করুন" বিকল্পটিও অক্ষম করুন।

4 WooCommerce Admin Ajax কল বন্ধ করতে প্লাগইন ব্যবহার করা

যদি আপনি থিমের ফাইল পরিবর্তন বা চাইল্ড থিম তৈরির সাথে পরিচিত না হন তবে আপনার জন্য কাজ করার জন্য প্লাগইন রয়েছে। প্রথম বিকল্প হল প্রিমিয়াম WP রকেট প্লাগইন ব্যবহার করা। আপনি WP রকেট কিনতে, আপনার ওয়ার্ডপ্রেস অ্যাডমিন প্যানেল থেকে প্লাগইন ইনস্টল এবং সক্রিয় করতে পারেন । এই প্লাগইনটিতে WooCommerce এর জন্য কোন বিশেষ সেটিংস নেই। কেবল প্লাগইনটি সক্রিয় করা আপনার সাইটের সমস্ত পৃষ্ঠায় WooCommerce কার্ট ফ্র্যাগমেন্টেশন অক্ষম করবে। আপনার পৃষ্ঠায় সোর্স কোডে অ্যাজাক্স ফ্র্যাগমেন্ট কল আছে কিনা তা যাচাই করার যুক্তি দিয়ে কাজ করে।

যদি হ্যাঁ হয়, তাহলে এটি পৃষ্ঠাটি লোড করার সময় কার্ট খালি আছে কিনা তা পরীক্ষা করবে। যখন এই দুটি শর্ত পূরণ করা হবে, WP Rocket পৃষ্ঠাটিকে ক্ষণস্থায়ীভাবে ক্যাশে করবে এবং পরের বার পৃষ্ঠাটি লোড হলে পরিবেশন করবে। যদি আপনি কোন সমস্যা খুঁজে পান, তাহলে আপনি সাহায্যকারী প্লাগইন ব্যবহার করে Ajax টুকরাগুলির ক্যাশিং নিষ্ক্রিয় করতে পারেন ।

W3 টোটাল ক্যাশের মতো প্লাগইনগুলি প্রিমিয়াম এক্সটেনশন হিসাবে ফ্র্যাগমেন্ট ক্যাশেও অফার করে। যাইহোক, প্রিমিয়াম বৈশিষ্ট্য পেতে আপনাকে $ 99 বার্ষিক সাবস্ক্রিপশন দিতে হবে। পরিবর্তে, WP রকেটের খরচ সহজ সেটআপের সাথে প্রতি বছর $ 49 এবং আপনি তাদের নিউজলেটার সাবস্ক্রাইব করে 10% ছাড়ও পেতে পারেন ।

5 পৃষ্ঠার গতি পরীক্ষা

আপনি যদি ম্যানুয়ালি কোড যোগ করে থাকেন, তাহলে আপনার ক্যাশিং প্লাগইন এর ক্যাশে পরিষ্কার করতে ভুলবেন না এবং উপলব্ধ হলে সার্ভারে বার্নিশ ক্যাশিং পরিষ্কার করুন। একইভাবে, যদি আপনি WP রকেট প্লাগইন ইনস্টল করে থাকেন তবে সমস্ত স্তরের ক্যাশিং পরিষ্কার করুন। এর পরে, গুগল পেজস্পিড ইনসাইটগুলি দেখুন এবং রেন্ডার ব্লকিং জাভাস্ক্রিপ্ট বিভাগের অধীনে আপনার "wc-ajax = get_refreshed_fragments" স্ক্রিপ্টটি দেখা উচিত নয়। ব্লক করার সময় 0 ms হলে আপনি সহজেই মোবাইল এবং ডেস্কটপে 100 স্কোর পেতে পারেন

WooCommerce wc-ajax = get_refreshed_fragments দিয়ে স্লো পেজ লোডিং ঠিক করুন

WooCommerce এর স্টাইল এবং স্ক্রিপ্ট অক্ষম করুন

এছাড়াও পিংডম-এ, WooCommerce স্ক্রিপ্ট কল "wc-ajax = get_refreshed_fragments" "ফাইল অনুরোধ" বিভাগে দেখা যাবে না। WooCommerce Ajax স্ক্রিপ্ট নিষ্ক্রিয় করার পরে আপনার পৃষ্ঠার গতি স্কোর উল্লেখযোগ্যভাবে বৃদ্ধি করা উচিত।

6 ওয়ার্ডপ্রেস হার্টবিট এপিআই বন্ধ করা

WooCommerce প্লাগইন লাইভ বিক্রয় এবং পরিসংখ্যান দেখানো অনেক আকর্ষণীয় ড্যাশবোর্ড উইজেট যোগ করে। যাইহোক, এটি আপনাকে আপনার সাইটের লোডিং স্পিড টেনে উচ্চ খরচ করবে। ড্যাশবোর্ড উইজেটগুলি WooCommerce এ কার্ট ফ্র্যাগমেন্টেশনের অনুরূপ অ্যাডমিন Ajax কল ব্যবহার করে গতিশীলভাবে সামগ্রী আপডেট করে। এটি হার্টবিট এপিআই নামক স্ট্যান্ডার্ড ওয়ার্ডপ্রেস এপিআই এর সাহায্যে করা হয়।

সাধারণত আমরা ড্যাশবোর্ডে সেই গতিশীল উইজেটগুলি রাখার সুপারিশ করি না। সার্ভার লোড কমাতে এবং আপনার ওয়ার্ডপ্রেস সাইটের পেজ লোডিং স্পিড উন্নত করতে আপনি কেবল অ্যাডমিন-এজেক্স কল বা ওয়ার্ডপ্রেস হার্টবিট এপিআই নিষ্ক্রিয় করতে পারেন । WP রকেটের মত প্লাগইনগুলি আপনার অ্যাডমিন প্যানেল থেকে হার্টবিট API নিষ্ক্রিয় করতে সাহায্য করতে পারে।

চূড়ান্ত শব্দ

ওয়ার্ডপ্রেসে আপনার অনলাইন স্টোর তৈরির অন্যতম সহজ উপায় হল WooCommerce। কিন্তু অনলাইন স্টোরের কিছু মৌলিক কাজ যেমন ডায়নামিক কার্ট আপডেটের প্রয়োজন। আমাদের অভিজ্ঞতায়, আমরা যা দেখেছি তা হল WooCommerce ব্যবহারকারীদের %০% সাধারণ ডিজিটাল পণ্য বিক্রি করে। তাদের দোকানটি বড় ব্লগ বা বিষয়বস্তু সাইটের একটি অ্যাড-অন। এই ক্ষেত্রে, আমরা দৃ strongly়ভাবে অ্যাডমিন Ajax কল নিষ্ক্রিয় করার সুপারিশ করছি যাতে সাইটের অন্যান্য সমস্ত পৃষ্ঠা ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত না করে দ্রুত লোড হবে।

যদি আপনার সম্পূর্ণ স্টোর থাকে তবে পেজ রিফ্রেশ না করে কার্ট আইটেমগুলিকে গতিশীলভাবে আপডেট করার জন্য আপনার কার্ট ফ্র্যাগমেন্টেশন ফিচারের প্রয়োজন হবে। এই ক্ষেত্রে, ডাব্লুপি রকেট বা ডাব্লু 3 টোটাল ক্যাশের মতো ক্যাশিং প্লাগইনগুলির সাথে মানের হোস্টিং সার্ভার থাকা নিশ্চিত করুন যা পৃষ্ঠার গতি উন্নত করার জন্য পৃষ্ঠা টুকরো ক্যাশ করার জন্য প্রিমিয়াম বিকল্প রয়েছে।

রেকর্ডিং উত্স: webnots.com
Leave A Reply

এই ওয়েবসাইট আপনার অভিজ্ঞতা উন্নত করতে কুকি ব্যবহার করে। আমরা ধরে নেব যে আপনি এটির সাথে ঠিক আছেন, তবে আপনি ইচ্ছা করলে অপ্ট-আউট করতে পারেন। আমি স্বীকার করছি আরো বিস্তারিত