آی آر نی نی

۱۳۸۹ فروردین ۱, یکشنبه

برنامه نویسی رایانه


ماهیت كار

برنامه نویسان رایانه دستورالعملهائی باجزئیات كامل نوشته و آزمایش وپشتیبانی میكنند. به این دستورالعملها كه رایانه برای كار كردن باید از آنها پیروی كند ، برنامه گفته میشود. كار دیگر آنها طراحی و آزمایش كردن ساختارهای منطقی برای حل كردن مسائل توسط رایانه میباشد. بسیاری از نوآوریها در زمینه برنامه نویسی مانند فن آوریهای پیشرفته محاسبه وزبانها و ابزارهای پیچیده برنامه نویسی به برنامه نویسان نقشی جدید داده و بسیاری از كارهای برنامه نویسی دنیای امروز را بوجود آورده اند. عنوان و توصیف كار آنها بسته به نوع سازمانی كه درآن كار میكنند متفاوت میباشد. بنابراین ، برنامه نویس رایانه به كسی اطلاق میشود كه كار اصلی وی برنامه نویسی است ، اگرچه تفاوتها درمسؤولیتها و سوابق تحصیلی بسیار گسترده است.

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

بسیاری از برنامه نویسان ،‌ برنامه های موجود را به روزرسانی و ترمیم میكنند ویا تغییر و گسترش میدهند. آنها وقتی در قسمتی از یك كد كه به آن روتین گفته میشود تغییری میدهند ، باید كاربرها را از عملكرد جدید آن روتین آگاه كنند. این كار بوسیله گنجاندن توضیحات لازم در بین كدها انجام میشود ، بدین ترتیب دیگران میتوانند عملكرد برنامه را درك كنند. بسیاری از برنامه نویسان از ابزاهای كمك مهندسی نرم افزاررایانه ای برای خودكار سازی بسیاری از عملیات كد نویسی استفاده میكنند . این ابزارها برنامه نویس را قادر میسازند تا بر روی نوشتن قطعات منحصر به فرد برنامه متمركز شود ، چرا كه این ابزارها قطعات مختلف برنامه در حال ساخت را خودكارسازی كرده وبه جای نوشتن خط به خط ، بخشهای كاملی از كدها را خود به خود بوجود میاورند. این روش باعث بوجود آمدن برنامه هائی یكدست تر و قابل اعتمادتر نیز شده و باحذف مراحل تكراری ، توان بهره وری برنامه نویسان را بالا میبرد.

برنامه نویسان برای آزمایش برنامه ، آنرا پس از نوشتن ، اجرامیكنند تا از عملكرد صحیح آن اطمینان حاصل كنند. اگر اشتباهی دراجرای برنامه وجود داشته باشد ، برنامه نویس باید آن قسمت را تغییر داده و دوباره امتحان كند تا زمانیكه برنامه درست عمل كند. به این كار اشكال زدائی ( دیباگ ) گویند. برنامه نویسان ممكن است این عملیات اشكال زدائی را تا زمانی كه از برنامه استفاده میشود (مثلا چندین سال ) ادامه دهند. آنهائی كه در محیط پردازشگر مركزی كار میكنند ممكن است دستورالعملهائی برای كاربری كه از برنامه استفاده میكند تهیه كنند.

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

*

محیط كار

محیط كاری برنامه نویسان معمولا دفاتر كار راحت میباشد. بسیاری از برنامه نویسان برای تحویل به موقع پروژه ها وحل كردن مسائل مهم كاری ، مجبور به كار برای ساعتهای طولانی و اضافه كاری هستند. باتوجه به فن آوریهای روز ، ارتباط از راه دور برای بسیاری از متخصصین رایانه از جمله برنامه نویسان به صورت یك امر عادی در آمده است. با گسترش شبكه های رایانه ای ، برنامه نویسان بیشتری توانائی ارتباط با رایانه ی مشتری از راه دور را برای برطرف كردن ایرادها و مشكلات پیش آمده بدست آورده اند.
همانند بسیاری مشاغل دیگر ، برنامه نویسان نیز باید ساعتهای زیادی را جلو رایانه به تایپ كردن مشغول باشند كه این كار آنها را مستعد خستگی چشم ،‌ كمردرد و مشكلات دست و مچ دست مانند سندروم تونل كارپال میكند.

*

فرصتهای شغلی

برنامه نویسان در هر صنعتی ممكن است به كار گرفته شوند اما بیشترین فرصتهای شغلی در صنعت خدمات رایانه و تحلیل داده ها كه وظیفه نوشتن و فروش نرم افزارها را به عهده دارند میباشد. تعداد زیادی از برنامه نویسان نیز در شركتهای ارائه كننده خدمات مهندسی و مدیریتی ، شركتهای مخابراتی ، تولید كننده های رایانه و تجهیزات دفتری ، مؤسسات مالی ، شركتهای بیمه ، مؤسسات آموزشی و ادارات دولتی به كار مشغولند.
بسیاری از برنامه نویسان رایانه به صورت موقتی و قراردادی و یا برای ارائه خدمات مشاوره ای به خدمت گرفته میشوند. مثلا یك شركت خرید و فروش ممكن است برای راه اندازی یك سیستم جدید مدیریت سرویس دهی به مشتریان به كار چندین برنامه نویس به صورت موقت نیاز داشته باشد. این نحوه كار كردن به شركتها اجازه میدهد تا برحسب نیاز كاریشان افرادی با تخصصهای خاص و معمولا آشنا به آخرین فن آوریها را بدون نیاز به باز آموزی كاركنان خود شركت به كار گیرند. این قراردادها ممكن است چند هفته ای یا حتی چند ساله باشند.

*

آموزش و ادامه تحصیل

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

برای برنامه نویسی سیستم كه در بالا به آن اشاره شد ، دانش وسیع درباره سیستمهای عامل مختلف ضروری است. این شامل توانائی طراحی سیستم عامل برای كار با انواع مختلف سخت افزار و سازگار سازی سیستم برای برآوردن نیازهای خاص یك شركت نیز میباشد. این برنامه نویسان باید با كار با سیستمهای پایگاه داده ها مانند اوراكل نیز آشنائی لازم را داشته باشند.
یك برنامه نویس باید توانائی تفكر به روش منطقی و توجه به جزئیات را داشته باشد. این كار نیاز به شكیبائی ، مداومت و توانائی كار تحلیلی دقیق بخصوص تحت شرایط فشار دارد. ابتكار و قدرت تخیل نیزبرای طراحی راه حلها و پیشگیری از خطاها از شروط لازم میباشند. برنامه نویسان سیستم باید توانائی كار بر روی مفاهیم انتزاعی و تحلیل فنی را داشته باشند. از انجائیكه در بسیاری موارد برنامه نویسان به صورت تیمی كار میكنند و با كاربرها سروكار دارند ،‌ باید قادر به ارتباط برقرار كردن با كارمندان غیر فنی نیز باشند.
تازه كارها ممكن است به تنهائی بر روی یك برنامه اولیه كار كنند ویا به همراه برنامه نویسان با تجربه و به صورت تیمی به كار گرفته شوند. درهر صورت این افراد تازه كار باید تحت نظارت مستقیم حرفه ایها قرارگیرند. به علت رشد سریع فن آوری ، برنامه نویسان مجبور به شركت در دوره های مكرر باز آموزی میباشند.

*

چشم انداز آینده

بیشترین رشد در زمینه برنامه نویسی سیستم و اجرائی درآینده درزمینه های تجزیه و تحلیل داده ها ، تهیه نرم افزار و خدمات مشاوره ای رایانه خواهد بود. اما رشد برنامه نویسی نسبت به دیگر رشته های تخصصی رایانه كند تر است . با رشد سریع فن آوری ، نرم افزارهای پیچیده رایانه ای امروزه قادر به نوشتن بسیاری از كدهای پایه ای برنامه میباشند واین مسئله نیاز به برنامه نویسهای بیشتر را برای انجام اینگونه كارهای تكراری از بین برده است . پیشرفت در تولید بسته های نرم افزاری ، ابزارها و زبانهای برنامه نویسی پیشرفته و رشد توانائی كاربرها در طراحی ، نوشتن و اجرای برنامه های خاص خودشان بدین معناست كه بسیاری از كارهای عملیاتی برنامه نویسی قابل انتقال به دیگر مشاغل میباشند. با بالا رفتن سطح نوآوری و پیچیدگی فنی ، برنامه نویسان با رقابت بیشتری در سطح بین المللی روبرو میشوند ،‌ چرا كه شركتها قادر به سفارش دادن برنامه نویسی با قیمت كمتر به كشورهای دیگر میباشند.
با اهمیتی كه امروزه شبكه ها و محیطهای اینترنتی پیدا كرده اند ، شركتها به دنبال برنامه نویسانی هستند كه قادر به تبادل داده ها و پیاده سازی تجارت الكترونیك و استراتژیهای اینترانت باشند. از دیگر زمینه های مورد توجه ، مولتی مدیا و برنامه نویسی مشتری/ سرویس دهنده میباشند. راز موفقیت یك برنامه نویس در آینده پیش رفتن با فن آوری روز، تبحر دربرنامه نویسی پایگاه داده ها و اینترنت و تلفیق مدرك دانشگاهی با تجربه كاری میباشد.

