گاهی صفحه اصلی فروشگاه سریع است اما کاربر درست در حساسترین نقطه، یعنی سبد خرید و تسویهحساب، با تأخیر روبهرو میشود. کندی صفحه تسویه حساب ووکامرس فقط یک مسئله ظاهری نیست؛ Checkout شامل محاسبه حملونقل، مالیات، درگاه پرداخت، Session، کوپن و درخواستهای AJAX است و هر افزونه اضافی میتواند زمان پاسخ را بیشتر کند. این راهنما روی عیبیابی عملی Checkout تمرکز دارد، نه توصیههای عمومی سرعت وردپرس.
چرا Checkout ووکامرس با صفحات عادی فرق دارد؟
صفحه تسویهحساب پویاست و اطلاعات آن برای هر کاربر متفاوت است. به همین دلیل نباید HTML نهایی Checkout را مثل یک مقاله معمولی Full Page Cache کرد. در عوض باید زمان پردازش PHP، کوئریهای دیتابیس، درخواستهای خارجی و تعداد عملیات هنگام بهروزرسانی سفارش را کاهش داد.
نشانههای اصلی کندی تسویه حساب
- بعد از تغییر استان یا روش ارسال، مجموع سفارش دیر بهروزرسانی میشود.
- انتخاب درگاه چند ثانیه مکث ایجاد میکند.
- دکمه ثبت سفارش مدت زیادی در حالت پردازش میماند.
- Checkout برای کاربر مهمان سریع اما برای کاربر واردشده کند است، یا برعکس.
- در موبایل تأخیر بیشتر از دسکتاپ احساس میشود.
مرحله اول: مشخص کنید کندی سمت مرورگر است یا سرور
Network مرورگر را بررسی کنید
در DevTools مرورگر، تب Network را باز کنید و درخواستهای هنگام تغییر آدرس، روش ارسال و پرداخت را ببینید. اگر زمان Waiting/TTFB زیاد است، مسئله بیشتر سمت سرور است. اگر پاسخ سریع میآید اما صفحه دیر واکنش نشان میدهد، JavaScript و تعداد اسکریپتهای Checkout را بررسی کنید.
درخواستهای خارجی را پیدا کنید
برخی درگاهها، سرویس پیامک، اعتبارسنجی، ضدتقلب یا APIهای حملونقل هنگام Checkout به سرویس بیرونی وصل میشوند. Timeout یا پاسخ کند یک API خارجی میتواند کل فرایند را متوقف کند.
مرحله دوم: افزونههای درگیر در Checkout را کم کنید
هر افزونه فعال لزوماً روی Checkout اثر ندارد، اما افزونههای قیمتگذاری، کوپن، حملونقل، درگاه، فاکتور، پیامک، فیلد سفارشی و عضویت معمولاً Hookهای بیشتری در این صفحه اجرا میکنند. در محیط آزمایشی، این افزونهها را گروهی غیرفعال و زمان پاسخ را مقایسه کنید تا عامل اصلی پیدا شود.
اگر قصد افزودن قابلیت تازه دارید، قبل از نصب ابزارهای متعدد راهنمای انتخاب افزونه وردپرس را ببینید تا همپوشانی قابلیتها کمتر شود.
مرحله سوم: کش را درست تنظیم کنید، نه بیشتر
Cart و Checkout را از Full Page Cache خارج کنید
کش کامل صفحه برای صفحات شخصیسازیشده میتواند باعث نمایش اطلاعات اشتباه یا اختلال در nonce و Session شود. صفحات Cart، Checkout و My Account معمولاً باید از Full Page Cache مستثنا باشند.
Object Cache میتواند مفید باشد
Redis یا Object Cache در فروشگاههای پرترافیک میتواند بخشی از بار کوئریهای تکراری را کم کند، اما قبل و بعد از فعالسازی باید اندازهگیری شود. کش اشتباه جای بهینهسازی کوئری یا افزونه کند را نمیگیرد.
مرحله چهارم: دیتابیس و Action Scheduler را بررسی کنید
ووکامرس و افزونههای آن کارهای زمانبندیشده زیادی دارند. انباشته شدن Actionهای ناموفق یا Pending، جدولهای بزرگ options و Sessionهای قدیمی میتواند فشار دیتابیس را بیشتر کند. قبل از پاکسازی گسترده، بکاپ بگیرید و دقیقاً مشخص کنید کدام جدول یا Job مشکلساز است.
برای داشتن نسخه بازگشت امن، میتوانید صفحه افزونه بکاپ وردپرس UpdraftPlus را بررسی کنید.
مرحله پنجم: اسکریپتهای غیرضروری را از Checkout دور کنید
اسلایدرها، پاپآپهای بازاریابی، چت آنلاین، نقشه، ویدئو و اسکریپتهای ردیابی متعدد در صفحه تسویهحساب ارزش کمتری نسبت به صفحه محصول دارند. Defer یا Delay کردن کورکورانه JavaScript هم ممکن است Checkout را خراب کند؛ بنابراین فقط اسکریپتهای غیرضروری را هدف بگیرید و بعد از هر تغییر ثبت سفارش واقعی را تست کنید.
مرحله ششم: تصاویر و فونتها را سبک نگه دارید
Checkout معمولاً تصویر زیادی ندارد، اما لوگو، آیکن درگاهها و فونتهای متعدد میتوانند رندر اولیه را عقب بیندازند. از WebP/AVIF برای تصاویر مناسب، ابعاد واقعی، تعداد محدود وزن فونت و preload فقط برای منابع واقعاً حیاتی استفاده کنید.
مرحله هفتم: درگاههای پرداخت را جداگانه تست کنید
اگر کندی فقط با یک درگاه رخ میدهد، مشکل را در همان Integration دنبال کنید. ثبت لاگ ووکامرس، زمان پاسخ API و خطاهای callback را بررسی کنید. وجود چند درگاه فعال نیز بهخودیخود مشکل نیست؛ مسئله زمانی ایجاد میشود که هرکدام در هر بهروزرسانی Checkout درخواست سنگین اجرا کنند.
چکلیست بهینهسازی Checkout ووکامرس
- TTFB درخواستهای Checkout را قبل از تغییرات ثبت کنید.
- Cart و Checkout را از Page Cache خارج کنید.
- افزونههای قیمت، درگاه، ارسال و فیلد سفارشی را جداگانه پروفایل کنید.
- خطاهای PHP و لاگ WooCommerce را بررسی کنید.
- Action Scheduler و حجم جداول پرتکرار را کنترل کنید.
- اسکریپتهای بازاریابی غیرضروری را در Checkout محدود کنید.
- هر درگاه را جداگانه با سفارش آزمایشی تست کنید.
- نسخه موبایل، مهمان و کاربر واردشده را مقایسه کنید.
آیا امتیاز PageSpeed برای Checkout معیار اصلی است؟
نه. ابزارهای آزمایش عمومی برای صفحات قابل کش بسیار مفیدند، اما Checkout شخصیسازیشده است. در این صفحه علاوه بر Core Web Vitals باید زمان پاسخ درخواستهای AJAX، سرعت تغییر روش ارسال/پرداخت و زمان ثبت نهایی سفارش را اندازهگیری کنید. هدف، کوتاه کردن مسیر واقعی خرید است.
برای بهینهسازی عمومیتر سایت، مقاله افزایش سرعت وردپرس مکمل این راهنمای تخصصی Checkout است.
سؤالات متداول
آیا باید صفحه Checkout را کش کنیم؟
Full Page Cache برای Checkout معمولاً مناسب نیست، چون محتوا و Session هر مشتری متفاوت است. بهینهسازی سرور، دیتابیس و Object Cache رویکرد امنتری است.
چرا با انتخاب روش ارسال صفحه کند میشود؟
تغییر آدرس یا ارسال معمولاً محاسبه مجدد سفارش را فعال میکند. افزونه حملونقل، API بیرونی، قوانین قیمتگذاری یا کوئری سنگین میتواند این مرحله را کند کند.
آیا غیرفعال کردن همه افزونهها راهحل است؟
برای سایت زنده خیر. در Staging، تست گروهی افزونهها روش خوبی برای یافتن عامل کندی است؛ سپس باید همان عامل را بهینه، جایگزین یا تنظیم کنید.
جمعبندی
برای رفع کندی تسویه حساب ووکامرس از اندازهگیری شروع کنید. ابتدا مشخص کنید تأخیر در مرورگر، PHP، دیتابیس یا API خارجی است؛ سپس افزونههای درگیر را محدود، کش را اصولی و مسیر ثبت سفارش را تست کنید. بهینهسازی موفق Checkout یعنی مشتری بدون مکث و بدون خطای محاسباتی خریدش را کامل کند.
