سریعکردن وردپرس؛ راهنمای عملی از هاست تا تصویر و افزونه
ترتیب درست بهینهسازی وردپرس برای LCP، INP و CLS: اندازهگیری، هاست و PHP، کش، تصویر، افزونهها، دیتابیس و CDN، با چکلیست قابل اجرا.
سایت وردپرسی کند معمولاً یک مقصر ندارد؛ چند مشکل کوچک روی هم جمع شدهاند: هاست ضعیف، قالب سنگین، بیست افزونه، تصویرهای بزرگ و بدون کش. خبر خوب این است که ترتیب مشخصی دارد که بیشترین اثر را با کمترین ریسک میدهد. اگر میخواهید سرعت در سرچ کنسول هم بهتر شود، اول CrUX و داده میدانی را ببینید و بعد از این ترتیب جلو بروید.
۱. اول اندازه بگیرید
بدون عدد، هر تغییر حدس است.
- در سرچ کنسول، گزارش Core Web Vitals ببینید کدام گروه صفحه و کدام معیار ضعیف است.
- یک صفحه نماینده را در PageSpeed Insights باز کنید و فقط بخش Lighthouse را برای پیدا کردن علت بخوانید.
- TTFB را جدا ببینید. اگر مرتب بالای ۸۰۰ میلیثانیه است، مشکل از سرور و کش است و تصویر بهینهکردن کمک زیادی نمیکند.
- افزونه Query Monitor (فقط روی محیط تست) نشان میدهد کدام افزونه و کدام کوئری وقت میگیرد.
۲. هاست و نسخه PHP
وردپرس روی سرور کند، هرچقدر بهینه شود باز کند است.
- PHP 8.2 یا بالاتر استفاده کنید. نسخههای جدید PHP بهوضوح سریعتر از ۷٫x هستند. قبل از تغییر نسخه، افزونهها را روی محیط تست امتحان کنید.
- OPcache باید روشن باشد.
- اگر هاست اشتراکی است و TTFB حتی با کش بد است، شاید وقت ارتقا باشد: VPS یا هاست مخصوص وردپرس با منابع اختصاصی.
- object cache (Redis یا Memcached) برای سایتهای پربازدید و ووکامرس فرق محسوسی میسازد.
۳. کش صفحه، دو لایه
- افزونه کش (مثل LiteSpeed Cache، WP Super Cache یا W3 Total Cache) HTML آماده روی سرور نگه میدارد تا PHP برای هر بازدید اجرا نشود.
- CDN همان صفحه را از نزدیکترین نقطه به کاربر میدهد. کار این لایه و تنظیمات درست در CDN برای وردپرس آمده است.
یک افزونه کش کافی است؛ چند افزونه کش با هم تداخل میکنند.
۴. تصویرها
بیشتر وزن صفحه تصویر است و معمولاً همان عنصر LCP هم هست.
- تصویر را قبل از آپلود به اندازه واقعی نمایش برسانید؛ عکس ۴۰۰۰ پیکسلی برای ستون ۸۰۰ پیکسلی هدر دادن است.
- WebP یا AVIF بگیرید. وردپرس WebP را پشتیبانی میکند و افزونههایی مثل ShortPixel یا Imagify تبدیل خودکار انجام میدهند.
- lazy-load برای تصاویر پایین صفحه خوب است، ولی تصویر اصلی بالای صفحه (LCP) نباید lazy باشد. به آن
fetchpriority="high"بدهید. بعضی قالبها همه تصاویر را lazy میکنند؛ این را بررسی کنید. - برای هر تصویر ابعاد (width و height) مشخص باشد تا CLS درست شود.
۵. افزونهها و قالب
هر افزونهای که CSS یا JS به فرانت تزریق میکند هزینه دارد.
- فهرست افزونهها را مرور کنید و هرچه واقعاً استفاده نمیشود حذف (نه فقط غیرفعال) کنید.
- افزونههای چندکاره و صفحهساز سنگین (page builder) معمولاً بزرگترین بار JavaScript را میآورند. اگر INP شما بد است، از اینجا شروع کنید: یکییکی غیرفعال کنید و در تب Performance کروم ببینید long task کم میشود یا نه.
- افزونهای که فقط در یک صفحه لازم است (مثلاً فرم تماس) را فقط همان صفحه بارگذاری کنید (با Asset CleanUp یا Perfmatters).
- قالب سبک (مثل GeneratePress، Kadence یا Astra) معمولاً بهتر از قالبهای چندمنظوره سنگین است.
- اسکریپتهای شخص ثالث (چت، تبلیغات، چند ابزار آنالیتیکس) را کم کنید و با
deferیا تأخیر تا اولین تعامل بارگذاری کنید.
۶. فونت، CSS و JavaScript
- فقط woff2 و فقط وزنهایی که استفاده میکنید. فونت اصلی را preload کنید و
font-display: swapبگذارید. - CSS و JS را minify کنید. ترکیب (concatenate) فایلها در HTTP/2 و HTTP/3 دیگر سودی ندارد و گاهی ضرر هم دارد.
- CSS بحرانی (critical) را inline کنید و باقی را با تأخیر بخوانید؛ فقط اگر مطمئن هستید ظاهر صفحه نمیپرد (CLS).
- از Google Fonts مستقیم استفاده نکنید؛ فونت را روی دامنه خودتان نگه دارید تا اتصال اضافه لازم نباشد.
۷. دیتابیس
- نسخههای ویرایش قدیمی (revisions)، پیشنویسهای خودکار، دیدگاههای اسپم و transientهای منقضی را پاک کنید (WP-Optimize یا WP-CLI).
- جدول
wp_optionsرا نگاه کنید؛ اگر بخشautoloadچند مگابایت است، یک افزونه حذفشده هنوز داده میریزد. - قبل از هر پاکسازی پشتیبان بگیرید.
۸. CDN و تنظیمات شبکه
وقتی سمت وردپرس مرتب شد، لایه شبکه سرعت را برای بازدیدکنندههای دور و کند هم یکسان میکند: کش استاتیک و صفحات عمومی، SSL نزدیک کاربر و حفاظت از wp-login.php. اگر بازدیدکننده از خارج ایران هم دارید یا ایرانبهخارج مسیر ناپایدار است، این بخش بیشترین اثر را دارد. مقایسه گزینهها در راهنمای انتخاب CDN آمده.
چکلیست خلاصه
- ۱. TTFB و گزارش CrUX را ثبت کنید (برای مقایسه).
- ۲. PHP را به نسخه جدید ببرید و OPcache را بررسی کنید.
- ۳. یک افزونه کش نصب و تنظیم کنید.
- ۴. CDN را وصل کنید: اول استاتیک، بعد صفحات عمومی؛
/wp-adminو ووکامرس حساس را دور بزنید. - ۵. تصویر اصلی را WebP کنید و lazy-load را از آن بردارید.
- ۶. افزونههای بیمصرف را حذف و اسکریپتهای اضافه را بردارید.
- ۷. فونت را محلی، woff2 و preload کنید.
- ۸. برای همه تصاویر و iframeها ابعاد بگذارید.
- ۹. دیتابیس را پس از پشتیبان پاکسازی کنید.
- ۱۰. ۲۸ روز بعد دوباره گزارش CrUX را مقایسه کنید.
پرسشهای متداول
سریعترین کار برای کاهش TTFB در وردپرس چیست؟
کش صفحه (افزونه + CDN). معمولاً از همه کارهای دیگر سریعتر و کمخطرتر است.
چند افزونه زیاد است؟
عدد جادویی نیست. یک افزونه سنگین میتواند بدتر از ۳۰ افزونه سبک باشد. ملاک هزینه هر افزونه در Query Monitor و تب Performance است.
نمره PageSpeed بالاست ولی سایت کند حس میشود. چرا؟
ممکن است نمره آزمایشگاهی باشد و کاربر واقعی با گوشی ضعیف و شبکه کند تجربه دیگری دارد. داده میدانی را ببینید: CrUX چیست.
ووکامرس چطور؟
همه این کارها لازم است، بهعلاوه object cache و دور زدن کامل سبد خرید و تسویهحساب از کش.
قدم بعدی
اول اندازه بگیرید، بعد از بالای لیست پایین بیایید. وقتی کش هاست آماده بود، دامنه را در پنل nsin اضافه کنید و TTFB را قبل و بعد مقایسه کنید.
