آرشیو نویسنده: محمد عسکری

نقشه سایت XML؛ lastmod، شاردینگ و مانیتورینگ

نقشه سایت شما با وضعیت Success در Search Console ثبت شده، اما ۳۰٪ URLهایش Redirect، noindex یا Duplicate هستند و تاریخ lastmod همه آن‌ها هر شب عوض می‌شود. XML از نظر Syntax سالم است؛ از نظر تصمیم ایندکس، فهرستی غیرقابل اعتماد ساخته‌اید. نقشه سایت XML فهرست «همه URLهای قابل تولید» نیست. یک Feed عملیاتی از […]

هزینه طراحی سایت؛ مدل برآورد Scope، ریسک و TCO

عوامل مؤثر بر هزینه طراحی سایت را بشناسید: نوع پروژه، طراحی UI/UX، امکانات، محتوا، اتصال‌ها، مهاجرت، تست و پشتیبانی در یک برآورد شفاف.

TypeScript در عمل؛ strict، Runtime و مهاجرت امن

کامپایلر سبز است، اما پاسخ درگاه پرداخت چنین می‌رسد: { “amountRial”: “2500000” }. تیم در کد نوشته بود amountRial: number و با یک Type assertion پاسخ را «قابل اعتماد» اعلام کرده بود. برنامه در Production رشته را با عدد جمع می‌کند و خطای مالی می‌سازد. TypeScript شکست نخورده است؛ قراردادی را بررسی کرده که خود […]

محتوای همیشه سبز؛ انتخاب، نگهداری، Refresh و ROI

مقاله‌ای که امروز بازدید می‌گیرد، لزوماً «همیشه‌سبز» نیست؛ شاید فقط هنوز پیر نشده باشد. تفاوت زمانی آشکار می‌شود که قیمت‌ها عوض شوند، رابط ابزار تغییر کند، یک بخشنامه تازه بیاید، لینک‌های منبع از کار بیفتند یا نیت جست‌وجو از «آموزش» به «مقایسه» بچرخد. اگر برای این تغییرها مالک، Trigger و بودجه نگهداری ندارید، دارایی محتوایی […]

برنامه حذف SQL Injection و XSS؛ استاندارد، CI و Retest

تیم یک فروشگاه ایرانی سه بار SQL Injection را «رفع» کرد؛ هر بار در Endpoint دیگری بازگشت. XSS هم پس از تعویض Editor دوباره ظاهر شد. مشکل کمبود WAF یا اسکن نبود: هر Developer راه خودش را برای Query و HTML داشت، هیچ Safe default مشترکی وجود نداشت و Findingها به Regression test تبدیل نمی‌شدند. […]

جلوگیری از SQL Injection و XSS؛ دفاع از Query تا DOM

برای جلوگیری از SQL Injection و XSS با Query پارامتری، Output Encoding، Sanitization، Safe Sink، CSP، کنترل دسترسی، تست و مانیتورینگ آشنا شوید.

محدودیت سایت‌ساز؛ سنجش طراحی، سفارشی‌سازی و خروج

یک فروشگاه ایرانی در دموی سایت‌ساز، صفحه اصلی چشم‌گیری ساخت؛ اما درست پیش از انتشار فهمید نمی‌تواند ترتیب قیمت و تخفیف را در موبایل اصلاح کند، خطای فرم فارسی Focus نمی‌گیرد و خروجی طراحی در پلن خریداری‌شده قابل انتقال نیست. مسئله «بدبودن سایت‌ساز» نبود؛ تیم ظاهر یک صفحه را آزمایش کرده بود، نه سطح کنترل […]

انتقال دامنه بین رجیسترارها؛ چک‌لیست امن و بدون قطعی

یک فروشگاه ایرانی می‌خواست فقط «شرکت ثبت‌کننده دامنه» را عوض کند؛ اما هم‌زمان نام‌سرورها، ایمیل مدیر دامنه و اطلاعات مالک را هم تغییر داد. انتقال معطل شد، DNSSEC خطا داد و ایمیل‌های سفارش به مقصد نرسید. مشکل از خود انتقال نبود؛ چند تغییر پرریسک بدون مرز، مالک و راه بازگشت در یک پنجره اجرا شده […]

CRM فروشگاه اینترنتی؛ انتخاب، داده، یکپارچه‌سازی و اجرا

فروشگاه پوشاک دو رکورد از یک مشتری ساخت: یکی با شماره +۹۸ و دیگری با ۰۹. CRM سفارش مرجوع‌شده را «خرید موفق» دید، کمپین VIP فرستاد و تیم پشتیبانی نیز تاریخچه Refund را پیدا نکرد. مشکل کمبود Feature نبود؛ Identity، Source of truth، Event و Reconciliation قرارداد نداشتند. CRM فروشگاه زمانی ارزش می‌سازد که کار […]

تجربه کاربری PWA؛ نصب، Offline، Sync و Update

کاربر فروشگاه PWA را باز می‌کند، قیمت قدیمی از Cache می‌بیند، سفارش را در اینترنت ناپایدار ثبت می‌کند و پیام «موفق» می‌گیرد؛ اما درخواست هرگز به سرور نرسیده است. چند دقیقه بعد Service Worker تازه وسط Checkout فعال می‌شود و صفحه با Bundle ناسازگار می‌شکند. این تجربه سریع و App-like نیست؛ یک قرارداد State ناقص […]