انکد و دیکد URL

ابزار تبدیل کاراکترهای غیرمجاز به فرمت استاندارد Percent-Encoding. پشتیبانی کامل از UTF-8 و دامنه‌های فارسی.

URL Encoding چیست؟ (مبانی علمی)

استاندارد اینترنت برای آدرس‌های وب (URL)، تنها اجازه استفاده از مجموعه کاراکترهای محدودی به نام US-ASCII را می‌دهد. این یعنی حروف الفبای انگلیسی، اعداد و چند علامت خاص. اگر بخواهیم از حروف فارسی، کاراکترهای ویژه (مثل فاصله، @، #) یا ایموجی‌ها در آدرس استفاده کنیم، مرورگر باید آن‌ها را به فرمتی تبدیل کند که برای سرور قابل فهم باشد. این فرآیند URL Encoding یا Percent-encoding نام دارد. در این روش، هر بایت غیرمجاز به صورت یک علامت درصد % و دو رقم هگزادسیمال نمایش داده می‌شود.

جدول کاراکترهای رزرو شده (RFC 3986)

%20فاصله خالی
/
%2Fجداکننده مسیر
:
%3Aجداکننده پورت
?
%3Fشروع کوئری
=
%3Dمقداردهی
&
%26اتصال پارامترها
@
%40ایمیل/کاربر
#
%23فرگمنت

مثال‌های واقعی (فارسی)

متن اصلی:سلام دنیا
%D8%B3%D9%84%D8%A7%D9%85%20%D8%AF%D9%86%DB%8C%D8%A7
URL کامل:https://site.com/جستجو
https://site.com/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88

مشکلات رایج سئو (SEO)

  • لینک‌های فارسی طولانی: وقتی انکد می‌شوند بسیار طولانی شده و ممکن است از حد مجاز 2048 کاراکتر بگذرد.
  • انکد مضاعف (Double Encoding): اگر یک متن را دو بار انکد کنید، %20 تبدیل به %2520 می‌شود و لینک خراب می‌شود.
  • استفاده از فاصله در نام فایل‌ها: همیشه فاصله را با خط تیره (-) جایگزین کنید تا URL خوانا و تمیز بماند.
  • عدم هماهنگی سرور: برخی سرورهای قدیمی لینوکس با نام فایل‌های فارسی انکد شده مشکل دارند.

سوالات متداول

چرا فاصله به + تبدیل می‌شود؟
در استاندارد قدیمی application/x-www-form-urlencoded فاصله‌ها با + جایگزین می‌شدند (مثل فرم‌های جستجوی گوگل). اما در استاندارد جدیدتر Percent-encoding فاصله باید به %20 تبدیل شود. این ابزار از استاندارد %20 استفاده می‌کند که امن‌تر است.
آیا URL فارسی برای سئو بد است؟
خیر، گوگل کاملاً متوجه لینک‌های فارسی می‌شود. اما کپی کردن آن‌ها در تلگرام یا واتساپ باعث ایجاد لینک‌های طولانی و زشت می‌شود. برای اشتراک‌گذاری بهتر است از کوتاه‌کننده لینک استفاده کنید.
کاراکتر BOM چیست؟
گاهی اوقات در ابتدای فایل‌های متنی یک کاراکتر نامرئی به نام Byte Order Mark وجود دارد. اگر این کاراکتر وارد URL شود، به صورت %EF%BB%BF ظاهر می‌شود و ممکن است باعث خطای 404 شود.