یکسانسازی حروف فارسی و عربی در URL؛ از ساخت اسلاگ تا اصلاح نشانیهای قدیمی
برای جلوگیری از چند نشانی ناخواسته، حروف همارز را فقط بر اساس یک قاعده روشن نرمال کنید؛ سپس تغییرمسیرها، canonical، لینکهای داخلی و نقشه سایت را هماهنگ نگه دارید.
فهرست مطالب
در یک سایت فارسی ممکن است یک موضوع با دو نشانی دیده شود؛ تفاوت فقط در یک حرف باشد، اما برای سامانه سایت دو رشته متفاوت ساخته شود. نمونه رایج، تفاوت «ي» عربی با «ی» فارسی یا «ك» عربی با «ک» فارسی است. اگر این تفاوت در زمان ساخت اسلاگ کنترل نشود، بهمرور نشانیهای ناهمسان، لینکهای داخلی پراکنده و ابهام در انتخاب URL معیار بهوجود میآید.
پرسش این راهنما مشخص است: چگونه حروف عربیِ همشکل را در URLهای فارسی یکدست کنیم، بدون اینکه نشانیهای قبلی را بیبررسی تغییر دهیم یا صفحههای متفاوت را به یک URL برسانیم؟ پاسخ عملی این است: ابتدا فقط نگاشتهای مجاز را تعریف کنید، سپس پیش از ساخت اسلاگ آنها را اعمال کنید و برای URLهای موجود، تغییر را با بررسی برخورد نشانیها و هدایت درست اجرا کنید.
یکسانسازی حروف در URL دقیقاً یعنی چه؟
حروفی که در نمایش شبیهاند، ممکن است در داده متنی کدهای متفاوتی داشته باشند. برای مثال «ی» فارسی کد U+06CC و «ي» عربی کد U+064A دارد؛ «ک» فارسی U+06A9 و «ك» عربی U+0643 است. اگر سامانه سایت رشته ورودی را همانطور که دریافت کرده وارد اسلاگ کند، این اختلاف ممکن است به دو مسیر متفاوت منجر شود؛ حتی اگر خواننده تفاوت دیداری روشنی نبیند.
نرمالسازی در این مقاله یعنی تبدیل شکلهای مشخص و از پیش تأییدشده به شکل معیار سایت، پیش از تولید URL. این کار با حذف همه تفاوتهای زبانی یا پاککردن بیقاعده نویسهها یکی نیست. تصمیم فنی باید محدود باشد: فقط نویسههایی را یکسان کنید که در سیاست سایت واقعاً معادل شناختهاید.
پیش از تغییر کد، سیاست نوشتاری URL را مشخص کنید
قاعدهای کوتاه و مکتوب از اصلاحهای موردی مطمئنتر است. سیاست باید بگوید URL تازه چگونه ساخته میشود، کدام نویسهها تبدیل میشوند و با اسلاگهای قدیمی چه میکنید. این تصمیم را با تیم فنی و محتوا هماهنگ کنید؛ چون اگر هر بخش سایت یا هر ابزار از قاعده جداگانهای استفاده کند، یکسانسازی فقط در بخشی از مسیر انجام میشود.
نگاشت را به موارد ضروری محدود کنید
- در صورت انتخاب سیاست فارسی، «ي» عربی را به «ی» فارسی تبدیل کنید.
- «ك» عربی را به «ک» فارسی تبدیل کنید.
- برای حروف و نشانههای دیگر، بدون بررسی موردی قاعده نسازید. نیمفاصله، فاصله، اعراب و نشانههای نگارشی را خودکار حذف یا جایگزین نکنید؛ هرکدام ممکن است در تبدیل اسلاگ معنای متفاوتی پیدا کنند.
- درباره حروف لاتین، حروف بزرگ و کوچک، اسلش پایانی و پارامترهای نشانی جداگانه تصمیم بگیرید. این موارد با یکسانسازی حروف فارسی حل نمیشوند.
برای فهم بهتر دامنه موضوع، یک نکته را از ابتدا جدا نگه دارید: برابرکردن دو شکل نوشتاری URL لزوماً مشکل همنوعخواری محتوایی را حل نمیکند. اگر دو مقاله پاسخهای مشابهی دارند، آن مسئله به هدف و همپوشانی محتوا مربوط است؛ راهنمای تشخیص همنوعخواری برای بررسی آن موضوع مناسبتر است.
قاعده را در یک نقطه ثابت اجرا کنید
بهتر است تبدیلها در مرحله ساخت اسلاگ و پیش از ذخیره URL انجام شوند؛ نه اینکه هر بار هنگام نمایش لینک، شکل متفاوتی تولید شود. اگر سایت چند مسیر برای ایجاد محتوا دارد—مثلاً ویرایشگر، ورود گروهی یا اتصال ابزارها—همه باید از همان قاعده استفاده کنند. این کار احتمال ثبت دوباره یک موضوع با حروف متفاوت را کم میکند.
همچنین تبدیل را با نرمالسازی عمومی Unicode اشتباه نگیرید. تغییر نمایش یا نرمالسازی رشتهها بهتنهایی تضمین نمیکند که دو حرف فارسی و عربیِ جداگانه به یک نویسه تبدیل شوند. نگاشت موردنظر را صریح تعریف کنید و نتیجه را روی URL واقعی سایت بسنجید.
برای اسلاگهای موجود، اول برخوردها را پیدا کنید
اعمال قاعده به URLهای جدید معمولاً سادهتر از تغییر نشانیهای قدیمی است. پیش از هر مهاجرت، فهرست URLها را استخراج کنید و نسخه نرمالشده هرکدام را در کنار نشانی فعلی قرار دهید. سپس URLهایی را پیدا کنید که پس از تبدیل به یک مقدار واحد میرسند. این مرحله ضروری است؛ ممکن است دو URL فعلی واقعاً به یک صفحه برسند، یا برعکس، دو صفحه متفاوت بهطور اتفاقی یک اسلاگ بسازند.
سه وضعیت را از هم جدا کنید
- دو نشانی برای یک صفحه: اگر هر دو URL محتوای یکسان و یک هدف دارند، یک نشانی را معیار کنید و دیگری را به آن هدایت کنید.
- یک صفحه با پیوندهای پراکنده: URL معیار را نگه دارید، پیوندهای داخلی را به آن اصلاح کنید و نسخههای غیرمعیار را از نقشه سایت کنار بگذارید.
- دو صفحه متفاوت با اسلاگِ برخوردکرده: آنها را خودکار ادغام یا به یکدیگر هدایت نکنید. برای هر صفحه نشانی یکتای معنادار انتخاب کنید و تفاوت هدفشان را حفظ کنید.
اگر نشانی یک مقاله منتشرشده را تغییر میدهید، این کار را مانند ویرایش ساده متن در نظر نگیرید؛ لینکها و مقصدهای قبلی هم درگیرند. برای نکات اجرایی تغییر URL در وردپرس، میتوانید راهنمای ویرایش مقاله منتشرشده در وردپرس را ببینید.
مثال فرضی: از دو شکل نوشتاری تا یک URL معیار
فرض کنید یک سایت دو مسیر دارد: یکی با «ي» عربی و دیگری با «ی» فارسی. هر دو در عمل به یک مقاله درباره برنامهریزی محتوا میرسند. تیم ابتدا باید مشخص کند کدام نشانی را نگه میدارد؛ مثلاً نشانی با «ی» فارسی. سپس باید بررسی کند URL دیگر دقیقاً همان محتوا را نشان میدهد یا نه. اگر صفحه یکسان است، نسخه قدیمی را به نشانی معیار تغییرمسیر میدهد و لینکهای داخلی و نقشه سایت را به URL معیار تغییر میدهد.
اما اگر دو صفحه فقط در یک حرف تفاوت ندارند و محتوای متفاوتی دارند، تبدیل مکانیکی ممکن است هر دو را به یک اسلاگ برساند. در این حالت، باید برای هرکدام URL یکتا ساخت؛ مثلاً با افزودن واژهای که تفاوت واقعی موضوع را روشن کند. این مثال فرضی است و نسخه واحدی برای نامگذاری همه سایتها پیشنهاد نمیکند؛ معیار اصلی، حفظ تفاوت واقعی صفحهها و داشتن یک نشانی روشن برای هر صفحه است.
canonical بهتنهایی جای اصلاح URL را نمیگیرد
اگر چند نشانی تقریباً یک صفحه را نشان میدهند، برچسب canonical میتواند نشانی ترجیحی را اعلام کند؛ اما تضمین نمیکند موتور جستوجو همان URL را انتخاب کند. گوگل میگوید انتخاب نسخه معیار بر پایه مجموعهای از سیگنالها انجام میشود و ممکن است با نشانی اعلامشده متفاوت باشد. بنابراین canonical را کنار سیگنالهای هماهنگ دیگر بهکار ببرید، نه بهعنوان تنها اقدام.
در عمل، این موارد را با هم تطبیق دهید:
- URLهای نسخه معیار در لینکهای داخلی؛
- نشانی درجشده در canonical صفحه؛
- URLهای موجود در نقشه سایت؛
- تغییرمسیر دائمی از نسخه قدیمی به نسخه معیار، وقتی دو نشانی به یک صفحه واحد مربوطاند.
برای جزئیات انتخاب نشانی معیار و محدودیت canonical، به راهنمای Google درباره canonical و برای مشکلهای رایج انتخاب URL معیار به راهنمای عیبیابی canonicalization مراجعه کنید. این مستندات عمومیاند و قاعده مشخصی برای تبدیل حروف فارسی و عربی تعیین نمیکنند؛ نگاشت حروف، تصمیم فنی پیشنهادی برای سیاست URL سایت است، نه دستور رسمی گوگل.
چطور در وردپرس تغییر را با ریسک کمتر اجرا کنیم؟
در وردپرس، روش ساخت اسلاگ ممکن است به تنظیمات سایت، افزونهها یا مسیر ورود محتوا وابسته باشد. بهجای فرضکردن اینکه همه سایتها رفتار یکسانی دارند، ابتدا در محیط آزمایشی یا روی چند صفحه کنترلشده بررسی کنید اسلاگ چگونه ذخیره و نمایش داده میشود. سپس برنامه تغییر را در چند گام پیش ببرید:
- فهرست بسازید: URL فعلی، URL نرمالشده، عنوان صفحه و مقصد هر نشانی را ثبت کنید.
- برخوردها را بررسی کنید: پیش از تغییر، مشخص کنید تبدیل یک اسلاگ باعث تداخل با صفحه دیگری نمیشود.
- قاعده را روی ورودی جدید اعمال کنید: اسلاگ تازه را با حروف معیار ذخیره کنید و نتیجه را در مرورگر و پیوندهای سایت ببینید.
- برای نشانیهای قدیمی تصمیم بگیرید: اگر URL قدیمی و جدید یک صفحهاند، تغییرمسیر دائمی تعریف کنید؛ اگر مقصد یا محتوای متفاوتی دارند، تغییرمسیر ندهید.
- پس از اجرا تطبیق دهید: پاسخ URL معیار، مقصد تغییرمسیر، canonical، لینکهای داخلی و نقشه سایت را کنترل کنید.
چکلیست پیش از نهاییکردن سیاست URL
- آیا برای «ي/ی» و «ك/ک» یک نگاشت صریح و مستند دارید؟
- آیا نگاشت فقط روی ورودی اسلاگ اجرا میشود و نویسههای نامرتبط را دستکاری نمیکند؟
- آیا پیش از تغییر URLهای قدیمی، برخورد اسلاگها را شناسایی کردهاید؟
- آیا URLهای تکراری واقعاً به یک صفحه واحد مربوطاند؟
- آیا تغییرمسیر، canonical، لینک داخلی و نقشه سایت به یک نسخه اشاره میکنند؟
- آیا برای URLهای دارای تفاوت واقعی، نشانیهای یکتا باقی میمانند؟
- آیا رفتار تغییر را روی چند نمونه واقعی سایت بررسی کردهاید؟
سوالات متداول
آیا باید همه حروف عربی را در URL به حروف فارسی تبدیل کنیم؟
نه. فقط نویسههایی را تبدیل کنید که در سیاست URL سایت مشخصاً همارز شناختهاید؛ مانند «ي» به «ی» و «ك» به «ک». تبدیل یا حذف بیقاعده نشانهها و حروف دیگر میتواند اسلاگ را ناخواسته تغییر دهد.
اگر URL قدیمی با حرف عربی و URL جدید با حرف فارسی به یک صفحه برسند، چه کار کنیم؟
یک URL را بهعنوان نشانی معیار انتخاب کنید و اگر هر دو واقعاً یک صفحهاند، نسخه قدیمی را به آن هدایت کنید. سپس لینکهای داخلی، canonical و نقشه سایت را با URL معیار هماهنگ کنید.
آیا افزودن canonical کافی است تا نسخههای تکراری حذف شوند؟
نه. canonical نشانی ترجیحی را اعلام میکند، اما انتخاب موتور جستوجو را تضمین نمیکند. آن را با تغییرمسیر مناسب، لینکهای داخلی یکدست و نقشه سایت هماهنگ همراه کنید.
اگر دو صفحه متفاوت پس از نرمالسازی اسلاگ یکسانی پیدا کنند، چه کنیم؟
آنها را خودکار ادغام یا به هم تغییرمسیر ندهید. برای هر صفحه URL یکتایی انتخاب کنید که تفاوت واقعی موضوع یا هدف را نشان دهد.
آیا باید URLهای منتشرشده را همگی به شکل فارسی معیار تغییر دهیم؟
نه لزوماً. ابتدا URLها و برخوردهای احتمالی را بررسی کنید. تغییر URL را فقط وقتی انجام دهید که دلیل روشنی برای یکدستسازی دارید و میتوانید مقصد نسخه قدیمی، canonical و لینکهای وابسته را درست مدیریت کنید.
نتیجهگیری
برای یکسانسازی حروف فارسی در URL، ابتدا قاعدهای محدود و روشن برای نویسههای همارز—از جمله «ي/ی» و «ك/ک»—تعریف کنید و آن را پیش از ساخت اسلاگ اجرا کنید. برای URLهای قدیمی، پیش از هر تغییر بررسی کنید که دو نشانی واقعاً به یک صفحه میرسند؛ سپس تغییرمسیر، canonical، لینکهای داخلی و نقشه سایت را هماهنگ کنید. اگر دو صفحه متفاوت پس از نرمالسازی به یک اسلاگ میرسند، نشانی یکتای جداگانه نگه دارید.
برای تیمی که انتخاب موضوع، بازبینی و انتشار وردپرس را در یک مسیر دنبال میکند، حرفو هم میتواند گزینهای برای بررسی باشد.