وردپرسسرعت سایتسئوCore Web Vitals

سریع‌کردن وردپرس؛ راهنمای عملی از هاست تا تصویر و افزونه

ترتیب درست بهینه‌سازی وردپرس برای LCP، INP و CLS: اندازه‌گیری، هاست و PHP، کش، تصویر، افزونه‌ها، دیتابیس و CDN، با چک‌لیست قابل اجرا.

nsin••5 دقیقه مطالعه

سایت وردپرسی کند معمولاً یک مقصر ندارد؛ چند مشکل کوچک روی هم جمع شده‌اند: هاست ضعیف، قالب سنگین، بیست افزونه، تصویرهای بزرگ و بدون کش. خبر خوب این است که ترتیب مشخصی دارد که بیشترین اثر را با کمترین ریسک می‌دهد. اگر می‌خواهید سرعت در سرچ کنسول هم بهتر شود، اول 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 را قبل و بعد مقایسه کنید.