به زبان آدمیزاد URL بنویسیم

۱. اتفاقی که افتاده اینه: یکی از دوستای من وقتی می خواسته حساب تپسی خودش رو شارژ کنه یه صفر اضافه می ذاره و به‌جای بیست هزار تومن، دویست هزار تومن شارژ می‌کنه حسابش رو. توی پروسه‌ی استرداد پولش، به یه لینک می‌رسه که اینجوریه:

https://tap30.ir/php/__123_send_email.php

۲. توی این یه دونه ‌URL چندتا نکته‌ی خیلی باحال دیده می‌شه. اولین چیزی که توی ذوق می‌زنه، اون ۱۲۳ هست که توی اسم فایل پی اچ پی هست. دلیلش رو می‌شه تا حدودی حدس زد. یا یه فایل به اسم send_email از قبل وجود داشته و آقا/خانم برنامه‌نویس بی‌حوصله، اینجوری از زیر بار اسم انتخاب کردن در رفته. ولی شایدم می‌خواسته مفهوم خاصی رو با این اسم برسونه که بازهم متاسفانه چندان واضح نیست و موفق نبوده. در مورد اون دو تا آندر-اسکور اول اسم فایل هم نمی دونم بین پی‌اچ‌پی کار‌ها مفهومی داره یا این‌که این‌هم از خلاقیت(!)‌های این برنامه‌نویسه.

۳. توی URL بالا یه چیز جالب دیگه هم دیده می‌شه: اون فایل پی‌اچ‌پی که بحثش شد، توی فولدری قرار گرفته به اسم PHP. این هم اصلن چیز جالبی نیست. از هر منظری به قضیه نگاه کنیم این کار غلط حساب می‌شه. اولین نکته اینه که مخاطب سایت ما که در اکثر موارد برنامه نویس نیست و یه آدم معمولیه، چندان سودی نمی بره از دیدن این اسم فولدر. حتی برای برنامه‌نویس‌ها هم جالب نیست دیدن همچین چیزی. کار درست و خوشبختانه رایج اینه که اسم این فولدرها، تابع کاری که انجام می‌دن باشه. یعنی جوری که با دیدن آدرس یه صفحه که شامل اسم فولدر و اسم فایل می‌شه، کاربر بتونه درمورد حاصلی که قراره ببینه حدس بزنه. از این هم بگذریم از تاثیر آدرس صفحه‌ها توی سئو سایت نباید ساده رد شد. اینجا این رو می‌فهمیم که آقا/خانم برنامه‌نویس درمورد سئو هم اطلاعات چندان درست و دقیقی نداره. و تلخ‌تر اینکه این مسائل رو داریم توی سایتی شرکتی می‌بینیم که جزو شرکتای به‌روز بازار ایران حساب ‌می‌شه.

۴. قضیه به ‌َیه ‌URL بد ختم نمی‌شه. با باز کردنش می‌رسیم به این صفحه:

tap30

این ‌مشکل رو توی تقریبن همه‌ی مرورگر‌ها می‌شه دید. جالب اینه که همچین مشکلی حتی توی بی‌کیفیت‌ترین سایت‌ها هم به ندرت پیش می‌اد.

  • چیزی که اینجا -توی URL- ازش به عنوان فولدر/پوشه حرف زده شد، درواقع می‌تونه حتی فولدر هم نباشه. خیلی از فریمورک ها – از جمله‌ جنگو- این امکان رو می‌دن که برنامه‌نویس بسته به نیازش و چیزی که توی ذهن داره، آدرس‌ها رو تعریف کنه. درمورد URL Pattern و URL Mapping جستجو کنید.

واکنش مناسب نسبت به مشکل عیان شده

۱. هفته‌ی پیش توی سایت سکان آکادمی تصادفن به یه چیز جالب برخوردم. اگر به آخر آدرس هرکدوم از صفحه‌های اصلی یه اسلش اضافه کنیم، بجای اینکه محتوایی که می‌خوایم رو ببینیم با ارور ۴۰۴ مواجه می‌شیم. اگر متوجه نشدین منظورمو فقط کافیه برین توی سایتشون و بخش پادکست‌ها رو باز کنین. در این حالت همه چیز درسته. حالا توی نوار آدرس مرورگر، اگر فقط و فقط یه اسلش اضافه کنیم با ارور ۴۰۴ مواجه می‌شین. مشکل ساده‌ایه. به سختی می‌شه حتی اسم مشکل گذاشت روش. یه چیز ریزه که توی طراحی از دستشون در رفته احتمالن.

۲. این مشکل رو براشون ایمیل کردم. بعد از یکی دو روز جواب دادن. جوابشون فوق‌العاده جالب بود:

با سلام خدمت شما کاربر گرامی،
احتراما به استحضار می‌رساند که Routing سایت به‌گونه‌ای طراحی شده که کلیهٔ صفحات بدون اسلش پایانی Valid هستند.

ارادتمند
تیم سکان آکادمی

تعجب کردین؟ منم همینطور. من بهشون گفتم اگر اسلش بذاریم ته آدرس‌ها، با ۴۰۴ مواجه می‌شیم. جوابشون این بوده که اگر اسلش نذاریم، با ۴۰۴ مواجه نمی‌شیم!!!! این واقعن جواب دردناکی بود. تیمی که پشت این سایته یقینن وظیفه‌ای نداره که درمورد این مسءله به من توضیح بده. ولی وقتی که متوجهون می‌کنم که توی سایتشون چنین مشکلی هست، با انکار و از سرواکردن روبرو می‌شم، اصلن حس خوبی بهم نمی‌ده. درواقع مشکلی که توی طرز جواب دادن و بدتر از اون، توی واکنش نشون دادن به مسءله‌ها دارن حتی از مشکلی که من بهشون گوشزد کردم هم بزرگتره.

۳. این مشکل رو خیلی جاها می‌شه دید: خیلی از ماها عادت داریم که اگر یکی از ایرادهامون رو برامون بیان کردن، بدون لحظه‌ای مکث شروع کنیم به دفاع و حتی انکار. اون هم دربرابر کسی که حتی نیازی به دفاع درمقابلش نداریم. این مسءله البته محدود به ایران ما نمی‌شه و یکی از خصیصه‌های همه‌ی انسان‌هاست. اما متاسفانه توی جامعه‌ی تحصیل نکرده‌ی ما خیلی شدید تر دیده می‌شه.

۴. این اتفاق مدام من رو یاد این صحنه از فیلم ماتریکس می‌ندازه:

denial - matrix
انکار، قابل پیش‌بینی‌ترینِ همه‌ی واکنش‌های انسانیه!

 

  • وقتی نوشتم جامعه‌ی تحصیل‌نکرده، منظورم تحصیلات دانشگاهی نبود. توی اون یکی زیاده‌روی هم کردیم حتی. اما از اونطرف، بجز چیزی که توش متخصصیم، تقریبن در همه‌ی موارد بی سوادیم. مثلن دانشی که درمورد زندگی اجتماعی داریم خیلی دست و پا شکسته و بصورت تمامن تجربی به‌دست اومده و هیچ آموزشی درکار نبوده.
  • سکان‌آکادمی که مدیراش گویا از اعضای نارنجی‌ان که جاش واقعن خالیه،‌ اتفاقن سایت خیلی جالب و خوبیه. مشکلی هم که توی این متن ازش صحبت شد چیز بزرگی نیست واقعن. اما مسءله‌ی ناراحت‌کننده و درواقع محرک اصلی من برای نوشتن این مطلب، واکنششون بود و نه چیز دیگه.