بهینه سازی سایت های تک صفحه ای مدرن در موتورهای جستجو بسیار مهم می باشد. زمانی که موتورهای جستجو نظیر گوگل وب سایتی را ایندکس می نمایند، جاوا اسکریپت سایت را اجرا نمی نمایند. این نشاندهنده آن است که سایت های تک صفحه ای که توسط جاوا اسکریپت پیاده سازی می شوند به خوبی سایت های قدیمی که برای هر موردی یک صفحه داشتند ایندکس نمی شوند.نبودن در گوگل به معنای مرگ یک شغل می باشد، چیزی که به ثبت سایت های تک صفحه ای پیش می آید.
هر چند سایت های تک صفحه ای نسبت به سایت های قدیمی مزیتی نیز دارند زیرا گوگل و سایر موتورهای جستجو این مورد را تشخیص می دهند. آن ها همچنین مکانیسمی برای ایندکس کردن چنین سایت های دارند. در این مقاله بر گوگل تمرکز خواهم نمود. اما سایر موتورهای جستجو نیز از این قاعده پیروی می نمایند.
گوگل چگونه سایت های تک صفحه ای را ایندکس می نماید
زمانی که گوگل سایت های طراحی شده به سبک قدیمی را ایندکس می نماید، در ابتدا صفحه اصلی وب سایت را می یابد. پس از اتمام این مرحله صفحات داخلی سایت را که متصل به صفحه اصلی سایت می باشد را می یابد. سپس صفحات داخلی تر سایت ایندکس می شوند. زمانی که گوگل سایت های تک صفحه ای مرور می نماید تنها موردی که مشاهده می نماید یک تگ خالی می باشد. خوشبختانه گوگل و سایر موتورهای جستجو روشی دارند که به توسعه دهندگان وب این امکان را می دهند که سایت های خود را حتی بهتر از سایت های معمولی در موتورهای جستجو معرفی نمایند.
چگونه یک سایت تک صفحه ای را قابل جستجو در موتورهای جستجو نماییم
اولین موردی که می بایست بدانید آن است که سرور شما متوجه آن می شود که بازدید کننده از سایت یک موتور جستجو است و یا یک کاربر عادی. زمانی که کاربر عادی سایت را مشاهده می نماید همه چیز به صورت عادی به کاربر نمایش داده می شود اما زمانی که یک موتور جستجو سایت را مشاهده می نماید می بایست مطلب بهینه سازی شده به موتور جستجو نمایش داده شود.
چیزی که برای موتور جستجو مهم می باشد، متون و تصاویر سایت و لینک های آن می باشد و بقیع موارد به مانند کدهای css و جاوا اسکریپت لزومی برای بودن در صفحه ندارند. تصویر زیر تمایز نمایش سایت به موتور جستجو و کاربر عادی را نمایش می دهد.
بهینه سازی محتوا برای موتور جستجو
وب سایت های تک صفحه ای توسط هش تگ ها (#!) به محتوای خود لینک می شوند، که توسط کاربران عادی مرور نمی شوند. به عنوان مثال لینک سایت تک صفحه ای ما چیزی است شبیه به این /index.htm#!page=user:id,123 که زمانی که جستجو گر سایت را مشاهده می نماید کاراکتر #! را می شناسد و فرض می نماید آدرس سایت /index.htm?_escaped_fragment_=page=user:id,123 می باشد. این را بدانید که جستجوگر این آدرس را می یابد و انتظار دارد در آن چیزی بیابد. ما می توانیم در سرور توسط جاوا اسکریپت برنامه نویسی نمایم تا به آن آدرس پاسخ داده شود.
صفحه مورد نظر(آدرس دوم) در گوگل ایندکس می گردد، اما زمانی که کاربر بر روی لینک کلیک می نماید به آدرس /index.htm#!page=user:id,123 هدایت می شود. این مورد به طراحان وب این امکان را می دهد که صفحه وب سایت خود را برای کاربران و موتورهای جستجو به درستی طراحی نمایند. به جای آنکه صفحه وب سایت هم برای موتورهای جستجو بهینه سازی شده باشد و هم برای کاربر نمایش درستی داشته باشد، برای هر کدام نوع نمایش مربوط به خود اجرا خواهد گردید.
چگونه مرورگر موتور جستجو را تشخیص دهیم
همانطور که Googlebot اعلام نموده مرورگر گوگل Googlebot/2.1 (+http://www.googlebot.com/bot.html) می باشد. ابزار Node.js می تواند نوع مرورگر را بررسی نماید و زمانی که نتیجه موتور جستجوی گوگل بود، صفحه نمایش طراحی شده برای موتور جستجو نمایش داده شود در غیر این صورت صفحه به صورت نرمال نمایش داده می شود.
طراحی سایت برای موتور جستجو مشکل خواهد بود زیرا ما پیش نمایش از سایت برای موتور جستجو نداریم.، اما گوگل ابزاری برای این کار را معرفی نموده است http://support.google.com/webmasters/bin/answer.py?hl=en&answer=158587. اما بهترین روش برای تست دنبال کردن آدرس در مرورگر خودمان می باشد. اما گوگل کروم توسط Chrome Developer Tools این امکان را به چند کلیک ساده با شما می دهد:
1. Chrome Developer Tools را با کلیک بر سه خط بالای صفحه سمت راست گوگل کروم کلید Tools و زیر کلید Developer Tools باز نموده.
2. در سمت راست صفحه پایین صفحه کلیدی به مانند چرخ دنده وجود دارد بر روی آن کلیک نمایید.
3. بر روی تب Overrides کلیک نموده و کلید User Agent را روشن نموده و مرورگر مورد نظر خود را انتخاب نمایید. Googlebot به عنوان آیتم پیش فرض نیست در نتیجه other را انتخاب نموده و مرورگر googlebot را در این بخش وارد نمایید.
4. تنظیمات را ثبت نمایید. زمانی که صفحه جدیدی را مرور نمایید صفحه به همان روش که مرورگر موتور جستجو سایت را مشاهده می نماید نمایش داده می شود.