8 نصائح وحيل للتعامل مع قاعدة بيانات ووردبريس

تعمل مواقع ووردبريس، كما تعلم، باستخدام محرك MySQL لقواعد البيانات، وبالرغم من التحكم الكبير الذي تمنحه ووردبريس للمستخدم، لا غنى لنا عن التحكم اليدوي بقاعدة البيانات لبعض الأغراض.

يطرح كل بند في هذه المجموعة مشكلة ويعرض حلاً مناسباً لها. نأمل أن تجدوا فيها الفائدة المرجوة.

8 نصائح وحيل للتعامل مع قاعدة بيانات ووردبريس

ملاحظة: يجب أن يكون لديك صلاحيات مناسبة للدخول إلى قاعدة البيانات باستخدم phpMyAdmin أو أداة مشابهة.

1. النسخ الاحتياطي لقاعدة البيانات

المشكلة: مع أن بقية النصائح المذكورة في هذه المقالة مجربة، من المستسحن جداً ألا تقوم بتنفيذ أي منها إلا بعد أخذ نسخة احتياطية لقاعدة بيانات مدونتك.

الحل: قاعدة بيانات ووردبريس، شأنها شأن أي قاعدة بيانات تعمل ضمن بيئة MySQL، يمكن تصديرها باستخدام phpMyAdmin أو أي أداة مشابهة باتباع الخطوات التالية:

  1. الدخول إلى phpMyAdmin.
  2. اختيار قاعدة البيانات المطلوبة.
  3. ضغط زر التصدير (Export) ضمن القائمة العلوية.
  4. تحديد خيارات التصدير كنوع الضغط والحفظ كملف، ثم ضغط زر التنفيذ (Excute).
  5. حفظ الملف الناتج في مكان آمن.

شرح إضافي: إن أي موقع ووردبريس يحترم نفسه، غالباً يحتوي إضافة تقوم بالنسخ الاحتياطي المجدول لقاعدة البيانات والملفات، ومن ذلك إضافتا WP-DB-Backup و BackWPup.

2. حذف المراجعات

المشكلة: ميزة المراجعات في ووردبريس موجودة منذ الإصدار 2.6، وهي ميزة مفيدة جداً، لكنها قد تستهلك مساحة الاستضافة في المواقع الكبيرة. بالطبع يمكنك حذف المراجعات بشكل فردي، لكن ذلك يأخذ كثيراً من الوقت.

الحل: تنفيذ سطر SQL بسيط كما يلي:

  1. الدخول إلى phpMyAdmin واختيار قاعدة البيانات.
  2. الضغط على زر SQL وإدخال السطر التالي:
    DELETE FROM wp_posts WHERE post_type = "revision";
    
  3. هذه هي! تم حذف جميع المراجعات. في المواقع الكبيرة قد تجد أن حجم قاعدة البيانات قد تراجع إلى النصف، وهذا رائع!

شرح إضافي: يتم حفظ المواضيع ومراجعاتها ضمن جدول wp_posts، ويدلنا حقل post_type إلى نوع السجل والذي في حالتنا يجب أن يكون مراجعة (revision)، وكل ما علينا هو أن نبحث عن هذا النوع ونقوم بحذفه.

3. حذف أكثر من ألف تعليق مزعج

المشكلة: التعليقات المزعجة ليست أمراً جديداً علينا، لكن بين الحين والآخر تصل لمدونة ما تعليقات مزعجة بشكل وبائي، ومن لديه الوقت لمراجعتها وحذفها كلها؟

الحل: قد تكون متفانياً لدرجة تجعلك تبدأ بمراجعة تلك التعليقات، لكن عندما تجد أن ذلك أكثر مما تطيقه سيفيدك هذا الحل:

  1. الدخول إلى phpMyAdmin واختيار قاعدة البيانات.
  2. الضغط على زر SQL وإدخال السطر التالي:
    DELETE from wp_comments WHERE comment_approved = '0';
    
  3. نبارك لك قاعدة بيانات خالية من التعليقات المزعجة!

شرح إضافي: تدرج التعليقات ضمن جدول wp_comments الذي يحوي حقل comment_approved للدلالة على حالة الموافقة على التعليق (0: مرفوض / 1: مقبول) ومن هنا نحذف كل التعليقات المرفوضة، أو بالأحرى التي لم تتم الموافقة عليها بعد.

