أوقف تغييرات الروابط العشوائية قبل أن تكسر روابط موجودة فعلاً.
ربّط تغييرات الـslug و الـpermalink بسلسلة صلاحية واضحة بحيث لا تؤثر تغييرات غير مقصودة على الروابط العاملة.
استخدمه عندما يحتاج المحررون تعديل العناوين والمحتوى من دون تغيير الروابط الحالية بصمت.
اجعل حماية الروابط سلوكًا افتراضيًا.
الروابط الجيدة هي جزء من البنية التحتية. هذه الإضافة تجعل التغييرات غير المقصودة أصعب، وتبقي التغييرات المقصودة ممكّنة.
تثبيت مؤقت للـslug الخاصة بالمنشورات والتصنيفات حتى يتم فك القفل صراحة. الإضافة صُممت لتأمين استقرار الروابط أثناء عمليات الاستيراد، ومزامنة البيانات، وتشغيلات MCP، وباقي التحديثات الآلية.
حمّل أحدث إصدار | شاهد المصدر على GitHub
النطاق الحالي هو حماية الـslug فقط. لا تؤثر الإضافة على الروابط داخل المحتوى ولا على قيم meta في المنشورات.
ما المشكلة التي تحلها
غالبًا ما تبدأ أخطاء ووردبريس من تغيير خامد لاسم الرابط. سكربت ما أو استيراد أو ترحيل أو سير عمل ذكاء اصطناعي يعدّل slug لصفحة أو term، فتنقطع الروابط القديمة في نتائج البحث أو البريد أو أنظمة داخلية أخرى.
روابط مكسورة
الروابط القديمة في نتائج البحث، والإيميلات، والوثائق، لم تعد تشير للصفحة الصحيحة.
اضطراب التصنيفات
تتغير التصنيفات تلقائيًا أثناء تشغيلات المزامنة أو أدوات التحديث الجماعي.
تضارب الأتمتة
يمكن للأدوات تعمل بأمان، لكن تغيير slug يجب أن يكون قرارًا صريحًا.
ماذا يقفل فعليًا
Slugs للمنشورات
قيم post_name الحالية تثبّت عند التحديث مالم يسمح النظام بذلك.
Slugs للتصنيفات
ـ term slug الحالي أيضًا محمي من التغيير التلقائي.
وهو لا يقفل غيره
لا يقفل محتوى المقالات، أو حقول meta، أو تغييرات غير مرتبطة.
متى تفيد هذه الإضافة
- عمليات الاستيراد الدفعي التي تحتاج تحديث المحتوى دون إعادة تسمية الروابط المنشورة.
- تدفقات النشر من staging إلى الإنتاج، حيث قد يسبب تموضع slug ضررًا كبيرًا في SEO.
- مسارات MCP والأتمتة بحيث يعمل المساعد بأمان ولا يحدث تغيير روابط صامت.
- المواقع التي تملك أكثر من إضافة أو مهمة مخصصة تغيّر المنشورات والتصنيفات برمجيًا.
طريقة السماح بالتغيير المقصود
إذا كان لديك حالة تحتاج تغيير slug فعلًا، أضف مؤقتًا ثابت سليم في wp-config.php ثم نفذ التغيير وقم بإزالته بعد ذلك.
define('URL_LOCKDOWN_ALLOW', true);
// أو خاصّية wp-cli فقط:
define('URL_LOCKDOWN_ALLOW_CLI', true);
بهذا يبقى السلوك الآمن مفعلًا بشكل افتراضي، مع الحفاظ على إمكان التغييرات المخططة.
حالة الإصدار الحالية
- أحدث إصدار: 1.4.2
- المتطلبات: WordPress 5.9+
- المتطلبات البرمجية: PHP 7.4+
- الترخيص: GPL v2 أو أحدث
الأسئلة الشائعة
هل ما زالت التعديلات اليدوية في العنوانPermalink ممكنة؟
لا. slugs للمنشورات والتصنيفات تبقى مفلترّة بشكل افتراضي. هذا هو السلوك الموثق حالياً.
هل تقفل الإضافة روابط داخل المحتوى أيضًا؟
لا. الإضافة خاصة بالـslug فقط. لا تراقب الروابط داخل محتوى المقال نفسه.
هل تعطل الإضافة قيم meta في المقال؟
لا. قيم meta خارج النطاق المطلوب.
ماذا أفعل إذا احتجت تغييرًا مقصودًا؟
فعّل URL_LOCKDOWN_ALLOW أو URL_LOCKDOWN_ALLOW_CLI، نفّذ التغيير، ثم أزل الثابت مرة أخرى.
لماذا هذا النطاق فقط؟
لأن الهدف الآمن هنا هو استقرار slug. توسيع الحماية لباقي الحقول يسبب ضوضاء تشغيلية ويعيق التحرير اليومي.
هل تحتاج حماية إضافية ضد تغييرات URL غير مقصودة؟
أخبرنا كيف يشتغل محرّرو المحتوى عندكم وأين تظهر أخطاء الروابط. نقدر نفصّل الحلول المناسبة.