تخطَّ إلى المحتوى
إدارة وحماية المواقع

معاينة الوسوم الفارغة في ووردبريس قبل الحذف: اختبار مصغر آمن


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

الوسم كلمة تجمع مقالات ذات موضوع مشترك، ويعرض ووردبريس بجانبها عدد المقالات المرتبطة. أما «المعاينة دون تنفيذ» أو Dry Run فتعني عرض قائمة المرشحين للحذف وأعدادهم، من دون حذفهم فعلا. العدد صفر نقطة بداية للمراجعة، وليس أمرا بالحذف التلقائي.

لماذا لم نستخدم DELETE مباشرا؟

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

الخطوات الآمنة

  1. خذ نسخة قاعدة بيانات قابلة للاستعادة.
  2. افتح «المقالات ← الوسوم» وراجع عمود العدد. إذا استعنت بمطور، اطلب أن يقصر الفحص على post_tag، أي الوسوم، لا category التي تعني تصنيفات المقالات.
  3. راجع قائمة الوسوم التي يظهر لها عدد صفر، بما فيها أي ارتباطات بمسودات أو محتوى تستخدمه إضافاتك، ثم حدد ما لم تعد تحتاجه.
  4. احذف عبر دوال ووردبريس أو واجهته، لا باستعلام عام غير مدروس.
  5. قارن المقالات والروابط وخريطة الموقع بعد التنظيف.

ملاحظة للمشروع الجديد

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

الوسم الفارغ ليس هو التصنيف الفارغ

يتناول هذا الدليل الوسوم من نوع post_tag فقط، لا تصنيفات المقالات category ولا القوائم أو تصنيفات الإضافات. لا تعتمد العدد صفر وحده للحذف: تحقق من المسودات والمقالات المجدولة وأي استخدام خاص للإضافات أولا.

خطة الرجوع والتحقق

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

هل كل وسم مستخدم يستحق البقاء؟

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

تفاصيل الاختبار المصغر ونتيجته

تاريخ الاختبار: 19 أغسطس 2026. البيئة: ووردبريس 7.0.4 وPHP 8.3.30، على مختبر محلي منفصل.

أنشأنا ثلاثة وسوم فارغة ووسما واحدا مرتبطا بمقال اختبار. رصدت المعاينة ثلاثة مرشحين فارغين واستبعدت الوسم المرتبط. ثم أزلنا بيانات التجربة المؤقتة؛ لم نطبق حذفا جماعيا على الموقع الحي.

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

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

بطاقة دليل أصلية من إعادة التحقق المحلية لمقال فحص الوسوم الفارغة قبل التنظيف، وتعرض طريقة الاختبار والنتيجة المقاسة.
اختبار محلي مستقل — 19 أغسطس 2026: مرشحو الحذف الفارغون: 3 — الوسوم المرتبطة المحفوظة: 1

اختبار مستقل: هل العدد صفر يعني أن الوسم غير مستخدم؟

أُجري في 20 سبتمبر 2026، الساعة 14:02 UTC. شغّلنا نواة ووردبريس 7.1 مع PHP 8.3.30 وMySQL 8.4.3 في قاعدة محلية جديدة، دون إضافات الموقع أو بياناته. منعنا الطلبات الخارجية والبريد وعطّلنا WP-Cron في المختبر. هذه تجربة ثانية مستقلة عن عينة 19 أغسطس أعلاه، وليست سجلًا لتنظيف الموقع الحي.

أنشأنا أربعة وسوم، وربطنا ثلاثة منها بمقال مسودة، ومقال مجدول بعد 30 يومًا، ومقال منشور، وتركنا الرابع بلا ارتباط. قرأنا عداد الوسم وعلاقاته الفعلية؛ ظهرت النتائج التالية:

  • وسم بلا مقالات: العدد 0، والعلاقات 0.
  • وسم مرتبط بمسودة: العدد 0، لكن له علاقة واحدة بمقال حالته draft.
  • وسم مرتبط بمقال مجدول: العدد 0، لكن له علاقة واحدة بمقال حالته future.
  • وسم مرتبط بمقال منشور: العدد 1، وله علاقة واحدة بمقال حالته publish.

لو اعتمدنا شرط count=0 وحده لاعتبرنا ثلاثة وسوم مرشحة، ومنها وسما المسودة والمقال المجدول المستخدمان بالفعل. أما فحص العلاقات باستدعاء get_objects_in_term() فقد حصر الوسم غير المرتبط في واحد فقط. لم نحذف أي وسم في هذا الاختبار.

هل يتحدث العدد عند النشر؟

نشرنا مقال الاختبار المجدول صراحةً باستدعاء wp_publish_post() داخل المختبر؛ تحولت حالته إلى publish وارتفع عداد وسمه من 0 إلى 1، وبقي عدد العلاقات 1. هذا يثبت تحديث العداد عند انتقال الحالة في هذه البيئة، ولا يثبت أن WP-Cron سينفذ النشر تلقائيًا في الاستضافة أو أن كل إضافة تستخدم قواعد العد نفسها.

كيف تكرر المقارنة بأمان؟

  1. استخدم نسخة اختبار منفصلة بلا بيانات حساسة، وليس موقعك المنشور.
  2. أنشئ أربعة وسوم واضحة الأسماء، وثلاث مقالات اختبار بالحالات: مسودة، ومجدول، ومنشور. اربط كل مقال بوسمه واترك الرابع دون مقال.
  3. راجع عمود العدد في قائمة الوسوم، ثم افتح المسودة والمقال المجدول وتأكد من أن الوسمين ما زالا معينين داخل المحرر؛ لا تفسر الصفر على أنه غياب للعلاقة.
  4. إذا أردت فحص الانتقال، انشر مقال الاختبار المجدول يدويًا في البيئة المنفصلة وأعد قراءة العدد. لا تغير جدول مقالاتك الحقيقية لهذا الغرض.
  5. في أداة معاينة برمجية، افحص العلاقات وحالات المقالات، واعرض المرشحين فقط. انعدام العلاقات لا يلغي الحاجة لمراجعة استخدامات الإضافات وخطة الرجوع قبل أي حذف.
ملخص السجل المرصود
run_utc: 2026-09-20T14:02:15+00:00
 environment: WordPress 7.1 / PHP 8.3.30 / MySQL 8.4.3
 empty:     count=0, relationships=0
 draft:     count=0, relationships=1, status=draft
 scheduled: count=0, relationships=1, status=future
 published: count=1, relationships=1, status=publish
 zero-count candidates: 3
 no-relationship candidates: 1
 after explicit publish: scheduled count=1, relationships=1, status=publish
 tags deleted: 0

للمراجعة التقنية: يبدأ العد الافتراضي للمقالات في مرجع نواة ووردبريس لعداد المصطلحات بحالة publish، ويمكن للإضافات ترشيح الحالات. وللمطور الذي يبني معاينة دون حذف، راجع مرجع قراءة ارتباطات الوسم.

المصدر الرسمي

WordPress: مرجع wp_delete_term().


شارك:

محمد التتر

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