انتبه! باتباع هذه الطريقة قد تضحي ببعض التعليقات الفعلية من زوار موقعك، لذا من الأفضل أن تتبع إجراءاً وقائياً منذ البداية باستخدام إضافات مثل Akismet أو Antispam Bee.

4. نقل المواضيع من كاتب إلى آخر

المشكلة: بعض المدونين الجدد يرتكبون خطأ استخدام الحساب الافتراضي (admin) لكتابة بعض المواضيع، ثم يدركون أن ذلك ليس شخصياً بالمرة ويشعرون بحاجة لتعديل الكاتب بشكل يعكس شخصية الموقع والكاتب بشكل أفضل.

الحل: يمكن تعديل الكاتب بشكل يدوي لكل مقالة على حدة، لكن ذلك يتطلب وقتاً يمكنك اختصاره بتنفيذ ما يلي:

  1. الدخول إلى phpMyAdmin واختيار قاعدة البيانات.
  2. نستعرض المستخدمين الموجودين في جدول wp_users بتنفيذ الاستعلام التالي:
    SELECT ID, display_name FROM wp_users;
    
  3. ليكن معرف (ID) للمستخدم الجديد NEW_AUTHOR_ID ونريد أن نستبدله بمعرف المستخدم القديم OLD_AUTHOR_ID
  4. ننفذ سطر SQL التالي:
    UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;
    
  5. وبهذ يتم نقل المواضيع إلى المستخدم الجديد.

5. تغيير كلمة المرور يدوياً

المشكلة: من منا لم يمر بموقف ضياع كلمة المرور؟

الحل: تؤمن ووردبريس إمكانية تصفير كلمة المرور عبر إرسال رابط للحساب البريدي للمستخدم، لكن إن لم تتمكن من الوصول لهذا الرابط لسبب ما (كأن يكون الحساب مسجلاً لأحد زبائنك وهو غير متوفر لتمرير الرابط إليك)، يمكن تغيير كلمة المرور يدوياً بتنفيذ ما يلي:

  1. الدخول إلى phpMyAdmin واختيار قاعدة البيانات.
  2. الضغط على زر SQL وإدخال السطر التالي:
    UPDATE `wp_users` SET `user_pass` = MD5('PASSWORD') WHERE `wp_users`.`user_login` ='admin' LIMIT 1;
    
  3. تم تغيير كلمة المرور بنجاح!

شرح إضافي: تخزّن كلمات مرور ووردبريس في جدول المستخدمين wp_users وتشفر باستخدام خوارزمية MD5، لاحظ أن كلمة المرور الجديدة هي كلمة (PASSWORD) ضمن استدعاء تابع ()MD5، ولاحظ أننا حددنا المستخدم المطلوب بإدراج اسمه (admin).

6. تغيير اسم النطاق

المشكلة: مع أنه من غير المستحسن تغيير اسم النطاق لمدونة ووردبريس، لكنك قد تحتاج لذلك في مرحلة ما، وبما أن اسم النطاق يسجل في قاعدة البيانات ويستخدم لعمل الموقع بشكل صحيح، فعليك أن تعدله في أماكن وجوده.

الحل: لتعديل اسم النطاق بشكل صحيح عليك تنفيذ الخطوات التالية:

  1. الدخول إلى phpMyAdmin واختيار قاعدة البيانات.
  2. الضغط على زر SQL وإدخال السطر التالي لتعديل اسم النطاق ضمن جدول الإعدادات:
    UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsite.com', 'http://www.newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
    
  3. ثم نعدل حقل المسار (guid) ضمن جدول المواضيع (wp_posts) باستخدام السطر التالي:
    UPDATE wp_posts SET guid = replace(guid, 'http://www.oldsite.com','http://www.newsite.com');
    
  4. ثم نقوم بتصحيح أي روابط موجود ضمن محتوى المواضيع:
    UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldsite.com', 'http://www.newsite.com');
    
  5. بعد هذا يجب أن تكون قادراً على تصفح الموقع ودخول إدارته بشكل طبيعي.

