جدول `wp_options` وسرعة الموقع (WP_options table and site speed)
عندما يعمل موقع ووردبريس ببطء، غالباً ما يتم التغاضي عن جدول wp_options. يخزن هذا الجدول بيانات الموقع الرئيسية، مثل الروابط الدائمة، وإعدادات الموقع، والمنشورات المجدولة، وتفاصيل الأدوات (widgets).
إذا كنت قد جربت بالفعل الخطوات الأكثر شيوعاً لـ استكشاف أخطاء موقع وووكامرس البطيء وإصلاحها، فإن مراجعة جدول wp_options ستكون الخطوة التالية الجيدة.
تقريباً كل صفحة — سواء في الواجهة الأمامية أو في لوحة تحكم المشرف — تشغل الاستعلام التالي:
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'
إذا لم يتم تحسين هذا الاستعلام، فقد يؤدي إلى إبطاء موقعك.
ملاحظة: يهدف هذا المستند إلى أن يكون دليلاً مفيداً لاستكشاف الأخطاء وإصلاحها المتقدمة؛ ومع ذلك، فإن الإجراءات الموضحة تقع خارج نطاق سياسة الدعم الخاصة بنا ولا يمكننا تقديم مساعدة مباشرة في تنفيذها.
إذا كنت ترغب في طلب المساعدة من مطور ووردبريس/وووكامرس مؤهل، فإننا نوصي بشدة بالاستعانة بـ Codeable أو شريك وكالة وووك.
ما هو wp_options؟ (What is wp_options?)
يخزن جدول wp_options في ووردبريس الإعدادات الأساسية وبيانات الموقع، مثل:
- روابط الموقع (Site URLs)
- الإضافات والملحقات النشطة
- إعدادات الأدوات (Widget settings)
- المعلومات المخزنة مؤقتاً
تستخدم العديد من الملحقات والإضافات والقوالب wp_options لحفظ إعداداتها، مما يجعله جزءاً أساسياً من عمليات ووردبريس.
ما هو autoload؟ (What is autoload?)
في ووردبريس، يعد autoload إعداداً في جدول wp_options يتحكم فيما إذا كانت بيانات محددة يتم تحميلها تلقائياً في كل صفحة.
عندما يتم تعيين autoload لخيار ما على yes، يسترد ووردبريس هذه البيانات في كل مرة يتم فيها تحميل الصفحة، مما يساعد على تسريع الوصول إلى الإعدادات المستخدمة بشكل متكرر. ومع ذلك، إذا تم تمكين autoload للكثير من الخيارات، فقد يؤدي ذلك إلى إبطاء الموقع عن طريق تحميل بيانات غير ضرورية.
لماذا يواجه wp_options صعوبة في التوسع؟ (Why wp_options struggles with scaling)
يعاني جدول wp_options من صعوبة في التوسع لأنه غير مصمم للتعامل مع كميات كبيرة من البيانات. مع تراكم المزيد من السجلات، خاصة من الملحقات، أو الإضافات، أو القوالب، يمكن أن يتحمل عبئاً زائدا.
يلعب إعداد autoload دوراً كبيراً في هذا. عندما يتم تعيين autoload على yes، يقوم ووردبريس بتحميل هذه البيانات في كل صفحة، مما قد يؤدي إلى إبطاء الموقع إذا كانت هناك بيانات كثيرة جداً مميزة للتحميل التلقائي. هذا التحميل المستمر للبيانات المفرطة يزيد من أوقات تحميل الصفحة، مما يجعل من الصعب على الموقع التوسع بكفاءة.
يحسن فهرس قاعدة البيانات (database index) سرعة استرداد البيانات في جداول مثل wp_posts. وهو يعمل مثل فهرس الكتاب، مما يُمكّن قاعدة البيانات من العثور بسرعة على معلومات محددة دون البحث في كل سجل. بالنسبة لجداول wp_posts، تتيح الفهارس الموجودة على حقول مثل post_date أو post_type لووردبريس تحديد وت تحميل المنشورات ذات الصلة فقط بكفاءة أكبر. بدون هذه الفهارس، يجب على قاعدة البيانات فحص كل سجل على حدة، مما قد يؤدي إلى إبطاء تحميل الصفحة، خاصة مع نمو حجم الجدول.
لا يحتوي جدول wp_options على فهرس في حقل autoload افتراضياً، نظراً لأن wp_options كان مخصصاً في الأصل لتخزين عدد محدود فقط من الإعدادات. ومع ذلك، مع نمو المواقع وتخزين المزيد من الإضافات أو القوالب للبيانات في wp_options، يمكن أن يؤدي نقص الفهرس على autoload إلى إبطاء الاستعلامات، مما يؤثر على أداء الموقع.
كيف يمكن للتخزين المؤقت للكائن (object caching) المساعدة في أداء الموقع
يمكن أن يساعد التخزين المؤقت للكائن في تحسين أداء الموقع عن طريق تقليل الحاجة لتحميل البيانات من جدول wp_options في كل صفحة. عندما يتم تمكين التخزين المؤقت للكائن، يقوم ووردبريس بتخزين بيانات wp_options المستخدمة بشكل متكرر في الذاكرة بدلاً من استردادها من قاعدة البيانات في كل مرة. هذا يقلل عبء قاعدة البيانات ويسرع أوقات تحميل الصفحة.
لإعداد التخزين المؤقت للكائن، يمكنك استخدام أداة تخزين مؤقت خارجية مثل Redis أو Memcached وتثبيت إضافة تخزين مؤقت لووردبريس تدعم الأداة التي اخترتها. بعد التثبيت، قم بتكوين أداة التخزين المؤقت للعمل مع ووردبريس، غالباً عن طريق إضافة إعدادات في ملف wp-config.php الخاص بالموقع أو باستخدام إعدادات الإضافة. يتيح هذا الإعداد لووردبريس التخزين المؤقت واسترداد بيانات wp_options تلقائياً من الذاكرة، مما يحسن سرعة الموقع العامة.
تواصل مع مزود الاستضافة الخاص بك للحصول على إرشادات حول إعداد التخزين المؤقت على موقعك إذا لم تكن معتاداً على كيفية القيام بذلك. سيعرفون بيئة خادم موقعك وسيتمكنون من تقديم التوصيات الأكثر تخصيصاً.
توصيات لإدارة جدول wp_options
لمنع مشاكل الأداء الناتجة عن جدول wp_options، اتبع هذه التوصيات:
- مراقبة حجم الجدول (Monitor table size): تحقق بانتظام من حجم
wp_optionsللتأكد من أنه لا ينمو بشكل كبير جداً، ويفضل أن يكون أقل من 500 صف. كميات كبيرة من البيانات المخزنة يمكن أن تبطئ الاستعلامات. - استخدام التخزين المناسب (Use proper storage): تخزين البيانات الخاصة بالملحق أو الإضافة أو القالب في جداول أكثر ملاءمة، مثل
wp_postmetaللمعلومات الخاصة بالمنشور، بدلاً منwp_options. - إزالة البيانات غير المستخدمة (Remove unused data): حذف الخيارات القديمة أو غير المستخدمة من
wp_options، خاصة بعد إلغاء تثبيت الملحقات، أو الإضافات، أو القوالب، للحفاظ على نحافة الجدول.
الأسئلة والدعم (Questions and support)
هل لا تزال لديك أسئلة وتحتاج إلى مساعدة؟
- تواصل (Get in touch) مع مهندس سعادة (Happiness Engineer) عبر مكتب المساعدة (Help Desk). نقدم دعماً للإضافات التي تطورها و/أو تُباع على WooCommerce.com، وعملاء Jetpack/WordPress.com.
- إذا لم تكن عميلاً، فنحن نوصي بالبحث عن المساعدة في منتدى دعم وووكامرس أو توظيف شريك وكالة وووك. هذه وكالات موثوقة ذات سجل حافل في بناء متاجر إلكترونية قابلة للتوسع وعالية التخصيص. تعرف على المزيد حول شركاء وكالة وووك.