علت کند شدن سایت وردپرسی مهم است چون فقط تجربه کاربران را تحت تاثیر قرار نمیدهد، بلکه میتواند نرخ تبدیل، فروش و عملکرد سایت در نتایج جستجو را هم کاهش دهد. گاهی علت مشکل یک افزونه سنگین است، گاهی تصاویر بهینه نشدهاند و در بعضی موارد، محدودیت منابع سرور یا تنظیمات نادرست PHP باعث افزایش زمان بارگذاری میشود.
برای رفع این مشکل، بهتر است به جای نصب چند افزونه افزایش سرعت، ابتدا علت کندی را شناسایی کنید. در این مقاله از سایت افزون، ۱۲ علت رایج کند شدن سایت وردپرسی را بررسی میکنیم و برای هر مورد، راهکارهای عملی ارائه میدهیم.
چطور بفهمیم سایت وردپرسی کند شده است؟
پیش از تغییر تنظیمات سایت یا سرور، وضعیت عملکرد سایت را اندازهگیری کنید. گاهی مشکل فقط در یک صفحه خاص دیده میشود و گاهی تمام صفحات، از جمله پیشخوان وردپرس، با تاخیر باز میشوند. این تفاوت میتواند سرنخ مهمی برای پیدا کردن علت اصلی باشد.
- کندی در تمام صفحات: ممکن است به منابع سرور، پایگاه داده، افزونهها یا تنظیمات کش مربوط باشد.
- کندی فقط در صفحات خاص: تصاویر حجیم، اسکریپتهای اضافی یا کوئریهای سنگین همان صفحات را بررسی کنید.
- کندی پیشخوان وردپرس: افزونهها، وظایف زمانبندیشده، درخواستهای پایگاه داده و منابع PHP را بررسی کنید.
- کندی فقط در موبایل: حجم تصاویر، فایلهای JavaScript، فونتها و نحوه نمایش محتوای صفحه را ارزیابی کنید.
برای بررسی اولیه میتوانید از ابزارهایی مانند PageSpeed Insights و GTmetrix استفاده کنید. بهتر است چند صفحه مهم، از جمله صفحه اصلی، یک صفحه خدمات و یک نوشته وبلاگ را آزمایش کنید تا نتیجه محدود به یک صفحه نباشد.
۱۲ علت رایج کند شدن سایت وردپرسی و راهحل آنها
۱. تصاویر حجیم و بهینه نشده
تصاویر بزرگ یکی از علتهای رایج افزایش زمان بارگذاری صفحات هستند. ممکن است تصویر با ابعاد چند هزار پیکسل در صفحهای نمایش داده شود که به چنین ابعادی نیاز ندارد. استفاده از فایلهای حجیم، به ویژه در بخش ابتدایی صفحه، میتواند زمان نمایش محتوای اصلی را افزایش دهد.
راهکارهای عملی:
- ابعاد تصاویر را متناسب با اندازه نمایش آنها انتخاب کنید.
- در صورت مناسب بودن، تصاویر را به WebP یا AVIF تبدیل کنید.
- برای تصاویر پایین صفحه از بارگذاری تنبل یا Lazy Loading استفاده کنید.
- تصویر اصلی بالای صفحه را به شکلی بهینه بارگذاری کنید و آن را بدون بررسی به Lazy Loading نسپارید.
- برای تصاویر مهم، ابعاد مشخص تعیین کنید تا چیدمان صفحه هنگام بارگذاری تغییر نکند.
۲. استفاده از افزونههای زیاد یا سنگین
تعداد افزونهها به تنهایی معیار کندی سایت نیست. یک افزونه غیربهینه میتواند بیشتر از چند افزونه سبک روی عملکرد سایت تاثیر بگذارد. افزونههایی که درخواستهای خارجی متعدد ایجاد میکنند، فایلهای CSS و JavaScript را در همه صفحات بارگذاری میکنند یا کوئریهای سنگین اجرا میکنند، باید با دقت بررسی شوند.
راهکارهای عملی:
- افزونههای بدون استفاده را پس از بررسی وابستگیها حذف کنید.
- از نصب چند افزونه با قابلیتهای تکراری خودداری کنید.
- در یک محیط آزمایشی، افزونهها را به صورت مرحلهای غیرفعال کنید و عملکرد را بسنجید.
- در صورت امکان، زمان اجرای کدها و درخواستهای هر افزونه را بررسی کنید.
افزونهها را مستقیم روی سایت فروشگاهی یا پرترافیک غیرفعال نکنید، مگر اینکه از تاثیر آن بر پرداخت، فرمها و سایر قابلیتهای مهم مطمئن باشید. ابتدا از سایت بکاپ تهیه کنید و تغییرات حساس را در محیط آزمایشی انجام دهید.
۳. قالب سنگین و کدهای اضافی
قالب وردپرس میتواند فایلهای متعدد، انیمیشنها، فونتها و کتابخانههای JavaScript را بارگذاری کند. اگر این منابع در تمام صفحات اجرا شوند، حتی صفحهای ساده هم ممکن است دیرتر از حد انتظار نمایش داده شود.
برای رفع مشکل، قابلیتهای غیرضروری قالب را غیرفعال کنید، از بارگذاری منابع فقط در صفحات موردنیاز اطمینان بگیرید و قالب را در محیط آزمایشی با یک قالب سبک مقایسه کنید. پیش از تغییر قالب سایت اصلی، سازگاری آن با صفحهساز، فروشگاه و افزونههای مهم را بررسی کنید.
۴. تنظیم نبودن کش سایت
کش (Cache) نسخهای آماده از خروجی صفحات یا منابع سایت نگه میدارد تا در درخواستهای بعدی، پردازش کمتری لازم باشد. اگر کش صفحه فعال نباشد یا به درستی کار نکند، وردپرس ممکن است برای درخواستهای تکراری دوباره PHP و پایگاه داده را درگیر کند.
مواردی که باید بررسی کنید:
- فعال بودن کش صفحه و صحت قوانین آن
- تنظیمات کش مرورگر برای فایلهای ثابت
- هماهنگی افزونه کش با وبسرور و زیرساخت میزبانی
- پاک شدن کش پس از انتشار تغییرات مهم
- مستثنا بودن صفحات حساس مانند سبد خرید، تسویه حساب و بخشهای شخصی کاربران از کش نامناسب
فعال کردن چند سیستم کش به صورت همزمان و بدون تنظیم درست میتواند مشکلاتی مانند نمایش محتوای قدیمی یا اختلال در ورود کاربران ایجاد کند. تنظیمات را بر اساس ساختار واقعی سرور و سایت انجام دهید.
۵. استفاده نکردن از Object Cache
کش صفحه همه مشکلات عملکرد را برطرف نمیکند. در سایتهایی که درخواستهای پویا و کوئریهای تکراری زیادی دارند، آبجکت کش میتواند نتیجه برخی عملیات پایگاه داده را برای استفاده مجدد نگه دارد. این قابلیت در پیشخوان، سایتهای فروشگاهی و پروژههای بزرگ ممکن است مفید باشد.
برای استفاده از Object Cache باید سازگاری برنامه، افزونه کش و زیرساخت سرور بررسی شود. راهاندازی Redis یا Memcached بدون ارزیابی منابع و تنظیمات میتواند به جای بهبود عملکرد، پیچیدگی و مصرف منابع را افزایش دهد. ابتدا مشخص کنید گلوگاه سایت واقعا به عملیات تکراری پایگاه داده مربوط است یا خیر.
۶. کندی پایگاه داده وردپرس
وردپرس برای نمایش محتوا، اطلاعات کاربران، تنظیمات، محصولات و سفارشها به پایگاه داده متکی است. افزایش حجم دادهها به تنهایی به معنی کندی نیست، اما کوئریهای غیربهینه، جدولهای بزرگ با ساختار نامناسب، دادههای موقت انباشتهشده و افزونههایی که درخواستهای سنگین اجرا میکنند میتوانند زمان پاسخ را افزایش دهند.
راهکارهای عملی:
- کوئریهای کند را در صورت دسترسی به ابزارهای مناسب شناسایی کنید.
- دادههای موقت منقضیشده و گزینههای غیرضروری را با ابزارهای معتبر و پس از تهیه بکاپ بررسی کنید.
- از اجرای پاکسازیهای تهاجمی و حذف مستقیم رکوردهای پایگاه داده خودداری کنید.
- ایندکسها و ساختار جدولها را در صورت مشاهده شواهد فنی بررسی کنید.
- افزونههایی را که تعداد زیادی درخواست پایگاه داده ایجاد میکنند، شناسایی کنید.
۷. محدودیت منابع سرور یا هاست
اگر پردازنده، حافظه RAM، ورودی و خروجی دیسک یا تعداد پردازشهای PHP به محدودیت برسد، سایت ممکن است کند شود یا با خطاهای موقت روبهرو شود. این وضعیت در زمان افزایش ترافیک، اجرای بکاپ، عملیات سنگین فروشگاه یا وظایف زمانبندیشده بیشتر دیده میشود.
در سرور لینوکس میتوانید بررسی اولیه را با این دستورات انجام دهید:
uptime
free -h
top
df -hخروجی این دستورات اطلاعاتی درباره بار سیستم، حافظه، پردازشها و فضای دیسک میدهد. برای تشخیص دقیقتر باید وضعیت را در زمان بروز کندی بررسی کنید. یک خروجی عادی در زمانی که سایت سریع است، مشکل مقطعی در ساعات پرترافیک را رد نمیکند.
اگر به سرور دسترسی ندارید، از پشتیبانی میزبانی بخواهید وضعیت مصرف CPU، حافظه، محدودیت پردازشهای همزمان، I/O و خطاهای سرویس را در زمان کندی بررسی کند.
۸. نسخه یا تنظیمات نامناسب PHP
نسخه PHP و تنظیمات اجرای آن بر عملکرد وردپرس تاثیر دارند. نسخه قدیمی ممکن است از نظر عملکرد و امنیت مناسب نباشد، اما ارتقای PHP بدون بررسی سازگاری افزونهها و قالب میتواند باعث بروز خطا شود.
در محیط سرور میتوانید نسخه PHP خط فرمان را بررسی کنید:
php -vتوجه کنید نسخه PHP خط فرمان لزوما با نسخه مورد استفاده وبسایت یکسان نیست. نسخه فعال سایت را از تنظیمات هاست یا پیکربندی PHP-FPM بررسی کنید. سپس سازگاری قالب و افزونهها، میزان حافظه مجاز و تنظیمات پردازش درخواستها را ارزیابی کنید.
۹. بارگذاری بیش از حد فایلهای CSS و JavaScript
فایلهای استایل و اسکریپت اضافی میتوانند دانلود و پردازش صفحه را طولانی کنند. بعضی منابع، نمایش محتوای اصلی را به تاخیر میاندازند و بعضی دیگر پس از نمایش صفحه، باعث کندی تعامل کاربر میشوند.
برای بهبود وضعیت، فایلهای غیرضروری را حذف کنید، منابع را فقط در صفحات لازم بارگذاری کنید و از قابلیتهای بهینهسازی فایلها با دقت استفاده کنید. کوچکسازی فایلها یا Minification همیشه به تنهایی کافی نیست و ترکیب فایلها در همه زیرساختها نتیجه یکسانی ندارد.
در ابزارهای توسعه مرورگر، بخش Network را بررسی کنید تا مشخص شود کدام فایلها حجم زیادی دارند، دیر پاسخ میگیرند یا تعداد درخواستها را افزایش میدهند. پس از هر تغییر، ظاهر سایت، منوها، فرمها و فرایند خرید را آزمایش کنید.
۱۰. فونتها و منابع خارجی سنگین
فونتهای متعدد، سرویسهای آماری، ابزارهای گفتگو، ویدئوهای جاسازیشده و اسکریپتهای تبلیغاتی ممکن است درخواستهای خارجی ایجاد کنند. اگر پاسخ این منابع کند باشد، بخشی از صفحه دیرتر بارگذاری میشود یا تجربه کاربر تحت تاثیر قرار میگیرد.
فونتهای غیرضروری را حذف کنید، تعداد وزنهای فونت را کاهش دهید و در صورت مناسب بودن مجوز استفاده، فونتها را از زیرساخت خود سایت ارائه دهید. بارگذاری اسکریپتهای غیرضروری را به تعویق بیندازید و منابع خارجی را با ابزار Network بررسی کنید.
۱۱. تنظیم نبودن Cron و وظایف پسزمینه
وردپرس و افزونههای آن از وظایف زمانبندیشده برای انتشار نوشتهها، بررسی بهروزرسانیها، ارسال ایمیل، پاکسازی دادهها و پردازش سفارشها استفاده میکنند. اگر یک وظیفه بیش از حد سنگین باشد یا بارها اجرا شود، میتواند مصرف منابع را افزایش دهد.
وظایف زمانبندیشده را با ابزارهای معتبر بررسی کنید و به دنبال کارهای ناموفق، تکراری یا طولانی باشید. پیش از تغییر سازوکار WP-Cron یا انتقال آن به Cron سیستمعامل، مطمئن شوید وظایف ضروری سایت از دست نمیروند و تنظیم جدید به درستی اجرا میشود.
۱۲. مشکلات شبکه، DNS یا تنظیمات وبسرور
همه مشکلات سرعت از داخل وردپرس ایجاد نمیشوند. تاخیر شبکه، پاسخدهی نامناسب DNS، تنظیمات وبسرور، گواهی TLS، ارتباط با سرویسهای خارجی یا مشکلات مسیر ارتباطی میتوانند زمان بارگذاری را افزایش دهند.
اگر دسترسی مدیریتی دارید، زمان پاسخ سرور و لاگهای وبسرور را در زمان بروز مشکل بررسی کنید. مقایسه زمان پاسخ از چند شبکه و دستگاه مختلف کمک میکند مشخص شود مشکل به یک اتصال خاص محدود است یا از زیرساخت سایت ناشی میشود.
اگر کندی با خطاهای 500 یا 503 همراه است، فقط به بهینهسازی تصاویر و فایلها اکتفا نکنید. لاگهای PHP و وبسرور، وضعیت منابع و خطاهای سرویس باید بررسی شوند.
چطور سرعت سایت وردپرسی را به صورت اصولی بهبود دهیم؟
برای رسیدن به نتیجه قابل اندازهگیری، تغییرات را مرحلهای انجام دهید و پس از هر مرحله دوباره سایت را آزمایش کنید. این روش کمک میکند تاثیر هر تغییر مشخص باشد و در صورت ایجاد مشکل بتوانید عامل آن را پیدا کنید.
- ابتدا از صفحه اصلی و چند صفحه مهم اندازهگیری اولیه بگیرید.
- مشخص کنید زمان صرفشده بیشتر مربوط به پاسخ سرور است یا بارگذاری منابع صفحه.
- تصاویر، فونتها و فایلهای حجیم را بهینه کنید.
- وضعیت کش صفحه و کش مرورگر را بررسی کنید.
- افزونهها و قالب را از نظر منابع و درخواستهای اضافی ارزیابی کنید.
- اگر زمان پاسخ سرور بالاست، منابع PHP، پایگاه داده و زیرساخت میزبانی را بررسی کنید.
- پس از تغییرات، صفحات مهم، فرمها، ورود کاربران و خرید را آزمایش کنید.
چه زمانی باید مشکل را در سطح سرور بررسی کرد؟
اگر با وجود بهینه بودن تصاویر و فایلهای صفحه، سایت همچنان دیر پاسخ میدهد، بررسی سرور اهمیت بیشتری پیدا میکند. مصرف بالای CPU یا RAM، صف پردازشهای PHP، کوئریهای کند پایگاه داده، محدودیتهای میزبانی و خطاهای وبسرور از مواردی هستند که باید بررسی شوند.
همچنین اگر سایت به شکل مقطعی کند میشود یا در ساعات مشخصی با خطا مواجه است، زمان وقوع مشکل و لاگهای همان بازه را ثبت کنید. این اطلاعات برای تشخیص علت، بسیار مفیدتر از نصب چند افزونه بهینهسازی بدون بررسی فنی هستند.
جمعبندی
کند شدن سایت وردپرسی میتواند به تصاویر حجیم، افزونهها، قالب، کش، پایگاه داده، تنظیمات PHP، منابع سرور یا مشکلات شبکه مربوط باشد. برای رفع پایدار مشکل، ابتدا وضعیت را اندازهگیری کنید، سپس بر اساس شواهد فنی تغییرات را مرحلهای انجام دهید.
اگر سایت علاوه بر کندی با خطاهای سرور روبهرو شده است، مقاله خطای 500 وردپرس و روشهای رفع آن را هم مطالعه کنید. برای بررسی اختلال موقت در دسترس بودن سایت، مقاله رفع خطای 503 وردپرس میتواند به عیبیابی کمک کند. پیش از انتشار، آدرس نهایی هر دو نوشته را در پیشخوان بررسی کنید تا لینکها به صفحه درست هدایت شوند.
در سایت افزون، هدف از بهینهسازی فقط گرفتن امتیاز بالاتر در ابزارهای تست نیست، بلکه باید تجربه واقعی کاربران، پایداری سایت و عملکرد صفحات مهم بهبود پیدا کند. با تشخیص درست گلوگاه و انتخاب راهکار متناسب، میتوان سرعت سایت را به شکل اصولی افزایش داد.