شرح إضافي: جميع أوامر SQL تستخدم تابع replace لتبديل الاسم الجديد بالقديم.

7. معرفة عدد استعلامات SQL التي يتم تنفيذها

المشكلة: يعتبر تقليل عدد الاستعلامات على قاعدة البيانات من أهم النقاط عندما تحاول تحسين أداء موقعك، ولتقليلها عليك أولاً أن تعرف عددها.

الحل:

  1. هذه المرة لن ندخل إلى phpMyAdmin، بل سنقوم بتعديل الشيفرة البرمجية لملف footer.php ضمن القالب المستخدم.
  2. افتح ملف footer.php وأضف الأسطر التالية:
    <?php if (is_user_logged_in()) { ?>
        <?php echo get_num_queries(); ?> queries in <?php timer_stop(1); ?> seconds.
    <?php } ?>
    
  3. قم بزيارة صفحات مدونتك للاطلاع على عدد الاستعلامات وزمن التنفيذ في أسفل الصفحة.

شرح إضافي: يبدو أن العديد من المستخدمين لا يعلمون بوجود تابع get_num_queries الذي يرد عدد الاستعلامات.

لاحظ أن النتيجة لن تظهر إلا للمستخدمين المسجلين. إن كنت ترغب بظهورها للعموم أزل الشرط المحيط بعرض النتائج.

8. استعادة قاعدة البيانات

المشكلة: في حال ظهر سبب لعدم عمل موقعك كالاختراق أو مشكلة في التحديث مما أدى لعطب في قاعدة البيانات، أرجو أن تكون قد احتفظت بنسخة احتياطية عن قاعدة البيانات لكي تقوم باستعادتها.

الحل: الاستيراد مشابه للتصدير، نقوم به كما يلي:

  1. الدخول إلى phpMyAdmin.
  2. اختيار قاعدة البيانات المطلوبة.
  3. ضغط زر الاستيراد (Import) ضمن القائمة العلوية.
  4. اضغط زر Browse واختر ملف قاعدة البيانات المطلوب.
  5. ضغط زر التنفيذ (Excute).
  6. في حال سار كل شيئ على ما يرام، يجب أن يعود موقعك للعمل بشكل طبيعي.

المصدر

مترجم بتصرف عن هذه المقالة على سماشينغ ماجازين.

محمود الدعاس

من مواليد دمشق. ابتدأ بعد التخرج كمبرمج ويب عام 2005 مع شركة إيميا، انتقل بعدها إلى شركة تكنوليد للأتمتة المتكاملة ومنها إلى شقيقتها أتمتة للحلول المتقدمة كمصمم غرافيك ومصمم ومطور ويب. أسس مع مجموعة من زملاء الدراسة موقع HOMELESS-PRO.com لنشر قصص مصورة باللغة العربية للشباب، و Guestra كوكالة تصميم وتطوير.

مواضيع الكاتبموقع الكاتب

لمتابعة الكاتب:
TwitterFacebookPinterest

2 thoughts on “8 نصائح وحيل للتعامل مع قاعدة بيانات ووردبريس

  1. السلام عليكم اخي الكريم
    ان خبير بالورد برس بطريقة كبيرة ولكن لدي مشكلة بعد تركيب اضافة وورد برس سوبر كاش تم تقليل حجم تحميل البيانات في داخل التدوينة إلى 28 وهو رقم جيد نوعا” ما
    اما في الصفحة الرئيسية الأندكس فهي 182 انكوير ولا اعلم بصراحة ما السبب لذلك
    اعلم ان الاضافة ممكن انها تعمل لود عالي ولكن الرئيسية بشكل قطعي مرتبطة مع باقي عناصر الموقع .

    • وعليكم السلام
      بصراحة لم أفهم المشكلة تماماً، ما هي الأرقام المذكورة (عدد ملفات محملة، عدد استعلامات قاعدة بيانات، مؤشر من نوع آخر…)؟
      لكن بشكل عام، من الطبيعي أن تجد فرقاً ملحوظاً بين الصفحة الرئيسية والصفحات الداخلية.
      أنا لست خبيراً تماماً بأمور الكاش، لكن إن أردت يمكنك مراسلتي على info@guestra.net وسأرى ما يمكنني فعله لمساعدتك.

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *