جستجو
برای جستجو متن مورد نظر وارد کنید و Enter بزنید برای بستن Esc بزنید.
سرعت فروشگاه اینترنتی یکی از عوامل مهم در تجربه خرید کاربران است. زمانی که صفحه محصول دیر باز میشود، تصاویر با تأخیر نمایش داده میشوند یا کاربر هنگام افزودن کالا به سبد خرید با مکث مواجه میشود، بخشی از تجربه خرید از بین میرود.
این مسئله در ووکامرس اهمیت بیشتری دارد، چون فروشگاه علاوه بر صفحات معمول وردپرس با بخشهای پویا مانند سبد خرید، تسویه حساب، حساب کاربری، جستوجوی محصولات و درخواستهای AJAX سروکار دارد.
کندی ووکامرس نیز معمولاً یک علت مشخص ندارد. هاست ضعیف، قالب سنگین، افزونههای پرمصرف، تصاویر حجیم، JavaScript زیاد، دیتابیس شلوغ و پیکربندی نادرست کش میتوانند همزمان روی عملکرد فروشگاه تأثیر بگذارند.
راهنمای رسمی WooCommerce مجموعهای از روشها برای بهینهسازی عملکرد فروشگاه پیشنهاد میکند و راهنمای جدید WP Rocket نیز مواردی مانند هاست مناسب، HTTP/2، کش، قالب سبک، بهینهسازی JavaScript و CSS، تصاویر، Lazy Loading، CDN و دیتابیس را در اولویت قرار میدهد.
کاربر فروشگاه اینترنتی معمولاً با هدف مشخصی وارد سایت شده است. او میخواهد محصولی را پیدا کند، مشخصات آن را ببیند و خرید خود را تکمیل کند. هر مرحلهای که با تأخیر همراه باشد، اصطکاک بیشتری در مسیر خرید ایجاد میکند.
سرعت پایین میتواند روی تجربه کاربری، نرخ خروج، تعامل کاربران و عملکرد تجاری فروشگاه اثر بگذارد. سرعت همچنین با معیارهای Core Web Vitals ارتباط دارد که برای ارزیابی تجربه واقعی کاربران استفاده میشوند.
در عین حال، نباید سرعت را فقط با امتیاز PageSpeed Insights سنجید. ممکن است یک فروشگاه امتیاز مناسبی داشته باشد اما هنگام تغییر تعداد محصول در سبد خرید یا محاسبه هزینه ارسال همچنان کند عمل کند.
بنابراین هدف اصلی باید کاهش زمان واقعی انتظار کاربر باشد.
اولین مرحله در بهینهسازی ووکامرس، پیدا کردن مشکل است.
برای این کار میتوانید از ابزارهایی مانند Google PageSpeed Insights، Lighthouse، GTmetrix و WebPageTest استفاده کنید. WooCommerce نیز استفاده از ابزارهای تست و پایش مستمر عملکرد را توصیه میکند.
تست را فقط روی صفحه اصلی انجام ندهید. حداقل این صفحات باید جداگانه بررسی شوند:
صفحه اصلی، صفحه دستهبندی، صفحه محصول، نتایج جستوجو، سبد خرید، تسویه حساب و حساب کاربری.
در فروشگاههای ووکامرسی تفاوت عملکرد این صفحات میتواند قابل توجه باشد.
هیچ افزونهای نمیتواند یک سرور ضعیف را به زیرساخت قدرتمند تبدیل کند.
ووکامرس نسبت به یک سایت محتوایی ساده منابع بیشتری مصرف میکند. پردازش محصولات، سفارشها، مشتریان، کوئریهای دیتابیس، درخواستهای AJAX و افزونههای فروشگاهی همگی روی منابع سرور اثر میگذارند.
WP Rocket نیز کیفیت هاست را در دسته راهکارهای با تأثیر بالا قرار داده و بر بررسی سرعت، پایداری و امنیت سرویس میزبانی تأکید میکند.
هنگام انتخاب هاست ووکامرس باید مواردی مانند CPU، RAM، نوع دیسک، نسخه PHP، وبسرور، محدودیت پردازش PHP و کیفیت شبکه را بررسی کنید.
برای فروشگاههای کوچک ممکن است هاست اشتراکی با منابع مناسب کافی باشد. با افزایش ترافیک و تعداد سفارشها، استفاده از منابع اختصاصیتر یا VPS میتواند منطقیتر باشد.
PHP یکی از اجزای اصلی اجرای وردپرس و ووکامرس است.
استفاده از نسخه قدیمی PHP علاوه بر مسائل امنیتی، میتواند باعث شود فروشگاه از بهبودهای عملکردی نسخههای جدید استفاده نکند.
نسخه PHP باید با نسخه وردپرس، ووکامرس، قالب و افزونههای نصبشده سازگار باشد. بنابراین قبل از تغییر نسخه، سازگاری اجزای سایت را بررسی کنید.
پس از تغییر PHP نیز بخشهای مهم فروشگاه، بهخصوص صفحه محصول، سبد خرید، Checkout و درگاه پرداخت باید تست شوند.
HTTP/2 نحوه انتقال منابع میان مرورگر و سرور را نسبت به HTTP/1.1 بهبود میدهد.
یکی از ویژگیهای مهم HTTP/2، Multiplexing است. مرورگر میتواند چندین درخواست را روی یک اتصال مدیریت کند و منابعی مانند CSS، JavaScript و تصاویر را کارآمدتر دریافت کند.
WP Rocket استفاده از HTTP/2 را در میان راهکارهای مهم افزایش سرعت WooCommerce قرار داده است.
در بسیاری از هاستهای مدرن این قابلیت از سمت سرور فعال است. اگر درباره وضعیت آن مطمئن نیستید، میتوانید از پشتیبانی هاست درخواست بررسی کنید.
کش یکی از مؤثرترین روشهای کاهش پردازش سرور است.
بدون کش، درخواست کاربر میتواند باعث اجرای PHP، دریافت داده از دیتابیس و تولید HTML شود. سیستم کش میتواند نتیجه آماده این پردازشها را برای درخواستهای بعدی ارائه کند.
WooCommerce استفاده از کش سمت سرور، افزونههای کش وردپرس و Object Cache را به عنوان راهکارهای بهبود عملکرد معرفی میکند.
اما کش ووکامرس یک تفاوت مهم با سایتهای معمولی دارد.
اطلاعات سبد خرید و فرایند پرداخت برای هر کاربر میتواند متفاوت باشد. بنابراین نباید این صفحات مانند یک مقاله ثابت وردپرس از کش عمومی دریافت شوند.
راهکار کش باید بتواند بخشهای پویا و حساس ووکامرس را بهدرستی مدیریت کند.
پس از فعالسازی کش، حتماً موارد زیر را تست کنید:
افزودن محصول به سبد خرید، حذف محصول، تغییر تعداد کالا، ورود کاربر، اعمال کد تخفیف، انتخاب روش ارسال و پرداخت سفارش.
Page Cache تنها نوع کش موجود نیست.
Object Cache دادههای پرتکرار را در حافظه نگه میدارد تا وردپرس مجبور نباشد در هر درخواست همان اطلاعات را دوباره از دیتابیس دریافت کند.
راهکارهایی مانند Redis میتوانند برای فروشگاههایی که حجم بالایی از داده یا ترافیک دارند مفید باشند.
این قابلیت برای همه فروشگاهها ضروری نیست، اما زمانی که دیتابیس و پردازشهای سمت سرور به گلوگاه تبدیل میشوند، ارزش بررسی دارد.
تصاویر محصولات معمولاً یکی از بزرگترین منابع یک صفحه فروشگاهی هستند.
تصویر ۳ یا ۴ مگابایتی برای نمایش یک محصول در یک کارت کوچک، منابع زیادی مصرف میکند.
برای بهینهسازی تصاویر:
تصاویر را قبل از آپلود فشرده کنید.
ابعاد تصویر را متناسب با محل نمایش انتخاب کنید.
از فرمتهای مدرن مانند WebP در صورت سازگاری استفاده کنید.
برای تصاویر خارج از محدوده دید از Lazy Loading استفاده کنید.
تصاویر واکنشگرا را فعال کنید تا نسخه مناسب برای دستگاه کاربر ارائه شود.
WooCommerce نیز استفاده از تصاویر فشرده، Lazy Loading و تصاویر Responsive را توصیه میکند.
Lazy Loading برای تصاویر پایین صفحه مفید است، اما نباید همه تصاویر را بدون استثنا Lazy Load کرد.
اگر تصویر اصلی محصول در بالای صفحه قرار دارد و بزرگترین عنصر محتوایی صفحه محسوب میشود، تأخیر در بارگذاری آن میتواند روی LCP اثر منفی بگذارد.
بنابراین بهتر است تصاویر خارج از محدوده دید به شکل تنبل بارگذاری شوند و منابع مهم بخش بالایی صفحه اولویت دریافت داشته باشند.
قالب یکی از عوامل مهم عملکرد فروشگاه است.
قالبهای سنگین ممکن است فایلهای CSS و JavaScript زیادی بارگذاری کنند و قابلیتهایی مانند اسلایدر، انیمیشن، مگامنو و المانهای بصری متعدد را وارد صفحات کنند.
این امکانات در ظاهر جذاب هستند، اما اگر بدون نیاز واقعی استفاده شوند، حجم صفحه و زمان اجرای مرورگر را افزایش میدهند.
WP Rocket نیز انتخاب یک قالب سریع و سبک را در دسته راهکارهای مهم بهینهسازی WooCommerce قرار میدهد.
برای فروشگاه بهتر است قالبی انتخاب شود که امکانات موردنیاز را با حداقل وابستگیهای اضافی ارائه کند.
اسلایدرهای متعدد، ویدئوهای پسزمینه، Preloaderهای سنگین و انیمیشنهای زیاد میتوانند منابع زیادی مصرف کنند.
WP Rocket نیز در چکلیست خود محدود کردن اسلایدرها، Preloaderها و انیمیشنها را توصیه میکند.
اگر یک اسلایدر صرفاً برای نمایش چند تصویر تبلیغاتی استفاده میشود، بهتر است بررسی کنید آیا همان محتوا با یک تصویر ثابت یا ساختار سادهتر قابل ارائه است یا خیر.
تعداد افزونهها به تنهایی معیار مناسبی برای تشخیص کندی نیست.
یک افزونه میتواند بسیار سبک باشد و افزونهای دیگر با چند فایل JavaScript و Queryهای سنگین، حتی با وجود تعداد کم افزونهها، عملکرد سایت را تحت تأثیر قرار دهد.
برای بررسی میتوانید از ابزارهایی مانند Query Monitor استفاده کنید.
WooCommerce نیز پیشنهاد میکند عملکرد افزونهها را بررسی کرده و افزونههایی را که تأثیر منفی محسوسی بر سرعت دارند حذف یا جایگزین کنید.
همچنین بهتر است افزونههایی که دیگر مورد استفاده نیستند حذف شوند و WordPress، WooCommerce، قالب و افزونهها همیشه در نسخههای سازگار و بهروز قرار داشته باشند.
JavaScript یکی از عواملی است که میتواند زمان اجرای صفحه را افزایش دهد.
حتی اگر حجم فایلها کم باشد، اجرای تعداد زیادی اسکریپت میتواند CPU مرورگر را درگیر کند.
WP Rocket توصیه میکند زمان اجرای JavaScript کاهش پیدا کند و اسکریپتهای غیرضروری به تعویق بیفتند.
برای این کار میتوان:
JavaScript را Minify کرد.
اجرای اسکریپتهای غیرضروری را به تأخیر انداخت.
فایلهای غیرضروری را در صفحات خاص بارگذاری نکرد.
اسکریپتهایی را که فقط در یک صفحه مورد نیاز هستند، در سایر صفحات اجرا نکرد.
نکته مهم این است که اجرای Delay یا Defer روی اسکریپتهای ووکامرس باید با تست انجام شود. ممکن است یک اسکریپت برای سبد خرید یا Checkout ضروری باشد.
CSS اضافی باعث میشود مرورگر فایل بیشتری دریافت و پردازش کند.
در قالبهای سنگین معمولاً بخشی از CSS مربوط به المانهایی است که در یک صفحه خاص استفاده نمیشوند.
Remove Unused CSS یا روشهای مشابه میتوانند حجم CSS مورد نیاز صفحه را کاهش دهند.
همچنین Critical CSS میتواند برای نمایش سریعتر بخش بالایی صفحه مورد استفاده قرار گیرد. راهنمای رسمی WooCommerce نیز Minify کردن کد، بهینهسازی CSS و به تعویق انداختن JavaScript غیرضروری را پیشنهاد میکند.
Minification با حذف فاصلهها، خطوط اضافی و بخشهای غیرضروری از کد، حجم فایل را کاهش میدهد.
ابزارهایی مانند WP Rocket، Autoptimize و W3 Total Cache قابلیتهای مختلفی برای بهینهسازی کد دارند. WooCommerce نیز Minify کردن فایلهای HTML، CSS و JavaScript را یکی از مراحل بهینهسازی معرفی میکند.
البته ترکیب همه فایلها همیشه بهترین گزینه نیست. در سایتهای مدرن که HTTP/2 یا HTTP/3 فعال است، باید نتیجه واقعی را تست کرد و صرفاً بر اساس یک دستورالعمل قدیمی عمل نکرد.
فایلهای متنی مانند HTML، CSS و JavaScript قابلیت فشردهسازی بالایی دارند.
GZIP با کاهش حجم این فایلها مقدار داده منتقلشده میان سرور و مرورگر را کاهش میدهد.
WooCommerce فعال کردن GZIP را یکی از روشهای کاهش حجم منابع معرفی میکند و امکان پیکربندی آن در سطح افزونه یا وبسرور وجود دارد.
در زیرساختهای جدید ممکن است Brotli نیز در دسترس باشد. انتخاب روش مناسب باید بر اساس پشتیبانی وبسرور و CDN انجام شود.
CDN فایلهایی مانند تصاویر، CSS و JavaScript را از شبکهای از سرورها ارائه میکند.
اگر فاصله جغرافیایی کاربر با سرور اصلی زیاد باشد، CDN میتواند زمان انتقال منابع استاتیک را کاهش دهد.
WooCommerce سرویسهایی مانند Cloudflare، Fastly و Amazon CloudFront را به عنوان نمونههایی از CDN معرفی میکند.
CDN برای همه فروشگاهها الزام نیست. اگر بیشتر مشتریان از یک منطقه جغرافیایی مشخص وارد سایت میشوند و سرور نیز در موقعیت مناسبی قرار دارد، ابتدا باید مشکلات اصلی زیرساخت را اصلاح کرد.
هرچه فروشگاه قدیمیتر و بزرگتر شود، دیتابیس نیز داده بیشتری ذخیره میکند.
Revisionهای قدیمی، دیدگاههای اسپم، Transientهای منقضیشده و دادههای غیرضروری میتوانند حجم دیتابیس را افزایش دهند.
WooCommerce حذف دادههای غیرضروری و بهینهسازی جداول دیتابیس را توصیه میکند.
در فروشگاههای بزرگتر باید Queryهای کند نیز بررسی شوند. اگر یک Query زمان زیادی برای اجرا نیاز دارد، پاکسازی ساده دیتابیس الزاماً مشکل را برطرف نمیکند و ممکن است نیاز به اصلاح کد افزونه، ایجاد Index مناسب یا تغییر معماری داشته باشد.
فروشگاههای ووکامرسی معمولاً وظایف زمانبندیشده زیادی دارند.
ارسال ایمیل، بهروزرسانی موجودی، پردازش سفارشها، همگامسازی با سرویسهای خارجی و گزارشگیری میتوانند از Cron استفاده کنند.
اگر تعداد این وظایف زیاد باشد، اجرای آنها در زمان نامناسب میتواند منابع سرور را مصرف کند.
در فروشگاههای بزرگ، بررسی Cronهای فعال و انتقال وظایف مهم به Cron واقعی سرور میتواند بخشی از بار WordPress Cron را کاهش دهد.
کندی فروشگاه همیشه در سمت کاربر اتفاق نمیافتد.
اگر پیشخوان وردپرس و مدیریت سفارشها نیز کند شدهاند، باید درخواستهای Admin-AJAX، Heartbeat، Queryهای دیتابیس و افزونههای مدیریتی بررسی شوند.
WP Rocket نیز اشاره میکند که Admin-AJAX میتواند روی عملکرد Frontend و Backend تأثیر بگذارد و Heartbeat در برخی شرایط منابع سرور را مصرف کند.
کاهش یا محدود کردن این درخواستها باید با احتیاط انجام شود تا قابلیتهایی که به Heartbeat یا AJAX نیاز دارند از کار نیفتند.
سرعت فروشگاه فقط چیزی نیست که مشتری میبیند.
اگر صفحه سفارشها، محصولات یا گزارشهای ووکامرس در پیشخوان با تأخیر باز شوند، مدیریت روزانه فروشگاه نیز دشوارتر میشود.
کندی Backend معمولاً میتواند از سه دسته مشکل ناشی شود:
کد PHP ناکارآمد، Queryهای کند دیتابیس و فایلهایی که به شکل نامناسب بارگذاری میشوند.
در چنین شرایطی ابزارهایی مانند Query Monitor برای پیدا کردن Queryهای سنگین، خطاهای PHP و منابع مصرفی میتوانند مفید باشند.
سه شاخص اصلی Core Web Vitals در ارزیابی تجربه کاربر اهمیت دارند:
LCP مدت زمان نمایش بزرگترین عنصر محتوایی صفحه را بررسی میکند.
INP میزان پاسخگویی صفحه به تعاملات کاربر را اندازهگیری میکند.
CLS میزان جابهجایی غیرمنتظره عناصر صفحه را نشان میدهد.
برای فروشگاه، این شاخصها باید در کنار معیارهای تجاری و عملکرد واقعی Checkout بررسی شوند.
برای مثال، کاهش حجم تصویر اصلی میتواند LCP را بهتر کند، در حالی که کاهش JavaScript اضافی میتواند به بهبود پاسخگویی تعاملات کمک کند.
PageSpeed Insights ابزار بسیار مفیدی برای پیدا کردن مشکلات است، اما امتیاز آن نباید به هدف اصلی تبدیل شود.
ممکن است با حذف یک قابلیت مفید، امتیاز Lighthouse افزایش پیدا کند اما تجربه خرید کاربر بدتر شود.
به همین دلیل باید علاوه بر معیارهای آزمایشگاهی، دادههای واقعی کاربران و عملکرد صفحات مهم فروشگاه را بررسی کرد.
WooCommerce نیز بر پایش مستمر عملکرد تأکید دارد، زیرا عملکرد فروشگاه با افزایش محصولات، افزونهها، سفارشها و ترافیک میتواند تغییر کند.
اگر بخواهید مشکلات سرعت فروشگاه را مرحلهبهمرحله بررسی کنید، این ترتیب نقطه شروع مناسبی است:
افزایش سرعت ووکامرس یک عملیات تکمرحلهای نیست. اگر فروشگاه کند شده است، نصب یک افزونه کش بدون پیدا کردن علت اصلی مشکل معمولاً راهکار کاملی نخواهد بود.
بهترین مسیر از اندازهگیری شروع میشود. ابتدا باید مشخص شود مشکل در سرور، دیتابیس، تصاویر، CSS، JavaScript، قالب، افزونهها یا شبکه قرار دارد. سپس هر بخش به شکل جداگانه اصلاح و نتیجه آن دوباره اندازهگیری شود.
برای بسیاری از فروشگاهها، انتخاب هاست مناسب، فعالسازی کش، بهینهسازی تصاویر و کاهش کدهای غیرضروری بیشترین اثر اولیه را دارد. فروشگاههای بزرگتر نیز به بررسی عمیقتر Queryها، Object Cache، Cronها، AJAX و معماری سرور نیاز دارند.
راهنمای رسمی WooCommerce نیز همین رویکرد لایهای را دنبال میکند و کش، تصاویر، کد، CDN، دیتابیس، قالب و افزونهها، فشردهسازی و پایش مداوم را از محورهای اصلی بهینهسازی میداند.
نکته مهم این است که سرعت فروشگاه را نباید صرفاً با یک عدد در PageSpeed سنجید. معیار واقعی، تجربه کاربر هنگام ورود به فروشگاه، مشاهده محصول، افزودن کالا به سبد و تکمیل سفارش است.
خیر. افزونه کش میتواند یکی از مؤثرترین بخشهای بهینهسازی باشد، اما کندی فروشگاه ممکن است از هاست، تصاویر، قالب، افزونهها، دیتابیس یا JavaScript ناشی شود. WooCommerce نیز بهینهسازی را مجموعهای از چند روش میداند، نه یک راهکار واحد.
انتخاب افزونه به زیرساخت سایت و نیازهای فروشگاه بستگی دارد. WooCommerce در مستندات خود WP Rocket، W3 Total Cache و WP Super Cache را به عنوان نمونههایی از افزونههای کش معرفی کرده است. مهمتر از نام افزونه، پیکربندی صحیح آن و سازگاری با صفحات پویا ووکامرس است.
نه لزوماً. کیفیت افزونه و میزان منابعی که مصرف میکند مهمتر از تعداد آنهاست. یک افزونه سنگین میتواند تأثیر بیشتری از چند افزونه سبک داشته باشد. استفاده از ابزارهایی مانند Query Monitor برای شناسایی افزونههای پرمصرف میتواند مفید باشد.
بله. تصاویر حجیم میتوانند بخش قابل توجهی از حجم صفحه را تشکیل دهند. فشردهسازی، انتخاب ابعاد مناسب، استفاده از فرمتهای مدرن، تصاویر Responsive و Lazy Loading برای تصاویر غیرضروری از روشهای اصلی بهینهسازی هستند.
خیر. تصاویر پایین صفحه معمولاً گزینه مناسبی برای Lazy Loading هستند، اما تصویر اصلی و مهم بخش بالایی صفحه باید با دقت مدیریت شود. تأخیر در بارگذاری عنصر اصلی صفحه میتواند روی LCP اثر منفی بگذارد.
CDN میتواند ارائه منابع استاتیک مانند تصاویر، CSS و JavaScript را سریعتر کند، بهخصوص زمانی که کاربران از مناطق مختلف جغرافیایی به فروشگاه متصل میشوند. اما CDN مشکل هاست ضعیف، Queryهای سنگین یا کدنویسی ناکارآمد را بهتنهایی برطرف نمیکند.
صفحات پویا مانند سبد خرید و Checkout نباید بدون پیکربندی صحیح در کش عمومی قرار بگیرند، زیرا اطلاعات آنها برای کاربران مختلف متفاوت است. راهکار کش باید با ساختار WooCommerce سازگار باشد.
ممکن است افزونه، JavaScript یا CSS موردنیاز ووکامرس را به شکل نادرست Minify، Combine یا Delay کرده باشد. چنین مشکلاتی معمولاً باید با مستثنی کردن فایل یا اسکریپت مربوطه و تست مجدد برطرف شوند.
نه همیشه. PageSpeed Insights ابزار مهمی برای شناسایی مشکلات عملکردی است، اما سرعت واقعی تعامل کاربر با فروشگاه نیز باید بررسی شود. صفحات محصول، سبد خرید و Checkout ممکن است رفتار متفاوتی داشته باشند.
بهتر است ابتدا سرعت سایت اندازهگیری و علت کندی مشخص شود. در بسیاری از فروشگاهها بررسی هاست، کش، تصاویر و افزونههای سنگین نقطه شروع مناسبی است. پس از اصلاحات اولیه میتوان سراغ JavaScript، CSS، دیتابیس، CDN و بهینهسازیهای تخصصیتر رفت.