ساختار URL طبق RFC 3986 تعریف شده و در بخش 2.3 تنها مشخص میکند چه کاراکترهایی مجاز هستند:
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
در نتیجه، استفاده از خط تیره (-) یا زیرخط (_) مجاز است، اما RFC هیچ سبک خاصی مثل kebab-case یا snake_case را اجباری نکرده است. با این حال، در عمل kebab-case بهدلیل خوانایی بهتر و سازگاری بیشتر با موتورهای جستجو، به استاندارد رایجتری تبدیل شده است.
ایرادات متداول در آدرسها:
1. استفاده از حروف بزرگ — باعث ناسازگاری و تفسیر متفاوت مسیرها میشود.
2. استفاده از فاصله — نیاز به encode دارد و خوانایی لینک را پایین میآورد.
3. فینگلیش یا ترکیب زبانها — ناهماهنگی زبانی و افت سئو ایجاد میکند.
4. کاراکترهای خاص و نامعمول — نیازمند encode و منبع خطا هستند.
5. استفاده از زیرخط (snake_case) — خوانایی کمتر و شناسایی ضعیفتر توسط موتورهای جستجو دارد.
6. استفاده از اعداد یا کدهای نامفهوم — مسیر را غیرتوصیفی و گیجکننده میکند.
7. ترکیب بیهدف حروف و اعداد — فهم و نگهداری آدرس را دشوار میسازد.
8. مسیرهای بسیار طولانی یا دارای اسلشهای اضافی — باعث پیچیدگی و خطای روتینگ میشود.
نمونههای درست:
https://example.com/page
https://example.com/user-profile/settings
https://example.com/{kebab-case}/{sub-address-directories}
نمونههای نادرست:
❌ https://example.com/AboutUs
❌ https://example.com/my page
❌ https://example.com/kharid-drel
❌ https://example.com/page@1!
❌ https://example.com/user_profile
❌ https://example.com/x92d1/page
❌ https://example.com/a1b2c3
در نهایت، درستنویسی در URL فقط به رعایت قواعد RFC محدود نمیشود؛ ممکن است یک آدرس از نظر فنی معتبر باشد، اما از نظر تجربه کاربری یا سئو کاملاً نادرست به حساب آید.
نکته: برخی آدرسهای سرویسها ممکن است از نظر خوانایی مناسب به نظر نرسند، اما این موضوع معمولاً به دلایل فنی، امنیتی یا نیاز به عملکرد خاص (مثل شناسایی منحصربهفرد درخواستها یا جلوگیری از پیشبینی مسیرها) بهصورت عمدی طراحی شده است.(مثل کوتاه کننده های آدرس)
✍🏻 @thealibigdeli_channel