سرعت سایت فقط یک عدد در ابزارهای سنجش نیست؛ کاربری که چند ثانیه منتظر بماند، معمولاً صفحه را میبندد و خریدی انجام نمیدهد. گوگل هم سرعت و تجربهی کاربری را در رتبهبندی لحاظ میکند. خبر خوب این است که بیشتر سایتهای وردپرسی با چند تغییر ساده، بهطور محسوسی سریعتر میشوند. در تیم تَکایکس، این ده گام را به همین ترتیب در پروژهها اجرا میکنیم.
۱. ابتدا اندازه بگیرید
پیش از هر تغییری، وضعیت فعلی را ثبت کنید تا بعداً بدانید کدام اقدام واقعاً اثر داشته است. صفحهی اصلی و یکی دو صفحهی مهم (مثلاً یک صفحهی محصول) را در PageSpeed Insights بسنجید و سه شاخص Core Web Vitals را یادداشت کنید:
- LCP: زمان نمایش بزرگترین بخش صفحه (هدف: کمتر از ۲٫۵ ثانیه)
- INP: سرعت واکنش صفحه به کلیک و تایپ (هدف: کمتر از ۲۰۰ میلیثانیه)
- CLS: میزان جابهجایی ناگهانی محتوا (هدف: کمتر از ۰٫۱)
همیشه نتیجهی موبایل را ملاک قرار دهید؛ بیشتر بازدیدکنندگان از تلفن همراه میآیند و سنجش موبایل سختگیرانهتر است.
۲. هاست و نسخهی PHP
هیچ افزونهای جای هاست ضعیف را پر نمیکند. اگر زمان پاسخ اولیهی سرور (TTFB) بیش از یک ثانیه است، مشکل از هاست یا کدهای سنگین سمت سرور است. از پنل هاست، نسخهی PHP را روی جدیدترین نسخهای قرار دهید که قالب و افزونههایتان از آن پشتیبانی میکنند (PHP 8.1 به بالا)؛ همین تغییر معمولاً بدون هیچ هزینهای سرعت را افزایش میدهد. برای انتخاب درست هاست، راهنمای انتخاب هاست وردپرس را بخوانید.
۳. کش صفحه
وردپرس برای هر بازدید، صفحه را از ابتدا با PHP و پایگاه داده میسازد. کش صفحه، نسخهی آمادهی صفحه را نگه میدارد و همان را تحویل میدهد. اگر وبسرور هاست شما LiteSpeed است، افزونهی مخصوص همین وبسرور بهترین انتخاب است؛ در غیر این صورت یک افزونهی کش معتبر کافی است. فقط یک افزونهی کش نصب کنید؛ چند افزونهی کش با یکدیگر تداخل دارند. صفحههای سبد خرید، تسویهحساب و حساب کاربری ووکامرس را هم از کش مستثنا کنید.
۴. بهینهسازی تصاویر
تصاویر معمولاً بیشترین حجم صفحه را تشکیل میدهند:
- تصویر را پیش از بارگذاری به اندازهی واقعی نمایش برش دهید؛ تصویر ۴۰۰۰ پیکسلی برای کادر ۸۰۰ پیکسلی لازم نیست.
- از فرمت WebP استفاده کنید؛ با کیفیت مشابه، حجم آن بهمراتب کمتر از JPG است.
- بارگذاری تنبل (Lazy Load) را برای تصاویر پایین صفحه فعال نگه دارید، اما تصویر بالای صفحه را از آن مستثنا کنید تا LCP بدتر نشود.
- برای همهی تصاویر عرض و ارتفاع مشخص کنید تا صفحه هنگام بارگذاری جابهجا نشود.
۵. افزونهها؛ کیفیت مهمتر از تعداد
تعداد افزونهها بهتنهایی معیار نیست؛ کیفیت افزونه اهمیت دارد. یک افزونهی سنگین ممکن است از ده افزونهی سبک کندتر باشد. افزونههایی را که استفاده نمیکنید حذف کنید (نه فقط غیرفعال) و برای کارهای ساده، مثل افزودن یک قطعه کد کوچک، افزونهی جداگانه نصب نکنید. به همین دلیل، در طراحی محصولاتی مثل چتچی فایلها فقط در صفحههایی بارگذاری میشوند که واقعاً به آنها نیاز است.
۶. پایگاه داده
بهمرور زمان، نسخههای قدیمی نوشتهها، دیدگاههای هرزنامه و دادههای موقت منقضیشده در پایگاه داده انباشته میشوند. با یک افزونهی بهینهسازی پایگاه داده آنها را پاک کنید و تعداد نسخههای ذخیرهشده را در wp-config.php محدود کنید:
define( 'WP_POST_REVISIONS', 5 );
۷. اسکریپتها و فونتها
جاوااسکریپتهای غیرضروری را با defer بارگذاری کنید و CSS بلااستفاده را کاهش دهید. فونت فارسی را از سرور خودتان بارگذاری کنید، فقط وزنهای مورد نیاز را نگه دارید و font-display: swap را تنظیم کنید تا متن پیش از رسیدن فونت نمایش داده شود. بارگذاری فونت از سرویسهای خارجی، علاوه بر کندی، در شرایط محدودیت اینترنت هم مشکلساز است؛ در مقالهی وردپرس در شرایط اینترنت ملی به این موضوع پرداختهایم.
۸. CDN
اگر بازدیدکنندگان شما از شهرها یا کشورهای مختلف هستند، CDN فایلهای ثابت (تصویر، CSS و JS) را از نزدیکترین سرور به کاربر تحویل میدهد. برای مخاطب داخل ایران، از CDN داخلی استفاده کنید تا مسیر انتقال داده طولانی نشود.
۹. Heartbeat و کارهای پسزمینه
API Heartbeat وردپرس در پیشخوان، هر چند ثانیه یک درخواست به سرور ارسال میکند. در هاستهای اشتراکی، افزایش فاصلهی این درخواستها یا غیرفعال کردن آن در صفحههایی که لازم نیست، فشار روی سرور را کاهش میدهد. در صورت امکان، کرون وردپرس را هم به کرون واقعی سرور منتقل کنید.
۱۰. جمعبندی
پس از هر تغییر، همان صفحهها را دوباره بسنجید و با اعداد گام اول مقایسه کنید. معمولاً سه گام هاست و PHP، کش و تصاویر بیشترین اثر را دارند؛ اگر زمان محدودی دارید، از همین سه گام شروع کنید. اگر ترجیح میدهید این کار را به متخصص بسپارید، خدمات بهینهسازی سرعت تَکایکس شامل سنجش، اجرا و گزارش قبل و بعد است.