رفع کندی wc-ajax باید از اندازهگیری شروع شود. دیدن درخواست get_refreshed_fragments در گزارش شبکه، بهتنهایی خطا نیست؛ این درخواست در سازوکار قدیمی مینیکارت برای تازه کردن بخشهای سبد کاربرد دارد. مشکل زمانی است که اجرای غیرضروری، تکرار زیاد یا پاسخ کند، تجربهٔ خرید را مختل کند.
اولین مرحله رفع کندی wc-ajax
در ابزار توسعهٔ مرورگر، بخش Network را باز و درخواست مربوط را انتخاب کنید. زمان پاسخ، وضعیت HTTP، تعداد تکرار و Initiator را ثبت کنید. نتیجه را در صفحهٔ محصول، صفحهٔ عادی و حالت سبد خالی و پُر مقایسه کنید.
اگر همهٔ درخواستهای پویا کندند، فقط حذف یک اسکریپت مسئلهٔ اصلی را حل نمیکند. وضعیت PHP، دیتابیس، افزونههای درگاه یا ارسال و فراخوانی سرویس بیرونی باید بررسی شود. اگر پاسخ 403 یا 500 است، آن را صرفاً کندی ننامید؛ خطای دسترسی یا اجرا را از لاگ مرتبط پیدا کنید.
رفتار نسخههای جدید ووکامرس
طبق توضیح توسعهدهندگان ووکامرس، از نسخهٔ 7.8 بارگذاری عمومی cart fragments محدودتر شد. با این حال ابزارک قدیمی، وابستگی افزونه یا فراخوانی مستقیم قالب میتواند هنوز آن را فعال کند. بنابراین نسخه و منبع درخواست را پیش از افزودن کد قدیمی بررسی کنید.
مینیکارت بلوکی مسیر متفاوتی دارد و به cart fragments قدیمی وابسته نیست. بهبودهای جدید سبد خرید نیز نشان میدهد که این بخش تغییر کرده است؛ ادعای اجرای اجباری یک درخواست یکسان در تمام صفحات و تمام نسخهها دقیق نیست.
انتخاب اصلاح مناسب
- قالب و افزونهٔ مسئول مینیکارت را شناسایی کنید.
- وجود چند مینیکارت یا چند راهکار سبد شناور همزمان را بررسی کنید.
- بهروزرسانی سازگار یا استفاده از مینیکارت بلوکی را در محیط تست آزمایش کنید.
- اگر یک صفحه واقعاً هیچ رفتار خریدی ندارد، فقط بارگذاری غیرضروری همان قابلیت را محدود کنید.
وجود نداشتن محصول در بدنهٔ صفحه کافی نیست؛ ممکن است هدر همان صفحه مینیکارت داشته باشد. شرطهایی مانند «همهٔ نوشتهها» یا «صفحهٔ اصلی» میتوانند نمایش تعداد کالا را خراب کنند. به همین دلیل یک قطعهکد حذف عمومی برای همهٔ فروشگاهها مناسب نیست.
کش و مبلغ سبد را بررسی کنید
تنظیمات کش باید با نشست و مسیرهای پویای فروشگاه سازگار باشد. پس از تغییر، با دو نشست مستقل آزمایش کنید که سبد یک کاربر برای دیگری نمایش داده نمیشود. تعداد کالا، جمع مبلغ و کوپن را پس از افزودن، حذف و تغییر تعداد مقایسه کنید.
برای تغییر مینیکارت یا پرداخت، راهنمای بلوکهای سبد و پرداخت و سازگاری افزونهها را بخوانید. حذف درخواست از نمودار شبکه، اگر سبد را کهنه یا پرداخت را ناقص کند، بهینهسازی موفق نیست.
چرا نباید همهٔ اسکریپتها و Heartbeat را خاموش کرد؟
حذف کلی اسکریپتهای ووکامرس میتواند تنوع محصول، افزودن به سبد، اعتبارسنجی پرداخت و امکانات افزونهها را از کار بیندازد. فایل صحیح قالب functions.php است، اما محل قرار دادن کد بهتنهایی درست بودن منطق آن را تضمین نمیکند.
Heartbeat مسئلهای جداست. ذخیرهٔ خودکار وردپرس از آن استفاده میکند؛ غیرفعال کردن سراسری آن برای حل کندی cart fragments توصیهٔ عمومی درستی نیست.
معیار پایان عیبیابی
قبل و بعد را در شرایط یکسان مقایسه کنید. درخواست غیرضروری باید کاهش یابد و زمان پاسخ بهتر شود، در حالی که مینیکارت، صفحهٔ سبد و پرداخت مبلغ یکسان نشان دهند. مسیر خرید مهمان و کاربر واردشده، موبایل، دکمهٔ بازگشت مرورگر و تغییر تعداد کالا را دوباره آزمایش کنید.
مطالعهٔ مرتبط
بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شدهاند.