خزنده گوگل و صفحات ajax

google crawlerشش روز پیش پست قبلی را نوشتم و لینک FSF را در آن قرار دادم، سه روز پس از ایندکس شدن صفحه پست توسط گوگل، صفحه FSF در نتایج گوگل ظاهر شد. اما یک مشکلی که با آن مواجه شدم این است که گوگل صفحات مبتنی بر Ajax را ساپورت نمیکند. حالا که FSF کاملا مبتنی بر Ajax طراحی شده است، گوگل تنها میتواند صفحه اول آن را پیدا کند و بقیه صفحات در نتایج گوگل نخواهد آمد.

به هر حال با کمی جستجو در مورد این مسئله متوجه شدم که گوگل تحت شرایطی از صفحات مبتنی بر Ajax پشتیبانی میکند. حال آن شرایط چیست؟ ساده است: سایت مبتنی بر Ajax شما باید یک نسخه مبتنی بر HTML نیز داشته باشد تا وقتی خزنده گوگل به آن  میرسد با نسخه HTML کار کند و نسخه Ajax نیز برای کاربران سایت باشد. به طور خلاصه گوگل میگوید که لینکهایتان باید به صورت زیر باشد:

<a href="ajax.htm?foo=32" onClick="navigate('ajax.html#foo=32'); return false">foo 32</a>

در لینک بالا هدف (target) صفحه ajax.htm است و پارامتری که به صفحه منتقل میشود، foo=32 میباشد. اما اگر به ادامه تگ توجه کنید یک رویداد کلیک جاوااسکریپت به تگ اضافه شده است که دقیقا همان کار هدف لینک را انجام میدهد اما به وسیله جاوااسکریپت و بدون پارامتر (پارامتر مقادیری است که بعد از علامت ؟ قرار میگیرند). در رویداد کلیک مقدار foo=32 توسط fragment منتقل شده است (مقادیر بعد از علامت #).

—-

برای مطالعه بیشتر میتوانید به این لینک مراجعه کنید.