أفضل النصائح للحفاظ على قاعدة بيانات database منظمة ونظيفة لموقع ووردبريس

إن كنت تملك موقعا يعمل على ووردبريس و قد مضى على إستعماله مدة طويلة ،فقد حان الوقت لتقوم بعملية تنظيف شاملة لقاعدة بيانات موقعك، والتي يمكن أن تكون مليئة ببعض الجداول ( tables) الغير ضرورية وتسبب بطأ وتشنجا لموقعك .

أفضل النصائح للحفاظ على قاعدة بيانات database منظمة ونظيفة موقع ووردبريس
أفضل النصائح للحفاظ على قاعدة بيانات database منظمة ونظيفة موقع ووردبريس

يعمل تنظيف قواعد بيانات موقعك بوتيرة منتظمة على خفض حجمها ما يعني صغر حجم ملفات النسخة الاحتياطية وبالتالي سرعة إنشائها واسترجاعها على حد سواء.

سنتطرق في تدوينة اليوم إلى مجموعة من الطرق التي يمكن اتباعها للحفاظ على قاعدة بيانات database نظيفة سواء من خلال استعلامات SQL  بسيطة أو من خلال بعض الملحقات، كما سنعمل على الإشارة إلى بعض النصائح سواء بالنسبة لمواقع ووردبريس المنفردة أو شبكات المواقع.

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

حذف الملحقات الغير مستخدمة

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

لا أعتقد أني الوحيد الذي يقوم بهذا الأمر. عدا ذلك، قد يحدث في بعض الأحيان الأخرى أن تقوم بتنصيب ملحق ما ناسيا أنك تمتلك ملحقا مشابها يقوم بنفس الدور. بغض النظر عن أي هذه الوضعيات تواجه، يعتبر فحص قائمة الملحقات المنصبة على موقعك بشكل دوري لتحدد تلك التي تحتاجها من تلك التي يمكن التخلي عنها أمرا مفيدا للغاية.

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

كيفية تنفيذ تعليمات SQL على قاعدة بيانات موقعك

حتى تقوم بالعديد من الخيارات التي سنتطرق لها، سيكون عليك أن تلج إلى قاعدة بيانات موقعك. إن لم تكن تذكر اسم المستخدم وكلمة المرور الخاصتين بك يمكنك أن تجدهما محفوظتين في ملف wp-config.php.

يبدو الكود الذي يجب عليك أن تبحث عنه كالتالي :

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'your_db');

/** MySQL database username */
define('DB_USER', 'yourusername');

/** MySQL database password */
define('DB_PASSWORD', 'this-is-your-password');

/** MySQL hostname */
define('DB_HOST', 'localhost');

/** Database Charset to use in creating database tables. */
define('DB_CHARSET', 'utf8');

عوض yourusername الواردة في هذا المثال ستجد كلمة المستخدم الخاصة بقاعدة بيانات موقعك وعوضthis-is-your-password ستجد كلمة السر.

بمجرد ولوجك إلى لوحة التحكم phpMyAdmin اضغط على قاعدة البيانات التي تود تنظيفها ثم اضغط على تبويب SQL.

مكنك على هذه الصفحة أن تدخل الاستعلامات التي تريد في الأسفل ثم تقوم بالضغط على زر Go لتشغيلها.

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

بعد تطرقنا لهذه التحضيرات الأولية لنمر الآن إلى تنفيذ بعض الاستعلامات.

حذف مخلفات الملحقات ومعطيات المنشورات

بعد حذف الملحقات التي لا تستخدمها عليك بالتفكير أيضا في حذف البقايا التي تتركها هذه الملحقات، تتواجد هذه العوالق في نفس مكان تواجد معطيات منشوراتك، أي في جدول wp_postmeta. يسمح لك تنفيذ الاستعلام التالي بالتخلص من بعض الفوضى في قاعدة بياناتك، فقط تذكر وضع القيمة التي تود حذفها مكان your-meta-key.

DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

إن كنت تستخدم ووردبريس متعدد المواقع عليك بتنفيذ الاستعلام التالي:

DELETE from wp_#_postmeta WHERE meta_key = 'your-meta-key';

عليك أن تغير في هذا الاستعلام # برقم تعريف (ID) موقعك الذي تود تنظيفه، وكما في الاستعلام السابق، يجب أن تعمل على تعويض your-meta-key بالقيمة التي تود حذفها.

حذف كل تعليقات السبام المزعجة

عرف ووردبريس تواجد تعليقات السبام المزعجة منذ بداياته ولا يبدوا أن لها زوالا في الأمد المنظور، إن كنت تجد كما كبيرا من هذه التعليقات في موقعك، عليك باستخدام هذا الاستعلام الذي سيعمل على حذفها كاملة.

DELETE FROM wp_comments WHERE comment_approved = 'spam';

أما بالنسبة لشبكة مواقع ووردبريس، عليك بتنفيذ الاستعلام التالي:

DELETE FROM wp_#_comments WHERE comment_approved = 'spam';

قم بتغيير # برقم الموقع الذي تود العمل عليه.

تخلص من كل التعليقات التي تنتظر معاينتك لتصنيفها

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

DELETE FROM wp_comments WHERE comment_approved = '0';

بالنسبة لووردبريس متعدد المواقع عليك بتنفيذ الاستعلام التالي:

DELETE FROM wp_#_comments WHERE comment_approved = '0';

لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود تنظيفه.

الوسوم المنسية وغير المستخدمة

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

DELETE FROM wp_terms wt

INNER JOIN wp_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = 'post_tag' AND wtt.count = 0;

أما بالنسبة لشبكة مواقع ووردبريس، عليك بتنفيذ الاستعلام التالي:

DELETE FROM wp_#_terms wt

INNER JOIN wp_#_term_taxonomy wtt ON wt.term_id = wtt.term_id WHERE wtt.taxonomy = 'post_tag' AND wtt.count = 0;

قم بتغيير # برقم الموقع الذي تود العمل عليه.

قل وداعا للتنبيهات الداخلة (Pingbacks)

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

DELETE FROM wp_comments WHERE comment_type = 'pingback';

إن كنت تستخدم شبكة مواقع ووردبريس وتريد حذف التنبيهات الداخلة في موقع آخر غير الموقع الرئيسي استخدم الاستعلام التالي:

DELETE FROM wp_#_comments WHERE comment_type = 'pingback';

لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود تنظيفه.

تخلص من روابط التتبع (Trackbacks)

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

DELETE FROM wp_comments WHERE comment_type = 'trackback';

أما بالنسبة لشبكة مواقع ووردبريس، عليك بتنفيذ الاستعلام التالي، لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود تنظيفه:

DELETE FROM wp_#_comments WHERE comment_type = 'trackback';

قل وداعا لمراجعات المنشورات

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

يرجع الفضل في هذا الكود الذي يسمح بحذف كل المراجعات دون ضياع غير مقصود لأي بيانات للمبرمج Joseph Michael Ambrosio حيث أورده في مقاله: تنظيف مراجعات ووردبريس باستخدام حذف الجداول المتعددة على MySQL

DELETE a,b,c

FROM wp_posts a

LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id)

LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )

LEFT JOIN wp_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id)

WHERE a.post_type = 'revision'

AND d.taxonomy != 'link_category';

أما بالنسبة لشبكة مواقع ووردبريس يمكنك استخدام الكود التالي لحذف المراجعات على أحد المواقع غير الموقع الرئيسي:

DELETE a,b,c

FROM wp_#_posts a

LEFT JOIN wp_#_term_relationships b ON ( a.ID = b.object_id)

LEFT JOIN wp_#_postmeta c ON ( a.ID = c.post_id )

LEFT JOIN wp_#_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id)

WHERE a.post_type = 'revision'

AND d.taxonomy != 'link_category';

لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود تنظيفه.

التخلص من كل الشيفرات المختصرة (Shortcodes)

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

UPDATE wp_post SET post_content = replace(post_content, '[your-shortcode]', '' ) ;

أما بالنسبة لشبكة مواقع ووردبريس، عليك بتنفيذ الاستعلام التالي، لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود حذف الشيفرات المختصرة منه:

UPDATE wp_#_post SET post_content = replace(post_content, '[your-shortcode]', '' );

احذف كل مواضيعك القديمة

قد توجد لديك العديد من المواضيع التي تحبذ أن يتم حذفها من موقعك خصوصا إن كنت تملكه منذ عدة سنوات. يمكنك القيام بذلك بكل بساطة باستخدام هذا الاستعلام.

عليك بتغيير #-of-days بعدد الأيام التي تريد أن تبدأ عملية الحذف انطلاقا منها، إن أردت على سبيل المثال أن يتم حذف كل المنشورات الأقدم من 5 سنوات عليك بإدخال العدد: 1825.

DELETE FROM `wp_posts`

WHERE `post_type` = 'post'

AND DATEDIFF(NOW(), `post_date`) > #-of-days

أما بالنسبة لشبكة مواقع ووردبريس، عليك بتنفيذ الاستعلام التالي:

DELETE FROM `wp_#_posts`

WHERE `post_type` = 'post'

AND DATEDIFF(NOW(), `post_date`) > #-of-days

لا تنس تغيير #-of-days بعدد الأيام كما في الكود السابق و# بالرقم التعريفي (ID) للموقع الذي تود تنظيفه.

حذف كل بقايا التعليقات

قد يحدث أن يمتلئ جدول wp_commentsmeta بالتعليقات غير المخزنة في جدول wp_comments. من المحتمل ألا يناسب هذا الاستعلام كل المستخدمين إلا أنه قد يساعد كثيرا في تنظيف قاعدة البيانات خصوصا إن قمت بحذف أحد الملحقات التي تستخدم جدول wp_commentsmeta.

SELECT * FROM wp_commentmeta WHERE comment_id

NOT IN (

SELECT comment_id

FROM wp_comments

);

إن أردت أن تقوم بنفس العملية بالنسبة لأحد مواقع شبكتك عليك بتنفيذ الاستعلام التالي:

SELECT * FROM wp_#_commentmeta WHERE comment_id

NOT IN (

SELECT comment_id

FROM wp_#_comments

);

لا تنس تغيير # بالرقم التعريفي (ID) للموقع الذي تود تنظيفه.

تحسين جداول قاعدة البيانات

يمكنك تحسين جداولك في بضع ضغطات زر دون الحاجة إلى استخدام ملحق ما.

بعد الولوج إلى phpMyAdmin، اضغط على قاعدة البيانات الخاصة بك ثم اذهب إلى أسفل الصفحة التي تم تحميلها في اليمين. اضغط على Check All checkbox في الأسفل ثم حدد Optimize table من القائمة المنسدلة. إن كنت تملك عدة صفحات جداول سيكون عليك أن تكرر هذه العملية لها كلها.

يكفي أن تحدد الجداول كبيرة الحجم التي تجدها في خانة Size، لا داع لتحديد كل الجداول

ستبدأ عملية التحسين بشكل أوتوماتيكي دون الحاجة إلى ضغط زر Go، لا تقلق إن استغرق الأمر بعض الوقت خصوصا إن كان موقعك كبيرا فهذا أمر عادي. عند الانتهاء، ستظهر رسالة تفيد بنجاح العملية.

بعد أن تطرقنا لبعض النصائح حول كيفية القيام بتنظيف قاعدة البيانات بشكل يدوي، لنلق الآن نظرة على بعض الملحقات التي من شأنها أن تجعل هذه العملية أكثر بساطة

أهم الملحقات لتحسين قاعدة البيانات database

 تتميز هذه الملحقات بتحديثها بشكل مستمر فضلا عن توافقها مع مواقع ووردبريس المنفردة (single installations of WordPress). بعد تجريبها على استضافة ووردبريس متعددة المواقع (Multisite)، لاحظت أن أدائها لم يضعف بل قامت بالعمل على أتم وجه.

WP-Optimize

تعتبر WP-Optimize من بين أفضل ملحقات تحسين قواعد البيانات المتواجدة على الساحة منذ فترة من الزمن، كما أنه يتوفر على العديد من الإعدادات والخيارات لحذف الجداول غير الضرورية فضلا عن إمكانية برمجة عمليات التحسين بشكل دوري للمساعدة على الحفاظ على موقعك في أحسن حالة. يتميز الملحق أيضا بسهولة التنصيب والإعداد.

رابط التحميل

Revision Control

يمكنك من خلال ملحقة Revision Control أن تحد من عدد المراجعات التي يتم تخزينها في قاعدة البيانات عوض حذفها بشكل كلي كما هو الشأن بالنسبة لاستخدام استعلام SQL الذي أسلفنا الذكر، يتميز Revision Control أيضا بسهولة التنصيب والاستخدام.

رابط التحميل

نتمنى أن تكون هذه التدوينة قد نالت إعجابكم

المصدر : hsoub

عن أنس بوغداد

مدون ومصمم مغربي عمره 28 سنة، متخصص في مجال التصميم والجرافيك، مهتم بكل ما هو جديد في عالم التقنيات و الأنترنت، طموحه مساعدة الأخرين في الوصول إلى المعلومة بأسهل طريقة ممكنة

شاهد أيضاً

طريقة تقلل معدل ارتداد Bounce Rate الزوار لموقعك الإلكتروني

طريقة تقلل معدل ارتداد Bounce Rate الزوار لموقعك الإلكتروني؟

في عالم تقنيات محركات البحث هناك الكثير من المصطلحات التي يمكن أن تختلط بين الشخص …

أضف تعليق