PDA

نسخه کامل مشاهده نسخه کامل : سایتهای تمام Ajax: راه حل برای ایندکس شدن تمامی صفحات در موتورهای جستوجو



eAmin
13-03-2008, 23:51
سلام.

خیلی از سایتهایی که امروز ساخته می شه، برای اینکه به قولی مدرن باشه! از تکنولوژی ای جکس استفاده می کنن که اون هم به درستی ازش استفاده نمی کنن و می خوان که بگن: ما هم بله... و اگر بگید سایت شما یه ایراداتی داره که باید بر طرف شه خیلی زود ناراحت می شن.

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

من دوتا از این اصول رو می گم:

1.ایندکس شدن تمامی صفحات سایت در موتورهای جستوجو.
2.در صورت غیر فعال بودن Javascript بتوان به تمامی قسمتهای سایت دسترسی داشت.

البته لازم به ذکر هست که این موردها رو با PHP می شه به راحتی حل کرد و من از طریق دوست خوبم: مسعود (my freind ) با خبر شدم، که هر کجا هست بهش سلام عرض می کنم.

ادامه ی مطلب...

توی این روش از Javascript استفاده شده که خیلی ساده و روان هست.
این روش رو من یک شب فکر کردم ببینم آیا می شه با جاوا اسکریپت چنین کاری کرد یا نه، بعدا فهمیدم که ساده تر از اون چیزی بود که من فکرش رو می کردم!

بهتره بریم قسمت کد نویسی:

اول من یک مقدار تعریف کردم که راحت تر بشه بهش دسترسی داشت، کد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این قطعه کد با استفاده از DOM تگ Anchor یعنی همون a رو پیدا می کنیم.

تا اینجای کار که فکر نکنم مشکلی باشه.

حالا ما باید یه حلقه بنویسیم که هرچی تگ a توی صفحه بود رو بگرد و پیدا کن یا در نظر بگیر... برای اینکار ما از حلقه ی for استفاده می کنیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر یکمی با جاوا اسکریپت آشنا باشید و یا بازبانهای دیگه کار کرده باشید همه چیز توی دستتون می یاد.

حالا باید درون این حلقه کد زیر رو بنویسیم:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در این قسمت مقدار links رو به صورت آرایه وار در میاره تا هرچی تگ a رو در بر بگیره و با استفاده از تابع removeAttribute خصیصه ی href رو از همه ی تگهای a حذف می کنه!

و الان باید کد کامل شده ی شما این باشه:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

شما باید این قطعه کد رو در ویداد load صفحه قرار بدید. کد زیر:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

این قسمت تموم شد و حالا می رسه نوبت به تگهای html.


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

بزارید یک توضیح کامل کننده ی در این باره بدم.
ما در تگ a از دوخصیصه href و onclick استفاده می کنیم که در رویداد onclick با تابع ای جکسی که تعریف کردیم آدرس صفحه ی مورد نظر رو می دیم و خصیصه ی href رو هم باید به همون آدرس راهنمایی کنیم تا برای موتورهای جستوجو ایرادی نداشته و اگر جاوااسکریپت مرورگر غیر فعال بود باز هم بتونیم به اون صفحه دسترسی داشته باشیم.

به نظر من که خیلی ساده بود!

به امید روزی که همه ی ما اگر از یک تکنولوژی استفاده می کنیم، سعی کنیم اول اصول اولیه اون رو یاد بگیریم.

موفق باشید...

dogtag
14-03-2008, 13:20
عالی بود ولی:
شما اون مشکل دوم رو حل کردی. اولیه چی؟ (همون Search Engine)

و اگر میشه اون راه PHPش رو هم بگو که کامل تر بشه

ممنون

eAmin
14-03-2008, 14:18
عالی بود ولی:
شما اون مشکل دوم رو حل کردی. اولیه چی؟ (همون Search Engine)

و اگر میشه اون راه PHPش رو هم بگو که کامل تر بشه

ممنون

سلام.

عزیز من دقت نکردی :8:

همه ی ما می دونیم که موتورهای جستوجو به اسکریپتها کاری ندارن، خب ما اینجا از تگ a استفاده کردیم که برای موتورهای جستوجو قابل ایندکس شدن هست و هیچ مشکلی نداره...

من با اون اسکریپتی که نوشتم، ظاهرا خصیصه href حذف می شه ولی در پشت پرده این خصیصه وجود داره!!!

اون راه php رو هم توی همین قسمت هست اگه یه سرچ بکنی پیدا می شه و مسعود جان کامل توضیح داده:11:

peyman1987
14-03-2008, 18:22
امین جان دستت درد نکنه

بازم میگم به این حرف امین خیلی توجه کنین

در حقیقت از تکنولوژی ای جکس باید برای بخشهای کوچیکی از سایت استفاده بشه که در ایران اصلا این مبحث رعایت نشده و می خوان تمامی سایت رو با تکنولوژی ای جکس پیاده کنن،

اگه توجه نکنین از اون ور پشت بوم تکنولوژی میافتین.

eAmin
14-03-2008, 19:58
امین جان دستت درد نکنه

بازم میگم به این حرف امین خیلی توجه کنین

اگه توجه نکنین از اون ور پشت بوم تکنولوژی میافتین.

ســــــلام آقا پیمان گل :11::10:

من کوچیک شما م پیمان جون... :31: