عنوان متن یکم عجیبه ولی بهترین حالتی بود که به ذهنم رسید! این مطلب برای کسانی هست که قصد دارن برای کسب و کارشون وبسایت بزنن و یا سفارش بدن.
توی آشفته بازار طراحی سایت که از سایت های رایگان و سایت های پنجاه هزار تومنی تا سایت های چند ده میلیون تومنی داره طراحی و اجرا میشه ما از کجا بدونیم کدوم خوبه و کدوم بد و یا چه چیزی به درد ما می خوره.
تجربه ی پانزده ساله ی من در طراحی و پیاده سازی وبسایت و نرم افزارهای آنلاین و همچنین گفتگو با کسانی که با وبسایت های قبلیشون به مشکل خوردند باعث شد تا این مقاله رو بنویسم تا افرادی که قصد دارن صاحب وبسایت بشن با دونستن این نکات،  بتونن بین این همه گزینه انتخاب بهینه رو داشته باشن.
 
 
 
هدفتون رو مشخص کنید
 
هدف شما از راه اندازی وبسایت چیه؟ آیا می خواید تبلیغ آنلاین کنید؟ آیا می خواید در مورد کسب و کارتون اطلاع رسانی کنید؟ آیا می خواید نمونه کارها یا پروژه هاتون رو داخلش بذارید؟ آیا قصد فروش آنلاین محصولاتتون رو دارید؟ آیا می خواید با عوامل فروشتون به صورت آنلاین ارتباط داشته باشید؟
قبل از سفارش وبسایت به این سؤالها فکر کنید. مسیر خودتون رو مشخص کنید تا تکلیفتون با طراح هم مشخص باشه.
 
 
 
با انواع وبسایتها آشنا بشید
وبسایتهای اینترنتی به دو دسته ی کلی تقسیم میشن : استاتیک (یا ایستا) و داینامیک (یا پویا) در وبسایت های نوع اول مطالب سایت توسط طراح جایگذاری میشه و دیگه قابل تغییر نیست مگر توسط خود طراح. در وبسایت های نوع دوم قالب سایت توسط طراح، طراحی میشه و مکان مطالب پیش بینی میشه و مدیر یا اپراتور سایت (که شما باشید) می تونه در هر زمان که خواست مطالب رو کم و زیاد یا ویرایش کنه، بدون نیاز به طراح.
الآن تقریباً همه ی شرکت ها سایت های داینامیک به شما تحویل میدن و دیگه دوره ی سایت های استاتیک گذشته مگر برای کارهای خاص یا کارهایی که نیازی به تغییر مداوم نداشته باشه. به هرحال در این مورد از طراح سؤال کنید و مطمئن بشید که سایت، داینامیک خواهد بود.
 
 
 
سیستم مدیریت محتوا (CMS)
اگه مدتی هست به دنبال سایت هستید احتمالاً کلمه ی سی ام اس رو شنیدید. CMS مخفف Content Management System یا سیستم مدیریت محتوا هست. معنی این عبارت تقریباً همونی هست که درباره سایتهای داینامیک بهتون توضیح دادم یعنی نرم افزاری که باهش می تونین محتوای وبسایتتون رو مدیریت کنید.
یک سری CMS ها در اینترنت هست که رایگانه مثل JoomlaWordPressPHP Nuke.Net NukeMovable Types و خیلی های دیگه. برای استفاده از این نرم افزارها دانش کمی لازمه و هرکسی می تونه حتی نصب و راه اندازی یک وبسایت به وسیله این نرم افزارها رو یاد بگیره. بعضی شرکتها با این نرم افزارها کار می کنن و فقط هزینه ی نصب نرم افزار رو می گیرن.
خیلی از پروژه های دولتی هم با وجود گردش کارهای بسیار بالا در نهایت به نصب همین نرم افزارهای رایگان منتهی میشه!
بهر روی، استفاده از سی ام اس های رایگان هرچند در هزینه صرفه جویی می کنه ولی خطر مشکلات امنیتی و دسترسی های غیرمجاز توش هست. چون کد این نرم افزارها در اختیار همه هست و خیلی راحت می تونه توسط هکرها مورد سواستفاده قرار بگیره. مشکل دوم اونها سخت بودن تغییر دادنشون هست. برای اینکه بخواین بخشی از نرم افزار یا سایتی که باهش درست شده رو تغییر یا توسعه ای بدین که در خود نرم افزار پیش بینی نشده باشه باید یک برنامه نویس حرفه ای پیدا کنید که از کدها و دیتابیس اون سر دربیاره و بعد تغییرات مورد نظرتون رو اعمال کنه که ممکنه وقت و هزینه زیادی ببره.
اما در کنار سی ام اس های رایگان، قطعاً سی ام اس های اختصاصی شرکت ها هستن که شامل هزینه میشن و کدهای اون فقط در اختیار همون شرکت هست. بررسی مسائل امنیتی این گروه برای شما امکان پذیر نیست مگر با اتکا به اعتبار، سابقه و نمونه کارهای اون شرکت. 
البته شرکتها و آزمایشگاههایی هم هست که نرم افزارهای شرکتها رو تست می کنه و بهشون گواهینامه امنیتی میده مثل «آزمایشگاه های آپا» در دانشگاه های معتبر کشور.
 
 
 
تکنولوژی های طراحی
 
 
برای طراحی صفحات وب از استانداردی به نام HTML استفاده میشه که تمام مرورگرها (Browser ها مثل اینترنت اکسپلورر، گوگل کروم، موزیلا فایرفاکس و ...) این استاندارد رو می شناسن و نمایشش میدن. HTML برای قالب دهی و تزئین صفحات وب از استاندارد دیگه ای به نام CSS استفاده می کنه که کارش فرمت دادن به اجزای صفحه و زیباتر کردن اونهاست. آخرین نسخه ی این استانداردها تا الآن HTML5 و CSS3 هست که مرورگرهای خوب مثل کروم و فایرفاکس بطور کامل درست نمایششون میدن ولی ممکنه توی IE (اینترنت اکسپلورر) قدیمی کاملاً درست نمایش داده نشن. البته روشهایی هست که سایت HTML5 در IE های قدیمی هم درست نمایش داده بشن ولی نهایتاً نسخه ۶ این نرم افزار ملاک قرار می گیره و نسخه های قدیمی تر سایت های جدید رو درست نشون نمیدن. شما از طراحتون بخواید که سایت در تمام مرورگرها درست نمایش داده بشه اما اگر علاقه مند به طراحی های جدید هستید تاحدی مجبورید چشمتون رو روی نسخه ۶ و ۷ IE ببندید!
همچنین با گسترش استفاده از موبایلها و تبلت های جدید بحث نمایش درست در موبایل و تبلت هم به طراحی سایت اضافه شده که به عنوان واکنش گرا (Responsive) بودن شناخته میشه. اگر می خواید سایتتون در موبایل و تبلت خوب نمایش داده بشه از طراح بخواید که سایت رو ریسپانسیو طراحی کنه. در این حالت کار طراح یک و نیم یا دو برابر میشه چون بازای حالات نمایش باریک در موبایل و کوچک در تبلت هم باید طراحی های جداگانه ای انجام بده.
یکی دیگه از تکنولوژی هایی که در صفحات وب استفاده میشه Flash هست که می تونه انیمیشن یا طرحهای زیبایی به سایت بده ولی به چند دلیل دیگه زیاد ازش استفاده نمیشه، اول اینکه حجم سایت رو بالا می بره و سایت دیرتر بالا میاد، دوم اینکه اگر بازدیدکننده سایت، نرم افزار Flash Player روی سیستمش نصب نباشه یا غیرفعال باشه اون قسمت از سایت نمایش داده نمیشه، سوم اینکه تکنولوژی های جدید مثل CSS3 و jQuery وجود دارن که همون ظاهر زیبا و انیمیشن ها رو با حجم کم و قابل نمایش برای همه داخل سایت ممکن می کنن.
 
برای تعامل با کاربر و پاسخگویی به درخواستهاش توی وبسایت مثل جستجو، گزارشگیری و... از زبانهای برنامه نویسی تحت وب استفاده میشه مثل PHP ، ASP.NET ، JavaScript ، jQuery و ... . دو زبان اول، زبانهای رایج برای برنامه نویسی سمت سرور سایتها هستند. هرچند هرکدوم از این زبانها طرفدارن خودشون رو دارن و دلایلی برای طرفداری، میشه گفت با پیشرفت تکنولوژی از لحاظ قدرت و سرعت تفاوت چندانی بینشون وجود نداره. تفاوتهایی که دونستنش ممکنه به درد شما بخوره لایسنس یا حق استفاده از این نرم افزارها هست که برای PHP رایگان و برای ASP.NET نیازمند خرید از مایکروسافت هست که البته در حال حاضر داخل ایران تفاوتی نمی کنه ولی اگر ایران به سازمان تجارت جهانی بپیونده اونوقت ممکنه برای استفاده کننده های محصول پولی مشکلاتی پیش بیاد، و یا اگر وبسایت قصد تجارت بین المللی داشته باشه.
تفاوت دوم «هاست» یا فضای میزبانی هست که اگر سایت با ASP.NET نوشته شده باشه فقط روی هاست ویندوزی جواب میده ولی برای PHP تفاوتی نمی کنه.
نمونه های قوی از هردو زبان روی اینترنت وجود داره مثلاً فیسبوک که با PHP نوشته شده یا سایت مایکروسافت که با ASP.NET نوشته شده.
 
 
 
فضای میزبانی (هاست)
 
 
اطلاعات و فایلهای وبسایت شما برای قرار گرفتن در اینترنت روی یک کامپیوتر متصل به اینترنت با شرایط خاص ریخته میشه که به این کامپیوتر هاست یا میزبان سایت شما میگن. مقدار فایلهای مورد نیاز سایت شما اعم از مطالب، عکس ها، ویدیوها و اسناد مختلف، میزان فضای مورد نیاز برای میزبانی سایت شما رو مشخص می کنه. این فضاها با حجم های مختلف مثل ۱۰۰، ۲۰۰، ۵۰۰ مگابایت و یا چند گیگابایت بنا به نیاز وبسایت شما و به صورت سالیانه اجاره داده میشه.
هر کامپیوتر میزبان می تونه چندین وبسایت رو میزبانی کنه بدون اینکه اطلاعات اونها باهم تداخل پیدا کنه و یا مدیران وبسایتها به فایلهای سایت های دیگه دسترسی داشته باشن.
این کامپیوترها در شرکتهایی با نام دیتاسنتر تحت شرایط خاص نگهداری میشن. شرایط استاندارد یک دیتاسنتر شامل موارد زیادی میشه مثل استقامت در برابر زلزله، آتش سوزی، سیل، رفتن برق، اتصالی یا نوسان برق و بسیاری موارد امنیتی دیگه که همگی برای تأمین امنیت اطلاعات وبسایتهاست.
دیتاسنترها هم به صورت مستقیم و هم از طریق نماینده های فروششون که با نام شرکت های هاستینگ معروفن سرویس های میزبانی رو ارائه می کنن.
سرویس های هاستینگ سه نوع اصلی دارن :
  • فضای اشتراکی (Shared Host)
  • سرور اختصاصی مجازی (VPS)
  • سرور اختصاصی (Dedicated Server)
برای درک تفاوت این انواع باید این پیش نیاز رو بدونید :
روی هر کامپیوتر میزبان نرم افزاری از نوع سیستم مجازی (Virtual Machine) نصب میشه و این قابلیت رو به وجود میاره که روی یک کامپیوتر چندین سیستم عامل با منابع کاملاً اختصاصی نصب بشه. با این کار این کامپیوتر تبدیل میشه به چند کامپیوتر مجازی که هرکدوم یک مقدار از CPU, RAM, Hard و بقیه منابع کامپیوتر اصلی رو به صورت اختصاصی در اختیار دارن. این سیستم های مجازی فقط به منابع تعریف شده خودشون دسترسی دارن و به منابع بقیه سیستم های مجازی روی اون کامپیوتر دسترسی ندارن.
روی هرکدوم از این سیستم های مجازی نرم افزاری از نوع کنترل پانل هاست (مثل دایرکت ادمین، پلسک، سی پانل و ...) نصب میشه و این امکان رو به وجود میاره که اطلاعات چندین وبسایت روی اون ریخته بشه و مدیر هر سایتی با یوزر و پسوردش فقط به اطلاعات سایت خودش دسترسی داشته باشه.
حالا برمیگردیم به انواع هاستینگ، واگذاری فضا برای وبسایت در یک سیستم مجازی که وبسایت های دیگه ای هم روی اون هستن میشه فضای اشتراکی، واگذاری کل یک سیستم مجازی با تمام منابعش میشه VPS و واگذاری کل یک کامپیوتر واقعی در دیتاسنتر با صد درصد منابعش میشه Dedicated Server.
فضای اشتراکی در این بین کمترین قیمت رو داره ولی باید توجه کنید اگر شرکت هاستینگ شما تعداد زیادی وبسایت رو در یک سیستم مجازی تعریف کنه به خاطر اشتراکی بودن منابع کیفیت هاست پایین میاد مثلاً ممکنه سایت دیر بیاد بالا یا خیلی از مواقع قطع بشه و سایت اصلاً بالا نیاد.
برای بیان کیفیت هاست از درصد Uptime استفاده میشه. مثلاً هاست اشتراکی با Uptime 99.99%. ممکنه این عبارت رو در وبسایت های هاستینگ زیاد دیده باشین ولی بد نیست بدونین برای تعداد ۹ های بعد از ممیز در این عدد استانداردهای بین المللی وجود داره که شرکت های هاستینگ باید طبق اون درصد آپتایمشون رو بیان کنن. اما متأسفانه در ایران بعضی از هاست ها با بیان حتی ۹۹/۹۹۹٪ در تبلیغات عملاً هاست هایی حتی با آپتایم ۹۸٪ ارائه میدن. برای فهمیدن آپتایم واقعی هاستی که می خواید بگیرید می تونین از سرویس www.pingdom.com استفاده کنید.
یکی از علت های تفاوت قیمت هاست ها همینه و علتهای دیگش می تونه مربوط به امنیت و پشتیبانی اون هاست باشه.
معیار دیگه ای که بجز حجم برای یک هاست وجود داره میزان ترافیک مجازش هست که به صورت ماهیانه بیان میشه. وقتی یک نفر به سایت شما وارد میشه، متن ها، تصاویر و ویدیوهایی که در صفحات سایتتون قرار دادین از هاست به کامپیوتر اون فرد منتقل میشه که مجموع حجم این فایلها و متن ها از ترافیک مجاز ماهیانه ی شما کم میشه. به عنوان مثال اگر در صفحه اصلی سایت شما دو عکس با حجم های ۱۰۰ کیلوبایت و ۲۰۰ کیلوبایت وجود داشته باشه در صورت یک بار بازدید از صفحه اصلی ۳۰۰ کیلوبایت ترافیک مصرف میشه. حالا اگر ۱۰۰ نفر در روز صفحه اصلی سایت شما رو ببینن میشه روزی ۳۰ مگابایت و در ماه میشه نزدیک ۱ گیگ. پس موقع خرید هاست، حدود تعداد بازدیدها و حجم فایلهای وبسایتتون رو در نظر بگیرید تا به اصطلاح سایت نخوابه. البته یک طراح حرفه ای وب تصاویر رو برای وبسایت بهینه می کنه تا بدون افت کیفیت حجمشون پایین بیاد و راهکارهایی برای فایل های سنگین وبسایت بهتون ارائه میده تا از ترافیک سایت شما کمتر استفاده بشه.
 
 
 
دامنه (دومین)
 
Domain یا دامنه نام یا آدرس سایت شماست. این نام در سراسر اینترنت منحصر بفرد هست و هرکس آدرس یا دامنه سایت شما رو در هرجای دنیا توی مرورگرش بزنه سایت شما براش باز میشه. بنابراین موقع خرید دامنه باید چک بشه که این دامنه آزاد هست یا کس دیگه ای قبلاً ثبتش کرده که در حالت اول می تونید اون دامنه رو بخرید.
دامنه از دو قسمت تشکیل میشه : نام و پسوند. نام عنوانی هست که شما برای وبسایتتون انتخاب می کنید و پسوند عبارتی دو تا چندحرفی هست که از یک لیست محدود می تونید انتخاب کنید. به عنوان مثال goonagoon.net یک دامنه هست که نامش goonagoon و پسوندش net هست.
هر پسوند مخفف یک کلمه است که تاحدی معرف محتوای اون وبسایت هست. مثلاً com مخفف Commercial برای وبسایت مجموعه های تجاری استفاده میشه یا net مخفف Network برای شبکه های مختلف هست. همچنین هر کشوری پسوند مخصوص خودش رو داره مثل us برای آمریکا و ir برای ایران.
تفاوت پسوندها فقط برای معرفی ماهیت وبسایت هست وگرنه تمام پسوندها در تمام کشورها قابل رویت هست. لیست کامل پسوندها رو می تونید اینجا ببینید :
دامنه مثل هاست به صورت دوره ای اجاره داده میشه و باید سر موعد تمدید بشه. در صورت تمدید نشدن تا مدتی برای صاحب فعلی رزرو می مونه و بعد از اون آزاد میشه و شخص دیگه ای می تونه اون رو بخره.
نکته ای که موقع خرید دامنه باید بهش توجه داشته باشید این هست که دامنه به اسم خودتون ثبت بشه. اکثر شرکتها دامنه را به نام خودشون ثبت می کنن و علتش هم امکان مدیریت بعدی دامنه برای مشتری هست، چون مدیریت دامنه و اتصال اون به هاست نیازمند فرایندهای ایمیلی هست و بسیاری از مشتریان ایمیل فعال ندارن. اما اگر قصد برندسازی برای کسب و کار خودتون دارید حتماً دامنه رو به اسم خودتون ثبت کنید تا جلوی سوءاستفاده های احتمالی بعدی گرفته بشه.
 
 
 
آموزش
بعد از طراحی و آماده شدن سایت، باید کار کردن با وبسایت رو یاد بگیرید. منظور از کار کردن، اضافه کردن مطلب جدید، ویرایش یا حذف مطالب، گذاشتن عکس یا فیلم داخل سایت و مواردی هست که می خواستید داخل سایت انجام بشه. در نظر داشته باشین که شما همیشه به طراحتون دسترسی ندارین پس بهتره خودتون بتونین تغییرات لازم رو در سایت ایجاد کنین. اگر تو زمینه کامپیوتر و اینترنت سررشته ای ندارین، حتماً یکی از نزدیکانتون که وارد هست رو برای آموزش با خودتون ببرین. موقع آموزش گرفتن اگر ایراد یا خطایی در سایت وجود داشته باشه هم مشخص میشه و یک چکاپ کلی برای شما و طراحتون هست.
 
 
 
قرارداد
 
 
بسیاری از وبسایتها با وجود انگیزه ی بالای کارفرما و ادعاهای طراح در ابتدای کار، در نهایت به نتیجه مطلوب نمیرسن و یا بعد از مدتی بلااستفاده میشن و در صورتی که کارفرما همچنان به سایت نیاز داشته باشه بعد از مدتی از نو با یک تیم دیگه بسته میشن و گاهی این پروسه چندبار تکرار میشه که هم باعث اتلاف وقت و هزینه و انگیزه ی کافرما میشه و هم می تونه از اون سمت باعث اتلاف وقت و افت کیفیت کار از جانب طراح بشه.
برای جلوگیری از این موارد، علاوه بر اینکه باید شما هدف و مسیر کسب و کار آنلاینتون رو بطور کامل مشخص کنید باید یک قرارداد خوب با پیمانکار طراحی ببندین. اول از همه بدونید که "شخصی کار کردن" به خاطر نداشتن هزینه های مکان، دارایی، حقوق و دستمزد و بیمه، همیشه قیمت انجام کار رو پایین تر میاره ولی در ادامه کار، مشکلاتی رو به وجود میاره مثل عدم دسترسی به طراح (رفتن به خارج از کشور، اعزام به خدمت، قبولی دانشگاه یا دوره امتحانات، شکست عشقی! یا حتی کلاهبرداری)، عدم ارائه پشتیبانی خوب، عدم اطلاع از کیفیت کار شخص و عدم اطمینان نسبت به رعایت محرمانگی اطلاعات وبسایت.
پس در کنار قیمت پایین طراح های شخصی این موارد رو هم مدنظر داشته باشید.
در مقابل، کار شرکتی هست که شما می تونید با توجه به سابقه شرکت، نمونه کارها و ارتباط با مشتریانش با اطمینان بیشتری قرارداد ببندید. در کار شرکتی طرف حساب شما شخص نیست بلکه یک موجودیت حقوقیه که نسبت به قراردادش پایبندتره و در صورت کم کاری براحتی می تونه مورد پیگیری قانونی قرار بگیره.
بعد از انتخاب طرف قرارداد شما باید روی موارد درخواستیتون تمرکز کنید، قرارداد باید حتماً پیوست فنی داشته باشه و این پیوست هرچی کامل تر و دقیق تر باشه احتمال به مشکل خوردن شما در آخر قرارداد کمتر میشه.
خبر داشتن از قوانین جاری قراردادها و مالیات ارزش افزوده و تکلیفی و غیره در بهتر بسته شدن قرارداد به شما کمک می کنه.