۱۳۸۸ اسفند ۲۹, شنبه

رابطه مستقیم بین رضایت بازدیدکننده‌ها و ویژگی‌های ظاهری یک سایت


شما برای تاثیر گذاشتن بر روی بیننده، فرصت بسیاری کمی دارید. عده‌ای این زمان را ۲۰ ثانیه، عده‌ای دیگر ۱۰ ثانیه عنوان می‌کنند. البته ما با این زمان‌ها کار نداریم. همین قدر کافی‌ست که بدانیم این مدت بسیار کم است و شما باید تمام سعی خود را انجم دهید تا در این مدت کم، بازدیدکننده را به کاربر و یا مشتری خود تبدیل کنید. بعد از رفتن به یک سایت جدید، برای بسیاری از ما مهم این است که در نگاه اول سایت جذبمان کند.(دقت کنید هدف، سایت‌های بزرگی مانند ویکی پدیا نیستند)

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

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

هماهنگی سایت شما با تمامی مرورگرها، موضوعی است که باید روی آن دقت کنید. یکی از مهم‌ترین دغدغه‌های هر طراح سایتی، سازگاری و یکپارچگی وب سایتش، با تمامی نسخه‌های مرورگرهاست! مطمئن باشید شخصی حاضر نمی‌شود فایرفاکس و یا اپرا را ترک کند، تنها به این دلیل که وب سایت شما با آنها هماهنگ نیست!

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


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

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

در نهایت شما باید بینندگان سایت خود را بشناسید و نگرش آنها را به زیبایی درک کنید و یا سایت خود را طوری طراحی کنید تا با ارائه یک ایده خاص، بتواند یک نشانه برای بیننده ایجاد کند تا باز هم سراغ سایت شما بیاید. می‌توانید مطمئن باشید، بعد از انجام این کارها، سایت مورد نظر، مورد توجه همگان قرار خواهد گرفت.

۱۳۸۸ اسفند ۲۸, جمعه

طراحی سایتهای داینامیک و مزیتهای آنها


صفحات دینامیک امروزه بسیار محبوب شده اند. آنها و پایگاه های داده به سایت ها قدرت فراوانی ارزانی کرده اند. صفحه دینامیک صفحه ای است که در پاسخ به درخولست کاربر ساخته می شود و بیشتر محتوای آن از یک پایگاه داده فراهم می شود.

تنها با انتخاب چند گزینه توسط کاربران صفحه ای که مورد نظر وی بوده است، ساخته می شود. این گونه صفحات به کاربران توانایی دسترسی سریع به حجم عظیمی از اطلاعات و به مدیران سایت ها سرعت و سادگی به روز رسانی اطلاعات را هدیه می کنند زیرا تنها اطلاعات پایگاه داده به روز رسانی می شود، نه صدها صفحه دیگر!
ممکن است هنوز هم آنها کمی برای شما پیچیده به نظر برسند. اگر اینگونه است آخرین باری که در گوگل جستجو کرده اید را به خاطر آورید. صفحه ای که نتایج جستجو را در اختیار شما قرار داد یک صفحه دینامیک بود!
صفحه دینامیک در حقیقت وجود ندارد و تنها با توجه به درخواست کاربر ساخته می شود. برای ساخت اینگونه صفحات از تکنولوژی هایی نظیر دات نت، PHP, ASP, JSP, Cold Fusion, Perl استفاده می شود.
این صفحات از دیدگاه کاربران فوق العاده هستند اما از دیدگاه موتورهای جستجوگر می توانند مشکل زا باشند. اما مشکل چیست؟

