Slugify String

حوّل أي عنوان إلى رابط URL نظيف. يزيل التشكيل، ويختار فاصلًا، ويتحكم في حالة الأحرف والطول، ويزيل الكلمات الشائعة اختياريًا ويحافظ على Unicode.

حوّل عنوانًا إلى رابط URL نظيف وآمن. تُطوى التشكيلات إلى ASCII بسيط، وتُحذف علامات الترقيم، وتُربط الكلمات بالفاصل الذي تختاره. استخدم الخيارات للتحكم في حالة الأحرف، وقصّ أقصى طول أو إزالة الكلمات الشائعة.

ما الذي يجعل slug جيدًا؟

لماذا توجد الـ slugs

الـ slug هو الجزء القابل للقراءة من الرابط الذي يحدد الصفحة: how-to-cache-resumes-in-redis في /blog/how-to-cache-resumes-in-redis. يستبدل معرّفًا رقميًا مبهمًا بشيء يمكن للشخص قراءته وتذكره وتقييمه قبل النقر. تعرض محركات البحث الرابط في النتائج، لذا فالـ slug الوصفي يطمئن القراء ويعزز موضوع الصفحة في آن واحد.

القواعد التي يجب أن يتبعها الـ slug

حافظ على أحرف ASCII صغيرة وأرقامًا وفاصلًا واحدًا. هذا يتجنب ثلاث فئات منفصلة من المشاكل: الروابط حساسة لحالة الأحرف في مسارها على معظم الخوادم، لذا /About و /about موارد مختلفة وslug بحروف مختلطة يدعو أخطاء المحتوى المكرر. ترميز النسب المئوية يجعل أي حرف غير ASCII أطول بثلاث مرات وأصعب قراءة عند نسخه كنص عادي. والمسافات ببساطة غير مسموح بها، وتتحول إلى %20 أو +.

الشرطات هي الفاصل التقليدي. صرّحت Google لسنوات أنها تعامل الشرطة كفاصل كلمات والشرطة السفلية كموصّل كلمات، مما يعني أن cache_redis قد يُقرأ كرمز واحد بينما cache-redis كلمتان بوضوح. ما لم يكن لديك سبب محدد، اختر الشرطة.

الترجمة الصوتية مقابل الإبقاء على Unicode

افتراضيًا تطوي هذه الأداة الأحرف المشكّلة إلى ما يعادلها الأقرب في ASCII: é تصبح e، وß تصبح ss، وł تصبح l. تفعل ذلك بتحليل النص بتطبيع Unicode NFD وإسقاط العلامات المركّبة، بالإضافة إلى جدول بحث للربطات والحروف الخاصة التي لا يعالجها التحليل.

الإبقاء على Unicode بديل مشروع. تعمل الروابط المعرّبة في كل متصفح حديث وهي أكثر قابلية للقراءة بكثير لقارئ تلك اللغة — فالـ slug الصيني أو الروسي المنقول صوتيًا إلى ASCII عادة ما يكون بلا معنى. التكلفة أن الرابط الخام يحتوي بايتات بترميز نسب مئوي، تبدو مزعجة عند لصقها في بريد إلكتروني أو طرفية، وبعض الأدوات القديمة ما زالت تفسدها. فعّل الإبقاء على أحرف Unicode إذا كان جمهورك يقرأ النص الأصلي؛ واتركه معطلًا إذا كان على الـ slug أن ينجو في أنظمة اعتباطية.

الطول وكلمات التوقف

لا يوجد حد تقني يستحق القلق، لكن الـ slugs التي تتجاوز 60 حرفًا تقريبًا تُقتطع في نتائج البحث وتصبح محرجة للمشاركة. من الأفضل القصّ على حدود كلمة وليس في منتصف كلمة، وهذا ما يفعله خيار الطول هنا.

إزالة كلمات التوقف — the، a، of، and — تقصر الـ slug دون فقدان معنى كبير. إنه خيار أسلوبي وليس عامل ترتيب؛ فمحركات البحث الحديثة قادرة تمامًا على تجاهلها. كن حذرًا مع العناوين التي تحمل كلمة توقف معنىً، فإزالتها من "The Who" أو "To Be or Not to Be" تدمر العبارة.

الاستقرار أهم من الكمال

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

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

الأسئلة الشائعة

الشرطات أم الشرطات السفلية؟
الشرطات. تعامل محركات البحث الشرطة كفاصل كلمات والشرطة السفلية كموصّل كلمات، لذا تُحلَّل الـ slugs المتقطعة إلى كلمات فردية. كما تختفي الشرطات السفلية بصريًا تحت الخط السفلي الذي تحمله الروابط افتراضيًا.
هل يجب أن تكون الـ slugs بأحرف صغيرة؟
نعم. جزء المسار من الرابط حساس لحالة الأحرف على معظم الخوادم، لذا /About و /about قد يتحلّان إلى صفحتين مختلفتين ويقسمان إشارات ترتيبك. فرض الأحرف الصغيرة يزيل فئة المشكلة كلها.
هل يمكنني استخدام أحرف غير إنجليزية؟
نعم، تتعامل المتصفحات الحديثة معها جيدًا وهي أكثر قابلية للقراءة بكثير للناطقين الأصليين. المقايضة أن الرابط الخام يصبح بترميز نسب مئوي، وهو ما يبدو مزعجًا خارج المتصفح. فعّل الإبقاء على أحرف Unicode إذا كانت هذه المقايضة تناسب جمهورك.
كم يجب أن يكون طول الـ slug؟
طويلًا بما يكفي ليكون وصفيًا، وقصيرًا بما يكفي للقراءة في نظرة. حوالي ثلاث إلى ست كلمات، أو أقل من 60 حرفًا، يبقيه ظاهرًا بالكامل في معظم قوائم نتائج البحث.
هل يجب أن أزيل كلمات التوقف؟
عادة غير ضار ويجعل الـ slug أنظف، لكنه خيار تجميلي بلا فائدة للترتيب. تجاهله عندما تكون كلمة التوقف حاملة للمعنى، كما في اسم فرقة أو اقتباس.
هل من الآمن تغيير الـ slug لاحقًا؟
فقط مع إعادة توجيه 301 من الرابط القديم. بدونها تفقد كل رابط وعلامة مرجعية قائمة، مع إشارات الترتيب المتراكمة. حدد صيغة مبكرًا والتزم بها.