10 نکته SEO برای وب سایت های ASP.NET
10 نکته SEO برای وب سایت های ASP.NET
پس از ساخت یک وب سایت و قرار دادن آن در اینترنت، مهمترین مسئله پیدا کردن بازدیدکننده و مشتری برای آن است. وب سایتی که بازدیدکننده نداشته باشد به هیچ دردی نمی خورد. در این روزگار هم بازدید کننده و مشتری از کجا پیدا می شود… از موتورهای جستجوی معروف مثل گوگل، یاهو و بینگ! اکثر بازدیدهای یک وب سایت را موتورهای جستجو تامین می کنند، به همین علت داشتن یک رتبه ی خوب در موتورهای جستجو یک امتیاز مهم محسوب می شود و باعث پیشرفت وب سایت شما خواهد شد. موتورهای جستجو برای ربته بندی وب سایت ها در نتایج جستجوی خود قوانین مشخصی دارند که با پیروی از این استانداردها می توانید وب سایت خود را برای موتورهای جستجو بهینه کنید. به بهینه کردن یک وب سایت برای موتورهای جستجوگر SEO یا Search Engine Optimization می گویند.
در این مطلب با نکاتی آشنا خواهید شد که اگر آن ها را به کار بگیرید، موتورهای جستجوگر مطالب وب سایت شما را ایندکس خواهند کرد و لینک های شما در نتایج جستجوی موتورهای جستجوگر معروفی همچون گوگل پدیدار خواهد شد! هر چند این نکات به صورت عمومی و برای صفحات استاتیک هم کاربرد دارند اما این مطلب به صورت خاص برای توسعه دهندگان ASP.NET نوشته شده است.
1 ) URLهای تمیز بسیازید!
URL یک صفحه وب، اولین جایی است که یک موتور جستجو می بیند پس سعی کنید تا جایی که می توانید آدرس های شما با معنی باشند. اگر از ASP.NET MVC استفاده می کنید که هیچ! در غیر این صورت باید از تکنیک URL Rewriting برای بازنویسی آدرس های پارامتری و تبدیل آن به URLهای با معنی استفاده کنید. به طور مثال شما باید آدرسی مثل mysite.com/products.aspx?id=1 را تبدیل به mysite.com/products/1 کنید. اگر به جای اعداد از کلمات با معنی استفاده کنید که چه بهتر!
2 ) URLهای کوتاه بهتر از URLهای طولانی است
سعی کنید آدرس های تولید شده توسط وب سایت شما حداقل طول ممکن را داشته باشند. خود گوگل توصیه می کند که صفحات پویا حداکثر دارای دو پارامتر باشند. صفحاتی با آدرس شبیه به mysite.com/products.aspx?item=3&category=7&subcategory=12&show=true شانس کمتری برای ایندکس شدن نسبت به صفحاتی با یک URL تمیز و کوتاه دارند.
3 ) تا جایی که می توانید از ایجاد Postback جلوگیری کنید!
استفاده از Postback در صفحات aspx می تواند از مهمترین دلایل برای عدم ایندکس شدن بخشی از این صفحات در موتورهای جستجوگر باشد. به طور مثال فرض کنید بخشی از صفحه را در یک Panel قرار داده اید که کاربر پس از فشردن یک دکمه و ایجاد یک Postback به صفحه دستور panel1.Visible = true اجرا شده و محتویات پانل را به کاربر نمایش می دهد. این کار اشتباه شما باعث عدم ایندکس شدن بخشی از محتویات سایت شما که در پانل وجود دارد، می شود، به این دلیل که یک موتور جستجو نمی تواند لینک های یک دکمه را دنبال کند، به زبان ساده تر نمی تواند روی آن دکمه کلیک کند تا ببیند چه اتفاقی می افتد! علاوه بر این مورد، Postback باعث ساخته شدن مقداری کد جاوا اسکریپت در صفحه ما می شود که هم حجم صفحه را بالا می برد و هم اینکه این کدها به هیچ وجه ایندکس نمی شوند. راه حل استفاده از Query String برای انجام اعمالی است که می خواهید هنگام Postback انجام شوند. به طور مثال یک پارامتر به همین صفحه می فرستید و در Page_Load پارامترها را چک می کنید تا عمل مورد نظر کاربر را انجام دهید. در این صورت صفحه شما به راحتی در موتورهای جستجو ایندکس خواهد شد.
4 ) تا جایی که می توانید از کنترل Button استفاده نکنید!
در بکارگیری و استفاده از کنترل تحت سرور asp:Button دقت مضاعف! داشته باشد. این کنترل حتی اگر کدی برای آن ننویسید باعث ایجاد یک Postback می شود. موتورهای جستجوگر نمی توانند کد پشت این دکمه را اجرا کنند تا نتیجه را ایندکس کنند. سعی کنید تا جایی که امکان دارد به جای استفاده از دکمه از تگ a (لینک معمولی) و دستور Response.Redirect استفاده کنید.
5 ) همیشه Title صفحه را به صورت پویا ایجاد کنید
هنگامی که یک صفحه aspx به پروژه خود اضافه می کنید، صفحه شما هیچ Title خاصی ندارد. همانطور که می دانید تگ Title یکی از مهمترین بخش های یک صفحه وب است که از نگاه تیزبین موتورهای جستجو مخفی نمی ماند. فرض کنید شما یک عنوان مناسب برای قسمت Title تعیین کردید، اما آیا این کافیست؟ مگر قرار نیست صفحه پویای شما بر اساس درخواست کاربر محتویات مختلفی نمایش دهد؟ اگر جوابتان مثبت است پس شما باید بر اساس درخواست کاربر و محتویات صفحه، هر بار یک Title خاص را ایجاد کنید. برای این کار می توانید از کلاس HtmlTitle استفاده کنید یا تگ title صفحه خود را به شکل زیر تغییر دهید :
سپس در Page_Load کدی شبیه به کد زیر را بنویسید :
if (Request.QueryString.Count > 0)
{ mytitle.Text = "Test - " + Request.QueryString["name"]; }
6 ) به تگ Meta توجه ویژه ای داشته باشید
تگ Meta با خاصیت های name=”description”x و name=”keywords”x یکی از مهمترین تگ های مربوط به SEO هستند که اولی برای توضیح یک صفحه وب و دومی برای مشخص کردن کلمات کلیدی آن صفحه وب برای موتورهای جستجو کاربرد دارند. خزنده موتورهای جستجو همیشه دقت ویژه ای به محتویات این دو تگ مهم دارند و استفاده درست از آن ها باعث بالا رفتن رتبه صفحه وب شما در نتایج موتورهای جستجو مثل گوگل خواهد شد. در صفحات استاتیک که محتویات صفحه قرار نیست تغییر کنند، شما به صورت دستی مقادیر این تگ ها را مشخص می کنید اما در صفحات پویای ASP.NET بهتر است بر اساس محتویات صفحه ای که قرار است بر اساس اطلاعاتی که از دیتابیس خوانده می شود تغییر کند، محتویات این تگ ها نیز تغییر کنند. برای این که هر بار تگ متا به صورت پویا تعیین شود می توانید این تگ را به شکل زیر بنویسید :
/>
/>
سپس در Code Behind صفحه خود دو متغیر Public از نوع string به نام های MetaDesc و MetaKeywords بسازید. حالا در Page_Load بر اساس اطلاعاتی که می خواهید نمایش دهید این دو متغیر را تغییر دهید تا تگ های متای شما نیز تغییر کنند.
7 ) هر صفحه* URL یکتای خود را داشته باشد
این نکته خیلی مهم است. * منظور از صفحه در اینجا یک فایل فیزیکی نیست. به طور مثال فایل فیزیکیproducts.aspx می تواند صفحات products.aspx?id=1 یا products.aspx?name=datefa را بسازد که محتویات یکسانی ندارند! موتورهای جستجو این دو آدرس را به صورت دو صفحه جداگانه در نظر می گیرند. اگر مثل همین مثال از Query String برای مشخص کردن پارامترها استفاده کنید هیچ مشکلی وجود ندارد، اما اگر از ViewState، Session یا کوکی برای ذخیره این پارامترها و پاس دادن مقادیر به صفحات استفاده می کنید، راه اشتباهی را در پیش گرفته اید! استفاده از این روش باعث می شود که نرم افزارهای خزنده توانایی تفکیک صفحات را نداشته باشند و در نتیجه محتویات شما در موتورهای جستجو ایندکس نخواهد شد. به بیان ساده هر صفحه ای که یک URL یکتا داشته باشد و کاربر بتواند آن را بوکمارک کند توسط موتورهای جستجو نیز قابل ایندکس شدن خواهد بود.
8 ) حتماً یک Site Map برای پروژه خود بسازید
Site Map یک پروتکل استاندارد بر اساس XML است که به موتورهای جستجو کمک می کند تا صفحات را آسان تر و کاراتر ایندکس کنند. داشتن یک Site Map در یک وب سایت مبتنی بر ASP.NET علاوه بر فوایدی که برای ایندکس شدن در موتورهای جستجوی مختلف دارد، باعث نظم در ساختار منوها و Navigation یک وب سایت می شود. ساختن یک Site Map با لطف ویژوال استادیو بسیار آسان شده است. روی پروژه خود کلیک راست کنید و گزینه Add New Item… را برگزینید. در پنجره باز شده Site Map را پیدا کنید و به پروژه خودتان اضافه کنید. حالا فایلی به نام Web.sitemap به پروژه شما اضافه شده است. اگر با XML آشنایی داشته باشید، قواعد نوشتن Site Map نیز مانند نوشتن تگ های XML است. سعی کنید تمام صفحات مهم خودتان را با جزئیات کامل و رعایت قوانین یک نقشه سایت، در این فایل مشخص کنید.
9 ) URLهای خود را با حروف کوچک بسازید
اکثر موتورهای جستجو به بزرگی و کوچکی حروف حساس هستند و این یعنی دو آدرس mysite.com/products.aspx و mysite.com/Products.aspx برای آن ها متفاوت هستند. برای جلوگیری از این اشتباه شما باید تمام URLهای خود را با حروف کوچک بسازید تا مشکلی در ایندکس شدن صفحات توسط موتورهای جستجو پیش نیاید.
10 ) سورس کد صفحات را تمیز کنید!
سورس کد خود را تمیز کنید تا صفحات شما کم حجم شوند. در اینجا منظور از سورس کد، کد نوشته شده در فایل های aspx است نه کدهای موجود در Code Behind که به cs یا vb ختم می شوند. برای تمیز کردن سورس صفحات :
- کامنت های html را حذف کنید
- از ViewState وقتی که نیازی به آن ندارید، استفاده نکنید
- از form runat=”server”x وقتی که نیازی به آن ندارید، استفاده نکنید
- تا می توانید کد جاوا اسکرپیت درون فایل aspx ننویسید، بلکه از فایل های Js خارجی استفاده کنید
- تا می توانید کدهای CSS خود را در فایل های استایل جداگانه تعریف کنید
نکات مهم دیگر :
- در تگ های a حتماً از خاصیت title استفاده کنید
- در تگ های img از خاصیت alt استفاده کنید
- مطالب وب سایت خود را در فرمت rss هم ارئه کنید
- از Flash یا Silvetlight برای نشان دادن محتویات استفاده نکنید
- از Flash یا Silverlight برای ساختن منوها استفاده نکنید
- از منوهای جاوا اسکریپت استفاده نکنید
- لینک خود را در وب سایت های دیگر قرار دهید
نظر / سوال