مجله ابرین‌هاستوردپرسافزایش سرعت وردپرس؛ چطور دلیل کندی سایت را پیدا و برطرف کنیم؟
وردپرس

افزایش سرعت وردپرس؛ چطور دلیل کندی سایت را پیدا و برطرف کنیم؟

کندی یک سایت وردپرسی می‌تواند از سرور و PHP باشد، اما تصاویر حجیم، افزونه‌ها، دیتابیس، JavaScript، فونت‌ها یا حتی یک API خارجی کند هم می‌توانند عامل آن باشند.

۵ دقیقه مطالعه ۰ دیدگاه ۳۱ بازدید ۶ مهر ۱۴۰۵
افزایش سرعت وردپرس؛ چطور دلیل کندی سایت را پیدا و برطرف کنیم؟

برای افزایش سرعت وردپرس، قبل از نصب افزونه کش یا ارتقای هاست باید مشخص کنیم گلوگاه واقعی سایت کجاست.

کندی یک سایت وردپرسی می‌تواند از سرور و PHP باشد، اما تصاویر حجیم، افزونه‌ها، دیتابیس، JavaScript، فونت‌ها یا حتی یک API خارجی کند هم می‌توانند عامل آن باشند.

بنابراین به‌جای اینکه مجموعه‌ای از «ترفندهای افزایش سرعت وردپرس» را یکی‌یکی اجرا کنیم، بهتر است مسیر منطقی‌تری داشته باشیم:

اندازه‌گیری ← پیدا کردن گلوگاه ← اصلاح مشکل ← اندازه‌گیری دوباره

در این راهنما دقیقاً همین مسیر را طی می‌کنیم.

قبل از هر کاری، مشخص کنید سایت دقیقاً کجا کند است

دو سایت ممکن است هر دو از نظر کاربر «کند» باشند، اما دلیل کندی آن‌ها کاملاً متفاوت باشد.

قبل از هر تغییری، وضعیت سایت خود را با جدول زیر مقایسه کنید:

نشانه

بخش‌هایی که باید بررسی شوند

صفحه دیر شروع به نمایش می‌کند

TTFB، سرور، PHP، دیتابیس

صفحه سریع شروع می‌شود ولی دیر کامل می‌شود

تصاویر، CSS، JavaScript، فونت‌ها

فقط پیشخوان وردپرس کند است

افزونه‌ها، دیتابیس، WP-Cron، APIهای خارجی

Cart یا Checkout کند است

PHP، دیتابیس، Object Cache، PHP Workers

سایت فقط در ساعات شلوغ کند می‌شود

CPU، RAM، Disk I/O، PHP Workers

فقط بعضی صفحات کند هستند

افزونه، Query دیتابیس یا پردازش همان صفحه

همین مرحله ساده جلوی بسیاری از تغییرات بی‌فایده را می‌گیرد.

اگر مشکل Front-end باشد، دو برابر کردن RAM سرور الزاماً کمکی نمی‌کند. برعکس، اگر PHP یا دیتابیس گلوگاه باشد، کم کردن حجم چند تصویر هم مشکل اصلی را حل نخواهد کرد.

سرعت وردپرس را چطور اندازه‌گیری کنیم؟

یکی از اشتباهات رایج این است که فقط عدد PageSpeed را ببینیم و بر اساس آن درباره عملکرد کل سایت تصمیم بگیریم.

ابزارهایی مثل PageSpeed Insights بسیار مفیدند، اما باید بدانیم هر معیار چه چیزی را اندازه‌گیری می‌کند.

سه معیار اصلی Core Web Vitals عبارت‌اند از:

  • LCP: سرعت نمایش محتوای اصلی صفحه؛ مقدار خوب حداکثر ۲.۵ ثانیه است.

  • INP: سرعت واکنش صفحه به تعامل کاربر؛ مقدار خوب حداکثر ۲۰۰ میلی‌ثانیه است.

  • CLS: میزان جابه‌جایی ناگهانی عناصر صفحه؛ مقدار خوب حداکثر ۰.۱ است.

این معیارها برای ارزیابی تجربه واقعی کاربران کاربرد دارند، اما برای عیب‌یابی وردپرس یک معیار دیگر هم بسیار مهم است: TTFB.

