موقعك يرتدي حقيبة ظهر مليئة بالحجارة! في كل مرة يتم فيها تحميل أي صفحة على موقعك — ولأي زائر — يقوم ووردبريس بقراءة جميع بيانات "التحميل التلقائي" (Autoloaded Options) من قاعدة البيانات. عندما يتجاوز حجم هذه البيانات 1.2 ميجابايت، فإنها تبدأ في سحب أداء الموقع للأسفل بشكل ملحوظ.
لماذا يمثل هذا الأمر مشكلة؟
يخزن ووردبريس الإعدادات في جدول يسمى wp_options مع خاصية تسمى autoload. الخيارات التي تحمل قيمة yes يتم تحميلها في ذاكرة الخادم عند كل طلب لزيارة أي صفحة، سواء كانت تلك الصفحة تحتاج لهذه الإعدادات أم لا.
أشهر المذنبين في تضخيم هذه البيانات:
- البيانات المؤقتة (Transients): وهي ملفات كاش مؤقتة لبعض الإضافات التي فشلت في تنظيف نفسها.
- إعدادات الإضافات الضخمة: بعض الإضافات تخزن مصفوفات بيانات عملاقة في هذا الجدول.
- بقايا الإضافات المحذوفة: عند حذف إضافة، غالباً ما تترك إعداداتها خلفها في قاعدة البيانات "للأبد".
- بيانات الودجات (Widgets): التي تتراكم مع مرور السنوات وتغيير القوالب.
كيف تشخص المشكلة؟
استخدم استعلام SQL التالي (عبر phpMyAdmin) لمعرفة أثقل 20 خياراً يتم تحميلهم تلقائياً في موقعك:
SELECT option_name, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC
LIMIT 20;يمكنك تنفيذ هذا الاستعلام من خلال:
- phpMyAdmin: الموجود في لوحة تحكم استضافتك (CPanel أو غيرها).
- إضافات التنظيف: مثل WP-Optimize أو Advanced Database Cleaner.
خطوات الحل
الخطوة 1: تحديد الخيارات التي يمكن حذفها بأمان
راجع نتائج الاستعلام السابق. إليك بعض الأنماط التي غالباً ما يكون حذفها آمناً:
| نمط اسم الخيار | المصدر | هل الحذف آمن؟ |
|---|---|---|
_transient_* |
بيانات كاش مؤقتة منتهية الصلاحية. | نعم تماماً. |
_site_transient_* |
بيانات مؤقتة خاصة بالشبكة. | نعم. |
| خيارات لإضافات قمت بحذفها سابقاً | بقايا برمجية قديمة. | نعم (تأكد من اسم الإضافة أولاً). |
theme_mods_* (لقالب قديم) |
إعدادات لقوالب لم تعد تستخدمها. | نعم في أغلب الأحيان. |
الخطوة 2: تنظيف البيانات المؤقتة (Transients)
هذه هي الخطوة الأكثر أماناً. استخدم WP-CLI لحذف البيانات المؤقتة المنتهية:
wp transient delete --expiredأو استخدم خيار "Clean Transients" في إضافة WP-Optimize.
الخطوة 3: تعطيل التحميل التلقائي للخيارات الضخمة
إذا وجدت خياراً ضخماً تابعاً لإضافة نشطة (لا يمكنك حذفه)، يمكنك تغيير حالته ليعمل فقط عند الحاجة إليه بدلاً من تحميله في كل صفحة:
UPDATE wp_options SET autoload = 'no' WHERE option_name = 'اسم_الخيار_الثقيل';تنبيه: بعض الإضافات قد تتوقف عن العمل إذا عطلت تحميل إعداداتها تلقائياً. اختبر الموقع جيداً بعد هذه الخطوة.
الخطوة 4: التخلص من نفايات الإضافات القديمة
إذا كانت النتائج الأولى تظهر خيارات لإضافات لم تعد موجودة في موقعك، احذفها نهائياً:
DELETE FROM wp_options WHERE option_name LIKE '%اسم_الإضافة_القديمة_%';ملاحظات هامة
- النسخ الاحتياطي أولاً: لا تقم أبداً بتشغيل استعلامات
DELETEأوUPDATEدون أخذ نسخة احتياطية من قاعدة البيانات. - الحجم المثالي: الحجم الصحي لبيانات الـ Autoload يجب أن يكون أقل من 800 كيلوبايت. إذا كان أقل من 500 كيلوبايت، فهذا ممتاز.
- مواقع المتجر الإلكتروني (WooCommerce): بطبيعتها تحتاج لحجم Autoload أكبر قليلاً، لذا لا تتسرع بحذف خيارات تبدأ بكلمة
wc_أوwoocommerce_. - اجعل من تنظيف قاعدة البيانات عادة ربع سنوية لضمان بقاء موقعك سريعاً وخفيفاً.