گفته شد که برای ساخته شدن این صفحات باید متغیرهایی انتخاب شوند و سپس دکمه ای فشرده شود. مشکل هم در همین جا نهفته است: اسپایدرها توانایی انتخاب این گزینه ها را ندارند و لذا صفحه ای ساخته نمی شود که آنرا بخوانند.
آدرس اینگونه صفحات اغلب دارای علامت سوال (?) است. همینطور وجود علامتهای % ، = ، +، $ یا & در یک آدرس می تواند بیانگر داینامیک بودن آن باشد. به تمام آنچه که بعد از علامت سوال می آید Query String گفته می شود.

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

▪ جلوگیری از بایگانی شدن محتوای یکسان
در سایتهای داینامیک اغلب اتفاق می افتد که محتوایی مشخص، آدرسهای متفاوتی داشته باشد. کاربران نیز دوست ندارند، صفحاتی با محتوایی یکسان در نتایج جستجو نمایش داده شوند لذا موتورهای جستجوگر برای جلوگیری از این مورد به هنگام برخورد به علامت سوال، احتیاط پیشه می کنند. موتورهای جستجو، در واقع تا قبل از علامت سوال را بایگانی می کنند که آدرس صفحه ای مشخص خواهد بود هر چند که تمام کارکترهای بعد از علامت سوال در آن حذف شده است. سایتهایی که از Session ID در آدرسهای صفحات خود بهره می گیرند نیز این مشکل را دارند.

▪ موتورهای جستجوگر می خواهند نتایج دقیقی را ارایه دهند.

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

▪ جلوگیری از گیر افتادن در پایگاه داده ای خاص
ممکن است با بایگانی شده صفحه ای از یک سایت، صفحات بی نهایت دیگری به اسپایدر موتور جستجوگر خورانده شود که منجر به از کار افتادن اسپایدر یا اتلاف وقت آن می شود. این حالت زمانی اتفاق می افتد که حلقه ها در برنامه نویسی سایت بسته نشوند (حلقه های if یا while).
در حال حاضر بسیاری از موتورهای جستجوگر مشکلی با صفحاتی که تنها دارای یک پارامتر در آدرس خود هستند، ندارند. نمونه ای از این آدرسها در زیر آمده است:
www.mywebsite.com/products.asp?no=۲۰

اما زمانیکه پارامترهای یک آدرس چندین مورد می شود، برای موتور جستجوگر تشخیص اینکه آیا آدرس مورد نظر محتوایی غیر تکراری و منحصر بفرد را ارایه می دهد، سخت تر می شود. در یک آدرس داینامیک می توان یک صفحه را با چندین پارامتر که از هم به کمک & جدا شده اند، نمایش داد. در آدرس زیر که دو پارامتر دارد موتور جستجوگر راهی برای تشخیص اینکه کدام پارامتر یک صفحه جدید را نشان می دهد و کدام پارامتر تنها برای مقاصدی دیگری از قبیل دسته بندی اطلاعات و ... به کار رفته است، ندارد:
www.mysite.com/products.asp?no=۲۰&cat=app

بنابراین یک راه مناسب برای طراحی سایتهایی داینامیک که مشکلات کمتری با موتورهای جستجوگر دارند، کاهش دادن تعداد پارامترهایی است که در آدرسها به کار می روند. راههای دیگر استفاده از صفحات اطلاعاتی، طراحی نسخه ای از صفحات مهم داینامیک به صورت استاتیک، اصلاح کاراکترهای آدرسهای صفحات و حضور در نتایج جستجو به کمک روشهایی مانند PFI یا PPC است.

امروزه مقوله بهینه سازی سایتهای فروشگاهی که عمدتا به صورت داینامیک هستند، بسیار جدی است زیرا اگر این سایتها نتوانند بینندگان قابل ملاحظه ای از موتورهای جستجوگر کسب کنند، فروش آنها به میزان زیادی کاهش می یابد.

آروین تاژ آفرین