TTFB چیست؟

TTFB یا Time to First Byte مدت زمانی است که از شروع درخواست تا دریافت اولین بایت پاسخ طول می‌کشد.

اگر کاربر آدرس سایت را باز کند و مرورگر برای مدت قابل توجهی هیچ پاسخی دریافت نکند، TTFB یکی از اولین چیزهایی است که باید بررسی شود.

به‌عنوان یک راهنمای تقریبی، TTFB حدود ۰.۸ ثانیه یا کمتر وضعیت خوبی محسوب می‌شود. مقادیر بالاتر از حدود ۱.۸ ثانیه معمولاً نیازمند بررسی بیشتری هستند.

TTFB فقط به قدرت هاست بستگی ندارد. مواردی مثل:

  • DNS

  • اتصال شبکه

  • TLS

  • Redirect

  • اجرای PHP

  • Queryهای دیتابیس

  • Cache

  • APIهای خارجی

همگی می‌توانند روی آن اثر بگذارند.

TTFB بالا یعنی باید Backend را بررسی کنیم؛ نه اینکه فوراً نتیجه بگیریم هاست ضعیف است.

اگر TTFB وردپرس بالاست چه چیزهایی را بررسی کنیم؟

اگر سایت مدت زیادی منتظر می‌ماند تا صفحه شروع به نمایش کند، معمولاً بهتر است بررسی را از سمت Backend آغاز کنیم.

PHP را بررسی کنید

وردپرس بر پایه PHP اجرا می‌شود.

استفاده از یک نسخه پشتیبانی‌شده و سازگار PHP اهمیت زیادی دارد، اما صرفاً تغییر نسخه PHP کافی نیست.

مواردی مثل تنظیمات PHP-FPM، تعداد Processها، OPcache و عملکرد خود Application هم باید در کنار نسخه PHP بررسی شوند.

قبل از هر ارتقا نیز سازگاری قالب و افزونه‌های سایت را بررسی کنید.

OPcache فعال است؟

هر بار که یک فایل PHP اجرا می‌شود، PHP باید کد آن را پردازش کند.

OPcache کد کامپایل‌شده PHP را در حافظه نگه می‌دارد تا در هر Request نیازی به پردازش مجدد تمام فایل‌ها نباشد.

برای یک سایت وردپرسی Production، فعال بودن OPcache یکی از بررسی‌های پایه Performance است.

اما OPcache راه‌حل جادویی نیست. اگر یک افزونه Query بسیار سنگینی اجرا کند، OPcache Query دیتابیس آن را اصلاح نمی‌کند.

PHP Workers؛ گلوگاهی که اغلب نادیده گرفته می‌شود

یکی از اشتباهات رایج این است که عملکرد هاست را فقط با CPU و RAM بسنجیم.

در سایت‌های Dynamic، تعداد درخواست‌هایی که PHP می‌تواند همزمان پردازش کند هم اهمیت دارد.

فرض کنید تمام PHP Workerهای موجود مشغول باشند. درخواست بعدی باید منتظر آزاد شدن Worker بماند.

این مسئله در سایت‌هایی مثل موارد زیر بیشتر دیده می‌شود:

  • فروشگاه‌های WooCommerce

  • پنل‌های کاربری

  • APIهای WordPress

  • سایت‌های Membership

  • صفحات Dynamic

  • سایت‌های دارای کاربران همزمان زیاد

در چنین شرایطی ممکن است مقدار RAM سرور مناسب باشد، اما ظرفیت پردازش همزمان PHP تبدیل به گلوگاه شده باشد.

مصرف CPU را درست تفسیر کنید

بالا بودن CPU به‌تنهایی تشخیص نیست؛ یک نشانه است.

ممکن است عامل اصلی یکی از این موارد باشد:

  • Plugin سنگین

  • WP-Cron

  • Query دیتابیس

  • Bot یا Crawler

  • حمله

  • Backup

  • پردازش Background

  • درخواست‌های واقعی کاربران

بنابراین راه‌حل همیشه «CPU بیشتری بخریم» نیست. اول Process یا Request مشکل‌دار را پیدا کنید.

RAM بالا همیشه به معنی مشکل نیست

در Linux استفاده زیاد از RAM الزاماً اتفاق بدی نیست.

سیستم‌عامل از حافظه آزاد برای Cache استفاده می‌کند و ممکن است مقدار کمی از حافظه کاملاً Free باشد، بدون اینکه سایت کمبود RAM داشته باشد.

نشانه‌های مهم‌تر عبارت‌اند از:

  • Swap مداوم

  • Out of Memory

  • Kill شدن Processها

  • افت Performance همزمان با فشار حافظه

پس صرف دیدن «۸۰٪ RAM مصرف شده» دلیل کافی برای ارتقای سرور نیست.

Disk I/O را فراموش نکنید

در تبلیغات سرویس‌های میزبانی معمولاً CPU و RAM بیشتر دیده می‌شوند، اما سرعت Storage هم می‌تواند روی عملکرد سایت اثر بگذارد.

وردپرس دائماً با موارد زیر سروکار دارد:

  • فایل‌ها

  • Cache

  • Logs

  • Database

در WooCommerce و سایت‌های پرترافیک، فشار Storage می‌تواند بیشتر باشد.

استفاده از Storage سریع مثل NVMe مزیت محسوب می‌شود، اما باز هم باید با اندازه‌گیری مشخص شود که Disk واقعاً گلوگاه سیستم است.

دیتابیس وردپرس چه زمانی باعث کندی سایت می‌شود؟

بخش بزرگی از اطلاعات WordPress داخل دیتابیس ذخیره می‌شود.

با رشد سایت، جدول‌هایی مثل این‌ها بزرگ‌تر می‌شوند:

  • Posts

  • Post Meta

  • Options

  • Users

  • WooCommerce Orders

  • Transients

اما بزرگ بودن دیتابیس به‌تنهایی به معنی کند بودن آن نیست.

ممکن است یک دیتابیس چند گیگابایتی با Queryهای مناسب عملکرد خوبی داشته باشد و یک دیتابیس بسیار کوچک به دلیل Query یا Index نامناسب کند باشد.

Autoloaded Options چیست و چرا مهم است؟

WordPress بعضی تنظیمات Plugins و Themes را به‌صورت Autoload ذخیره می‌کند؛ یعنی این اطلاعات در هر Page Load بارگذاری می‌شوند.

اگر افزونه‌های متعدد مقدار زیادی اطلاعات Autoload ایجاد کنند، حجم قابل توجهی از داده می‌تواند در هر Request بارگذاری شود.

این موضوع مخصوصاً در سایت‌هایی که عمر زیادی دارند، بارها Plugin نصب و حذف کرده‌اند یا WooCommerce دارند ارزش بررسی بیشتری دارد.

پاک کردن کورکورانه اطلاعات جدول wp_options هم کار درستی نیست؛ ابتدا باید مشخص شود هر Option متعلق به کدام Plugin یا سرویس است.

Redis و Object Cache چه کمکی به وردپرس می‌کنند؟

وردپرس در طول ساخت یک صفحه ممکن است بارها اطلاعات مشابهی را از دیتابیس درخواست کند.

Object Cache اجازه می‌دهد نتایج برخی از این عملیات در حافظه نگه داشته شوند تا مراجعه‌های تکراری به دیتابیس کاهش پیدا کند.

Redis یکی از راهکارهای رایج برای پیاده‌سازی Persistent Object Cache است.

Redis به‌خصوص می‌تواند در سایت‌های Dynamic مفید باشد؛ مانند:

  • WooCommerce

  • Membership

  • سایت‌های پرترافیک

  • پنل‌های کاربری

  • Applicationهایی با تعداد زیاد Database Query

اما Redis مشکل Front-end را حل نمی‌کند.

اگر صفحه شما چند مگابایت تصویر یا JavaScript غیرضروری دارد، Redis حجم دانلود کاربر را کاهش نمی‌دهد.

آیا زیاد بودن افزونه‌ها وردپرس را کند می‌کند؟

تعداد Plugins معیار دقیقی برای Performance نیست.

ممکن است سایتی با ۳۰ افزونه سبک سریع باشد و سایتی با ۱۰ افزونه عملکرد ضعیفی داشته باشد.

سؤال درست این نیست که «چند افزونه نصب کرده‌اید؟» بلکه باید پرسید:

هر افزونه در هر Request چه کاری انجام می‌دهد؟

یک افزونه ممکن است:

  • تعداد زیادی Query اجرا کند

  • به API خارجی متصل شود

  • JavaScript سنگینی اضافه کند

  • Cron Job ایجاد کند

  • Background Process اجرا کند

  • روی تمام صفحات کدی اجرا کند که فقط در یک صفحه لازم است

بنابراین حذف تصادفی افزونه‌ها روش خوبی برای عیب‌یابی نیست. باید Plugin مشکل‌دار را پیدا کرد.

Cache چه تأثیری روی افزایش سرعت وردپرس دارد؟

«کش» یک مفهوم واحد نیست. چند نوع Cache مختلف وجود دارد که هرکدام مشکل متفاوتی را حل می‌کنند.

Page Cache

در این روش خروجی HTML آماده صفحه ذخیره می‌شود.

در Request بعدی لازم نیست WordPress و PHP و Database دوباره تمام صفحه را از ابتدا بسازند.

برای صفحات عمومی سایت، Page Cache می‌تواند تأثیر بسیار زیادی داشته باشد.

Browser Cache

فایل‌هایی مثل موارد زیر می‌توانند روی مرورگر کاربر ذخیره شوند:

  • تصاویر

  • CSS

  • JavaScript

  • Fonts

در بازدیدهای بعدی نیازی نیست تمام این فایل‌ها دوباره دانلود شوند.

Object Cache

Object Cache بیشتر سمت Backend قرار می‌گیرد و می‌تواند نتایج Queryها و Objectهای پرکاربرد را نگه دارد.

Redis معمولاً در این بخش استفاده می‌شود.

Page Cache، Browser Cache و Object Cache هر سه Cache هستند، اما یک کار را انجام نمی‌دهند.

تصاویر؛ یکی از رایج‌ترین دلایل کندی سایت

گاهی Backend سایت کاملاً سریع است، اما صفحه اصلی چند تصویر بسیار حجیم دارد.

در این شرایط ارتقای VPS احتمالاً تأثیر زیادی روی تجربه کاربر نمی‌گذارد.

برای تصاویر حداقل این موارد را بررسی کنید:

  • ابعاد واقعی تصویر

  • حجم فایل

  • فرمت فایل

  • Responsive Images

  • Lazy Loading

  • کیفیت فشرده‌سازی

فرمت‌هایی مثل WebP و AVIF در بسیاری از شرایط می‌توانند حجم تصاویر را کاهش دهند.

اما Lazy Loading را هم نباید کورکورانه روی همه تصاویر اعمال کرد.

اگر تصویر Hero همان عنصر اصلی بالای صفحه و LCP باشد، دیر شروع شدن دانلود آن می‌تواند نتیجه معکوس داشته باشد.

CSS و JavaScript چگونه سرعت سایت را کاهش می‌دهند؟

ممکن است TTFB سایت عالی باشد ولی کاربر همچنان احساس کند صفحه دیر باز می‌شود.

اینجا معمولاً باید سمت Front-end را بررسی کنیم.

مواردی مثل:

  • Page Builder

  • Slider

  • Analytics

  • Tag Manager

  • Chat Widget

  • Ads

  • Third-party Script

  • Fonts

  • Plugins فرانت‌اند

می‌توانند کار زیادی به مرورگر تحمیل کنند.

هدف فقط Minify کردن همه فایل‌ها نیست. باید مشخص شود چه کدی واقعاً برای نمایش اولیه صفحه لازم است.

چرا پیشخوان وردپرس کند می‌شود؟

گاهی Front-end سایت سریع است اما wp-admin بسیار کند عمل می‌کند.

صفحات عمومی سایت معمولاً Page Cache دارند، ولی Dashboard ماهیت Dynamic دارد.

در چنین شرایطی این موارد را بررسی کنید:

  • افزونه‌ها

  • Database Queries

  • WP-Cron

  • WordPress Heartbeat

  • APIهای خارجی

  • WooCommerce

  • PHP Workers

مثلاً ممکن است یک Plugin در Dashboard برای دریافت اطلاعات به API شرکت سازنده متصل شود.

اگر آن API چند ثانیه دیر پاسخ دهد، پیشخوان کند می‌شود؛ حتی اگر CPU سرور تقریباً Idle باشد.

WP-Cron چه زمانی مشکل ایجاد می‌کند؟

WordPress برای اجرای کارهای زمان‌بندی‌شده از WP-Cron استفاده می‌کند.

Pluginها ممکن است برای کارهایی مثل این‌ها Task زمان‌بندی‌شده ایجاد کنند:

  • ارسال ایمیل

  • Synchronization

  • Backup

  • Cleanup

  • Import

  • Processing

اگر سایت در فواصل مشخص و بدون دلیل واضح کند می‌شود، Scheduled Events یکی از چیزهایی است که ارزش بررسی دارد.

WooCommerce چرا داستان متفاوتی دارد؟

یک فروشگاه اینترنتی را نمی‌توان دقیقاً مثل یک وبلاگ Cache کرد.

صفحاتی مثل:

  • Cart

  • Checkout

  • My Account

اطلاعات مخصوص هر کاربر دارند.

به همین دلیل این صفحات معمولاً نباید مانند یک مقاله عمومی Full Page Cache شوند.

اینجاست که مواردی مثل:

  • PHP Workers

  • Database

  • Object Cache

  • Redis

  • Queryهای Product

  • Product Meta

  • Pluginهای فروشگاهی

اهمیت بیشتری پیدا می‌کنند.

چطور بفهمیم مشکل واقعاً از هاست است؟

قبل از انتقال سایت یا خرید سرور گران‌تر، باید شواهد داشته باشیم.

نشانه‌هایی که می‌توانند به محدودیت زیرساخت اشاره کنند عبارت‌اند از:

  • TTFB سمت Backend به‌طور مداوم بالاست

  • CPU در ساعات شلوغ دائماً اشباع می‌شود

  • Swap مداوم اتفاق می‌افتد

  • Disk I/O به محدودیت می‌رسد

  • PHP Workerها مرتب اشباع می‌شوند

  • خطاهای 502 یا 504 زیر بار ایجاد می‌شوند

  • با افزایش کاربران همزمان Response Time شدیداً بالا می‌رود

  • همان Application روی یک محیط مناسب‌تر عملکرد بسیار بهتری دارد

اگر چند مورد از این علائم را دارید، بررسی یا ارتقای زیرساخت منطقی است.

اگر هنوز با سرور مجازی آشنا نیستید، راهنمای

VPS چیست؟

ابرین هاست می‌تواند نقطه شروع خوبی باشد.

چه زمانی ارتقای هاست هیچ کمکی نمی‌کند؟

سرور قوی‌تر همیشه معادل سایت سریع‌تر نیست.

فرض کنید صفحه شما شامل موارد زیر است:

  • تصویر Hero با حجم چند مگابایت

  • چند مگابایت JavaScript

  • Third-party Script کند

  • Fontهای متعدد

  • Plugin خراب

  • Query غیربهینه

اگر مشکل اصلی مرورگر کاربر باشد، دو برابر کردن RAM سرور معجزه نمی‌کند.

همین‌طور اگر یک Plugin در هر Request به یک API خارجی کند متصل شود، اضافه کردن CPU بیشتر زمان پاسخ آن API را کاهش نمی‌دهد.

آیا Application منابع بیشتری نیاز دارد، یا خود Application نیاز به اصلاح دارد؟

این سؤالی است که قبل از ارتقای سرویس باید جواب داده شود.

چک‌لیست افزایش سرعت وردپرس

  • Core Web Vitals را بررسی کنید.

  • TTFB را اندازه‌گیری کنید.

  • مشخص کنید مشکل Backend است یا Front-end.

  • نسخه و تنظیمات PHP را بررسی کنید.

  • وضعیت OPcache را بررسی کنید.

  • CPU و RAM را زیر Load واقعی بررسی کنید.

  • Swap و Disk I/O را کنترل کنید.

  • PHP Workers را بررسی کنید.

  • Queryهای کند دیتابیس را پیدا کنید.

  • حجم Autoloaded Options را بررسی کنید.

  • Pluginهای سنگین را شناسایی کنید.

  • Page Cache را تنظیم کنید.

  • در صورت نیاز Object Cache و Redis را بررسی کنید.

  • تصاویر را بهینه کنید.

  • CSS و JavaScript غیرضروری را کاهش دهید.

  • WP-Cron و Scheduled Events را بررسی کنید.

  • در WooCommerce، Cart و Checkout را جداگانه تست کنید.

  • بعد از هر تغییر دوباره اندازه‌گیری کنید.

