سلام وقت بخیر.
یک فروشگاه ووکامرسی با قالب Woodmart و Elementor داریم که مشکل اصلی آن کندی سمت سرور و اجرای PHP است. هدف پروژه، پیدا کردن ریشه مشکل و رفع اصولی آن است؛ نه انجام بهینه سازی های عمومی و ظاهری.
وضعیت فعلی:
اولین بارگذاری صفحات دستهبندی حدود ۴ تا ۴.۵ ثانیه
اولین بارگذاری صفحات محصول حدود ۳.۵ تا ۴ ثانیه
TTFB در برخی تستها حدود ۴ تا ۵ ثانیه
زمان Query دیتابیس حدود ۱ تا ۱.۲ ثانیه
تعداد Queryها حدود ۵۲۰ تا ۵۴۰
HTTP API Call وجود ندارد
OPcache فعال است
PHP نسخه 8.1 فعال است
بعد از Cache Hit، صفحات سریع میشوند
نکته مهم:
با فعال بودن افزونه کش لایت اسپید و بهینهسازی، زمان تولید صفحه در بعضی تستها تا حدود ۷ ثانیه بالا میرفت. با غیرفعال کردن کشها و بهینهسازیهای CSS/JS، زمان به حدود ۴ ثانیه کاهش پیدا کرد.
بنابراین کش با تنظیمات فعلی نه تنها ریشه مشکل را حل نکرده، بلکه در بعضی حالتها سربار ایجاد کرده است.
مشکل دوم:
کروسلها و اسلایدرهای محصولات تا زمانی که صفحه کاملاً لود نشود، قابل حرکت نیستند و گیر میکنند. بعد از پایان کامل لود، حرکت کروسل فعال میشود.
این رفتار باید ریشهیابی شود؛ صرفاً خاموش کردن Delay JS یا دور زدن مشکل، راهحل نهایی محسوب نمیشود.
انتظار از فریلنسر:
انجام PHP Profiling واقعی روی صفحات محصول و دستهبندی
شناسایی دقیق تابع، هوک، فایل، افزونه یا بخش قالب که زمان پردازش را مصرف میکند
بررسی کدهای قالب Child، Woodmart، Elementor و افزونههای اختصاصی
بررسی علت گیرکردن کروسل تا پایان لود
ارائه گزارش فنی قبل از اعمال تغییرات
انجام دادن تنظیمات لایت اسپید کش بدون تداخل
اجرای اصلاح فقط بعد از تأیید
ارائه مقایسه قبل و بعد شامل:
Page Generation Time
TTFB
Database Query Time
تعداد Queryها
حفظ کامل عملکرد فروشگاه، فیلترها، سبد خرید، ورود، کیف پول، محصولات خصوصی و صفحات ووکامرس
تنظیمات LiteSpeed Cache
در پایان پروژه انتظار دارم LiteSpeed Cache بهصورت اصولی تنظیم شود؛ بهگونهای که:
با قالب Woodmart، Elementor و WooCommerce تداخل نداشته باشد.
باعث اختلال در کروسلها، اسلایدرها، فیلترها یا عملکرد سایت نشود.
فقط در صورت لزوم از قابلیتهای Delay، Defer، Minify و سایر بهینهسازیها استفاده شود.
اگر قابلیتی به دلیل ایجاد مشکل غیرفعال میشود، دلیل فنی آن توضیح داده شود.
معیار تحویل پروژه:
در پایان پروژه باید اعداد قابل اندازهگیری قبل و بعد از انجام کار ارائه شوند؛ از جمله:
Page Generation Time
TTFB
Database Query Time
تعداد Queryها
نتیجه تست GTmetrix یا WebPageTest (در صورت استفاده)
بههمراه توضیح اینکه چه تغییراتی باعث بهبود شده است.
مواردی که بهعنوان انجام پروژه پذیرفته نمیشوند:
تبدیل تصاویر به WebP
فشردهسازی تصاویر
نصب افزونه کش جدید
تعویض LiteSpeed با افزونه کش دیگر
کاهش حجم دیتابیس
حذف Revision و Transient
فعال کردن Lazy Load
Minify یا Combine فایلها
بالا بردن نمره PageSpeed بدون رفع مشکل PHP
خاموش کردن دائمی قابلیتهای اصلی سایت
ارائه نتیجه بدون مشخص کردن علت فنی
این موارد ممکن است مفید باشند، اما مسئله اصلی پروژه نیستند.
ابزار مورد انتظار:
ترجیحاً تجربه کار با یکی از این ابزارها وجود داشته باشد:
Xdebug Profiler
Blackfire
Tideways
New Relic
PHP Slow Log
Query Monitor همراه با پروفایلینگ سمت سرور
خروجی نهایی مورد انتظار
علت دقیق کندی مشخص شود
زمان تولید بدون کش به شکل محسوس کاهش پیدا کند
علت تأخیر کروسل برطرف شود
تغییرات مستند شوند
قبل و بعد از اصلاح، اعداد قابل اندازهگیری ارائه شود
لطفاً فقط در صورتی پیشنهاد بدهید که سابقه عیبیابی عمیق وردپرس و ووکامرس و PHP Profiling دارید.