آموزش بهینهسازی وردپرس و کاهش مصرف منابع سرور
کندی سایت وردپرسی همیشه به دلیل ضعیف بودن هاست یا سرور نیست. در بسیاری از مواقع، دلیل اصلی کندی سایت، اجرای Query های سنگین در دیتابیس، افزونههای غیرضروری، حجم بالای اطلاعات ذخیرهشده و تنظیمات نامناسب وردپرس است.
در این آموزش روشهایی را بررسی میکنیم که باعث کاهش فشار روی دیتابیس، افزایش سرعت سایت و بهبود عملکرد وردپرس میشوند.
حذف افزونههای غیرضروری
یکی از رایجترین دلایل کندی سایتهای وردپرسی، نصب تعداد زیاد افزونه است.
هر افزونه میتواند:
- جدولهای جدید در دیتابیس ایجاد کند.
- اطلاعات زیادی در دیتابیس ذخیره کند.
- درخواستهای اضافی به سرور ارسال کند.
- باعث افزایش مصرف CPU و RAM شود.
افزونههای غیرضروری را ابتدا غیرفعال و سپس حذف کنید.
بروزرسانی وردپرس، قالب و افزونهها
نسخههای قدیمی وردپرس و افزونهها ممکن است Query های بهینهنشده داشته باشند، مشکلات امنیتی ایجاد کنند و باعث مصرف بیشتر منابع شوند.
همیشه موارد زیر را بروز نگه دارید:
- WordPress Core
- قالب سایت
- افزونهها
- نسخه PHP
قبل از بروزرسانی، حتماً از سایت نسخه پشتیبان تهیه کنید.
پاکسازی دیتابیس وردپرس
با گذشت زمان دیتابیس وردپرس پر از اطلاعات اضافی میشود، مانند Revision های نوشتهها، اطلاعات موقت (Transient)، تنظیمات افزونههای حذفشده، دادههای قدیمی Cache و اطلاعات اضافی متا.
این اطلاعات باعث افزایش حجم دیتابیس و کند شدن Query ها میشوند.
ابزارهای پیشنهادی:
- WP-Optimize
- Advanced Database Cleaner
مواردی که معمولاً قابل پاکسازی هستند:
- Post Revisions
- Expired Transients
- Spam Comments
- Orphan Metadata
- Unused Plugin Data
قبل از پاکسازی، حتماً Backup تهیه کنید.
بررسی حجم Autoload در وردپرس
یکی از مشکلات رایج در سایتهای وردپرسی، بزرگ شدن جدول wp_options است.
وردپرس در بسیاری از درخواستها اطلاعاتی که مقدار autoload = yes دارند را از دیتابیس بارگذاری میکند.
اگر حجم این اطلاعات زیاد شود، در هر بار باز شدن سایت مقدار زیادی داده از دیتابیس خوانده میشود و باعث افزایش زمان پاسخدهی سایت خواهد شد.
بررسی حجم Autoload
از طریق phpMyAdmin یا ابزار مدیریت دیتابیس، Query زیر را اجرا کنید:
SELECT
SUM(LENGTH(option_value))/1024/1024 AS autoload_size_MB
FROM wp_options
WHERE autoload='yes';
نتیجه را بررسی کنید:
- کمتر از 1MB: وضعیت مناسب
- 1 تا 3MB: نیاز به بررسی
- بیشتر از 5MB: احتمال وجود مشکل
پیدا کردن اطلاعات حجیم
برای مشاهده بزرگترین موارد:
SELECT
option_name,
LENGTH(option_value)/1024 AS size_kb
FROM wp_options
WHERE autoload='yes'
ORDER BY size_kb DESC
LIMIT 20;
مواردی که حجم زیادی دارند معمولاً مربوط به Elementor، WooCommerce، افزونههای Cache، افزونههای امنیتی و Page Builder ها هستند.
بهینهسازی Elementor
Elementor یکی از محبوبترین صفحهسازهای وردپرس است، اما در سایتهای بزرگ میتواند حجم زیادی اطلاعات ایجاد کند.
کارهای پیشنهادی:
بازسازی فایلهای CSS
از پنل مدیریت وردپرس مسیر زیر را اجرا کنید:
Elementor
→ Tools
→ Generate CSS & Data
حذف Revision های قدیمی
ویرایشهای متعدد صفحات باعث افزایش حجم دیتابیس میشوند.
با ابزارهای پاکسازی دیتابیس، Revision های قدیمی را حذف کنید.
حذف Template های بلااستفاده
بررسی کنید موارد زیر حذف شوند:
- Template های قدیمی Elementor
- صفحات تستی
- طراحیهای غیر استفاده
استفاده صحیح از Cache
Cache یکی از مهمترین روشهای افزایش سرعت وردپرس است، اما باید به شکل صحیح استفاده شود.
برای سایتهایی که از LiteSpeed استفاده میکنند، پیشنهاد میشود از LiteSpeed Cache استفاده شود.
تنظیمات مهم:
- فعال کردن Page Cache
- فعال کردن Browser Cache
- بهینهسازی CSS و JS
- فعال کردن Object Cache در صورت وجود Redis
فعال کردن Redis Object Cache
Redis یک سیستم Cache مبتنی بر حافظه RAM است که میتواند اطلاعات پرتکرار وردپرس را نگهداری کند.
Redis برای سایتهایی که شرایط زیر را دارند مفید است:
- سایت فروشگاهی
- WooCommerce
- کاربران زیاد
- Elementor سنگین
اما توجه داشته باشید:
Redis جایگزین بهینهسازی دیتابیس نیست.
اگر دیتابیس پر از اطلاعات اضافی یا Query های مشکلدار باشد، ابتدا باید مشکل اصلی رفع شود و سپس از Redis برای بهبود عملکرد استفاده شود.
بررسی Query های کند با Query Monitor
برای پیدا کردن افزونه یا بخشی که باعث کندی سایت شده است، افزونه Query Monitor را نصب کنید.
این افزونه نشان میدهد:
- کدام Query ها بیشترین زمان را مصرف میکنند.
- کدام افزونه درخواستهای زیادی ایجاد میکند.
- کدام Hook یا Function باعث کندی شده است.
بررسی جدول Postmeta
جدول wp_postmeta در سایتهای وردپرسی بزرگ معمولاً رشد زیادی دارد.
دلایل افزایش حجم این جدول:
- Elementor
- WooCommerce
- افزونههای فروشگاهی
- افزونههای صفحهساز
پیشنهاد میشود:
- اطلاعات اضافی حذف شوند.
- Plugin های بلااستفاده حذف شوند.
- Metadata های بدون ارتباط پاکسازی شوند.
تنظیم زمان اجرای عملیات سنگین
برخی عملیاتها مانند:
- Backup
- Scan امنیتی
- Import محصولات
- Sync اطلاعات
باعث اجرای Query های سنگین میشوند.
بهتر است این عملیاتها:
- در ساعات کم بازدید اجرا شوند.
- همزمان با زمان اوج مصرف سایت نباشند.