سوالات متداول درباره افزایش سرعت وردپرس

آیا نصب افزونه Cache برای افزایش سرعت وردپرس کافی است؟

نه همیشه. Page Cache می‌تواند تأثیر زیادی روی صفحات عمومی داشته باشد، اما اگر گلوگاه اصلی سایت دیتابیس، PHP Workers، تصاویر، JavaScript یا API خارجی باشد، Cache به‌تنهایی مشکل را حل نمی‌کند.

TTFB مناسب برای وردپرس چقدر است؟

عدد واحدی برای همه سایت‌ها وجود ندارد، اما مقدار حدود ۰.۸ ثانیه یا کمتر معمولاً هدف مناسبی محسوب می‌شود. TTFB همچنین فقط به Hosting بستگی ندارد.

آیا Redis سرعت همه سایت‌های وردپرسی را افزایش می‌دهد؟

خیر. Redis برای Persistent Object Cache و کاهش مراجعه‌های تکراری به دیتابیس مفید است و معمولاً در سایت‌های Dynamic مثل WooCommerce اهمیت بیشتری پیدا می‌کند.

اما Redis تصاویر حجیم، CSS غیرضروری یا JavaScript سنگین را اصلاح نمی‌کند.

آیا VPS همیشه وردپرس را سریع‌تر می‌کند؟

خیر. اگر هاست فعلی با محدودیت CPU، RAM، I/O یا PHP Workers روبه‌رو باشد، انتقال به VPS می‌تواند مفید باشد.

اما اگر مشکل اصلی سایت از Plugin، Theme، Query، تصاویر یا Front-end باشد، VPS ممکن است فقط مشکل را موقتاً پنهان کند.

چرا پیشخوان وردپرس کند است ولی خود سایت سریع است؟

چون صفحات عمومی سایت معمولاً قابلیت Cache بیشتری دارند، در حالی که wp-admin ماهیت Dynamic دارد.

Database Queries، Pluginها، WP-Cron، APIهای خارجی و WooCommerce از دلایل متداول کندی Dashboard هستند.

جمع‌بندی

برای افزایش سرعت وردپرس یک نسخه ثابت وجود ندارد که روی همه سایت‌ها جواب بدهد.

در یک سایت ممکن است فعال کردن Page Cache بیشترین تأثیر را داشته باشد؛ در سایت دیگر یک Query دیتابیس گلوگاه باشد و در یک فروشگاه پرترافیک، ظرفیت PHP Workers یا Object Cache اهمیت بیشتری پیدا کند.

بنابراین بهترین مسیر این است:

اندازه‌گیری ← تشخیص گلوگاه ← اصلاح ← اندازه‌گیری دوباره

نه اینکه ابتدا چند افزونه Optimization نصب کنیم یا بدون بررسی، سرویس میزبانی را ارتقا دهیم.

در ابرین هاست هم نگاه ما به Performance همین است: قبل از پیشنهاد منابع بیشتر، باید مشخص شود کندی واقعاً از زیرساخت است یا از خود Application.

اگر مطمئن نیستید مشکل سرعت سایت شما از WordPress است یا زیرساخت، بهتر است قبل از ارتقای سرویس وضعیت منابع و معماری فعلی سایت را بررسی کنید و بعد بر اساس داده واقعی تصمیم بگیرید.

مشاهده سرویس‌های ابرین هاست

تا
تحریریه ابرین‌هاست
نویسنده و تیم محتوا
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نمی‌شود. دیدگاه‌ها پس از بررسی نمایش داده می‌شوند.

دیدگاه‌ها

✦✧
اولین نفری باشید که دیدگاه می‌نویسد
تجربه یا سؤال شما می‌تواند برای دیگران مفید باشد.