ٹیکسٹ سلگفائی (URL)
ایک پیشہ ورانہ ٹیکسٹ سلگفائی ٹول جو ٹیکسٹ کو یو آر ایل کے لیے موزوں سلگ میں تبدیل کرتا ہے، چھوٹے حروف میں تبدیل کرنے، اپنی مرضی کے جدا کرنے والے حروف اور انگریزی کے سٹاپ الفاظ ہٹانے کی حمایت رکھتا ہے۔ زیادہ تر زبان کے حروف کو ہینڈل کرنے کے لیے یونیکوڈ نارملائزیشن کا استعمال کرتا ہے، اس بات کو یقینی بناتا ہے کہ تیار کردہ سلگ SEO کے بہترین طریقوں کی پیروی کرے۔ بلاگ پوسٹ کے یو آر ایل، فائل ناموں، ڈیٹا بیس شناخت کنندگان اور دیگر منظرناموں کے لیے بہترین۔ آپ کی رازداری کے تحفظ کے لیے مکمل طور پر مقامی طور پر پروسیس کیا جاتا ہے - رجسٹریشن کی ضرورت نہیں۔ اعلیٰ معیار کے سلگ تیار کرنے میں آپ کی مدد کے لیے تفصیلی استعمال کے رہنما خطوط اور بہترین طریقوں کی سفارشات فراہم کرتا ہے۔
سلگفائی کیوں استعمال کریں؟
🔍 SEO اصلاح
URLs میں موجود کلید لفظیں سرچ انجن کو صفحے کے مواد کو سمجھنے اور درجہ بندی بہتر کرنے میں مدد دیتے ہیں۔ مثال کے طور پر، example.com/blog/how-to-learn-javascript، example.com/blog/123 سے زیادہ مؤثر ہے۔
👁️ قابل فہمیت اور اشتراک
صارفین URL سے فوراً مواد کو سمجھ سکتے ہیں۔ سلگس سوشل میڈیا پر زیادہ قابل اشتراک ہوتے ہیں اور یاد رکھنا یا دستیاب ٹائپ کرنا آسان ہوتا ہے۔
💻 سسٹم ہم آہنگی
فائل کے ناموں یا URLs میں خصوصی حروف سے پیدا ہونے والی خرابیوں سے بچیں۔ کراس پلیٹ فارم ہم آہنگی (Windows/Linux/macOS) کو یقینی بناتا ہے اور انکوڈنگ کے مسائل کو روکتا ہے۔
🗄️ ڈیٹا بیس کے لیے موزوں
منفرد شناخت کار کے طور پر استعمال کریں (مثال کے طور پر، صارف نام، ٹیگز) تاکہ انجیکشن کے خطرات کم ہوں اور انڈیکسنگ اور استفسار کی کارکردگی بہتر ہو۔
سلگفائی کیا ہے؟
سلگ ٹیکسٹ کا ایک مختصر، معیاری ورژن ہے جو یو آر ایل، فائل نام یا شناخت کنندہ کے طور پر استعمال ہوتا ہے۔ عام پروسیسنگ میں کیس کو معیاری بنانا، اوقاف کے نشانات ہٹانا اور الفاظ کو جدا کرنے والے حروف کے ساتھ جوڑنا شامل ہے۔
- ASCII ترجیح: لہجے اور علامات ہٹائیں، صرف حروف عددی حروف اور خالی جگہیں رکھیں
- یونیکوڈ ہم آہنگی: پروسیسنگ سے پہلے NFKD کا استعمال کرتے ہوئے زیادہ تر زبان کے حروف کو نارملائز کریں
- یو آر ایل سے محفوظ: آؤٹ پٹ میں صرف حروف، عددی حروف اور جدا کرنے والے حروف شامل ہیں - راستے میں براہ راست استعمال کے لیے تیار
اکثر پوچھے جانے والے سوالات
سوال: چینی حروف کو کیسے ہینڈل کیا جاتا ہے؟
جواب: بطور ڈیفالٹ، دیاکرٹکس کو ہٹا دیا جاتا ہے اور پینین حروف برقرار رہتے ہیں۔ خالص چینی متن خالی ہو سکتا ہے؛ تجویز ہے کہ سلگ کرنے سے پہلے دستیاب طور پر پینین میں تبدیل کریں یا چینی پینین کنورژن ٹول استعمال کریں۔
سوال: میرا نتیجہ خالی کیوں ہے؟
جواب: آپ کے ان پٹ میں پوری طرح سے علامات، سمبلز یا خالی جگہیں ہو سکتی ہیں، یا تمام الفاظ اسٹاپ ورڈ فلٹرنگ کے ذریعے ہٹا دیے گئے ہیں۔ اسٹاپ ورڈ آپشن کو غیر فعال کرنے کی کوشش کریں یا اپنے ان پٹ کو ایڈجسٹ کریں۔
سوال: علیحدہ کرنے والے کے طور پر - یا _ استعمال کرنا چاہیے؟
جواب: SEO کے لیے، - (ہائفن) استعمال کریں، کیونکہ Google اسے خالی جگہ سمجھتا ہے؛ _ (انڈر سکور) کو کنکاٹنیشن سمبل سمجھا جاتا ہے، جو الفاظ کی علیحدگی میں رکاوٹ ڈالتا ہے۔ فائل کے ناموں کے لیے، کوئی بھی قابل قبول ہے۔
سوال: سلگس کے لیے لمبائی کی حد ہے؟
جواب: کوئی تکنیکی حد نہیں ہے، لیکن بہتر URL ڈسپلے اور SEO کے لیے سلگس کو 50 حروف سے کم رکھنے کی تجویز ہے۔ ضرورت سے زیادہ لمبے سلگس سرچ انجنز کے ذریعے کاٹے جا سکتے ہیں۔
بہترین طریقے
تجویز کردہ طریقے
- ✓ اسے مختصر رکھیں (تجویز کردہ 50 حروف سے کم)
- ✓ خصوصی حروف سے پرہیز کریں؛ صرف حروف، اعداد اور جداگانہ استعمال کریں
- ✓ حروف چھوٹے استعمال کریں تاکہ کیس کے حساس مسائل سے بچا جا سکے
- ✓ معنی کی کثافت بڑھانے کے لیے اسٹاپ ورڈز کو ہٹا دیں
یہ طریقے اپنائیں نہ
- ✗ حساس معلومات شامل نہ کریں (مثال کے طور پر: IDs، ای میلز، پاس ورڈز)
- ✗ خصوصی حروف استعمال نہ کریں (مثال کے طور پر: @#$%^&*)
- ✗ خالی جگہیں یا مسلسل جداگانہ برقرار نہ رکھیں
- ✗ ایک ہی لفظ کو دہرائیں نہ
تکنیکی تفصیلات
NFKD گلنے کا طریقہ استعمال کرتا ہے + امتزاجی ڈائیکریٹکس (\p{M}) کو ہٹانا، جس سے Café کو Cafe میں تبدیل کر دیتا ہے۔ زیادہ تر لاطینی بنیاد والے حروف کو سپورٹ کرتا ہے۔
عام انگریزی الفاظ پر مبنی (a/an/the/and/or/of/to/in/on/for/at/by/with); حسب ضرورت تبدیل کیا جا سکتا ہے۔ چینی اسٹاپ ورڈز کو الگ طریقے سے ہینڈل کرنے کی ضرورت ہے۔
ES6+ اور یونیکوڈ ریجیکس سپورٹ (\p{...}) کی ضرورت ہوتی ہے۔ جدید براؤزرز میں سپورٹ ہے: Chrome 64+, Firefox 78+, Safari 11.1+۔
پروگرامنگ لینگویج کے ذریعے سلگ کیسے تیار کیا جائے؟
JavaScript
function slugify(text) {
return text
.toLowerCase()
.normalize("NFKD")
.replace(/[\u0300-\u036f]/g, "")
.replace(/[^\w\s-]/g, "")
.trim()
.replace(/[\s_-]+/g, "-")
.replace(/^-+|-+$/g, "");
}
PHP
function slugify($text) {
$text = mb_strtolower($text);
$text = iconv("UTF-8", "ASCII//TRANSLIT", $text);
$text = preg_replace("/[^\w\s-]/", "", $text);
$text = preg_replace("/[\s_-]+/", "-", $text);
return trim($text, "-");
}
Python
import re
import unicodedata
def slugify(text):
text = text.lower()
text = unicodedata.normalize("NFKD", text)
text = text.encode("ascii", "ignore").decode("ascii")
text = re.sub(r"[^\w\s-]", "", text)
text = re.sub(r"[\s_-]+", "-", text)
return text.strip("-")
Go
import (
"regexp"
"strings"
"golang.org/x/text/unicode/norm"
)
func Slugify(text string) string {
text = strings.ToLower(text)
text = norm.NFKD.String(text)
re := regexp.MustCompile(`[^\w\s-]`)
text = re.ReplaceAllString(text, "")
re = regexp.MustCompile(`[\s_-]+`)
text = re.ReplaceAllString(text, "-")
return strings.Trim(text, "-")
}
Ruby
require "unicode"
def slugify(text)
text = text.downcase
text = Unicode.nfkd(text).gsub(/[^\x00-\x7F]/, "")
text = text.gsub(/[^\w\s-]/, "")
text = text.gsub(/[\s_-]+/, "-")
text.strip.gsub(/^-+|-+$/, "")
end
Java
import java.text.Normalizer;
public static String slugify(String text) {
text = text.toLowerCase();
text = Normalizer.normalize(text, Normalizer.Form.NFKD);
text = text.replaceAll("[^\\w\\s-]", "");
text = text.replaceAll("[\\s_-]+", "-");
return text.replaceAll("^-+|-+$", "");
}