ایجکس از فناوریهایی است که چند سالی جای خود را در میان وبسایتها باز کرده است. در این مطلب قصد داریم علاوه بر معرفی اجمالی ایجکس و دلیل استفاده از آن در سایتها، راه حلهایی را برای برطرف کردن یکی از نگرانیهای مرتبط با آن، یعنی تاثیر منفی روی سئوی سایت پیشنهاد دهیم.
- ایجکس چیست؟
- رابطه ایجکس و سئو
- راه حل ایندکس شدن صفحات ایجکس چیست؟
ایجکس چیست؟
ایجکس راه نمایش محتوای تازه به کاربران بدون نیاز به رفرش کل صفحه است یکی از مثال های عالی برای ایجکس پیشنهادات گوگل است. ایجکس مخفف و به معنی ترکیب جاوا اسکریپت و XML به صورت ناهمگام است. ایجکس در واقع مجموعهای از تکنیکهای توسعه وب است که به برنامههای تحت وب اجازه میدهد به صورت غیر همزمان با یکدیگر عمل کنند. این کار از طریق پردازش درخواستهای ارسال شده به سرور در پس زمینه صورت میگیرد.
جاوا اسکریپت، از زبانهای برنامه نویسی شناخته شده است. در کنار همه کاربردهای آن، یکی از وظایفش مدیریت محتوای پویای وبسایت و فراهم کردن امکان تعاملات پویای کاربران است. XML هم تنوعی از زبانهای نشانه گذاری (مثل HTML) است. HTML برای نحوه نمایش دادهها به کار میرود در حالی که از XML برای انتقال دادهها استفاده میشود. این دو زبان برنامه نویسی به صورت ناهمگام در ایجکس کار میکنند. بدین ترتیب هر برنامه تحت وبی که از ایجکس بهره میبرد میتواند بدون اینکه نیاز به بارگذاری کل صفحه وب باشد به ارسال و دریافت دادههای مورد نیاز آن صفحه بپردازد.
مفهوم ایجکس از میانههای دهه نود میلادی شکل گرفت. منتهی با ورود گوگل به این عرصه برای بهره بردن از آن در ابزارهایی چون جیمیل و گوگل مپ در سال 2004، استقبال از آن بسیار بیشتر شد. در ادامه به برخی از موارد استفاده از ایجکس در دنیای وب اشاره میکنیم تا بیش از پیش متوجه گستردگی و اهمیت آن شوید:
- سیستمهای رایگیری و رتبهبندی
- چت رومها
- نوتیفیکیشنهای توییتر
به زبان ساده، ایجکس امکان چند وظیفهای را برای دنیای وب به ارمغان آورده است. اگر در یک صفحه وب مشاهده کردید که دو کار به صورت غیر همزمان در حال انجام هستند، احتمالا از ایجکس در آن استفاده شده است.
رابطه ایجکس و سئو
در بخش قبل با مفهوم ایجکس و کاربرد آن در دنیای وب آشنا شدیم. اما این فناوری هم علیرغم همه مزایایی که دارد دارای یک ایراد اساسی و بزرگ است. صفحات وب مبتنی بر ایجکس میتوانند تاثیر منفی بر خروجی سئوی سایت داشته باشند.
گوگل به طور مداوم در حال بهبود تواناییهای خود در بحث ایندکس گذاری و کراول سایتها است. با این حال گوگل باتها هنوز نمیتوانند به طور کامل به تجزیه و تحلیل جاوا اسکریپت بپردازند. حتی گاهی اوقات صفحات وب استفاده کننده از این زبان را نادیده می گیرند.
حالتهای مختلف ایجکس در صفحات وب معمولا با قرار دادن یک هشتگ در انتهای آدرس سایت مشخص میشود. به عنوان مثال به تصویر زیر دقت کنید. این صفحه وب رفرش نشده است. منتهی با اسکرول کردن آن، شاهد اضافه شدن یک هشتگ به آدرس سایت که نشاندهنده رسیدن به یکی از بخشهای دارای ایجکس است، هستیم.
به عنوان یک قاعده کلی، موتورهای جستجو قادر به خواندن عبارتهایی که پس از هشتگ میآیند نیستند. بنابراین آنها نمیتوانند این صفحات را به درستی ایندکس کنند.
راه حل ایندکس شدن صفحات ایجکس چیست؟
خوشبختانه راههایی برای قادر ساختن موتورهای جستجو برای ایندکس کردن این دسته از صفحات وب وجود دارد که در ادامه به آنها می پردازیم.
- استفاده از صفحات برگشتی (fallback)
صفحات برگشتی در واقع صفحات HTML ایستایی هستند که در صورت عدم توانایی منابع درخواستی (رباتهای جستجو، مرورگرهای قدیمی و گوشیهای هوشمند) در فهم جاوا اسکریپت، بارگذاری شده و نشان داده میشوند. معمولا از این روش در توسعه سایتهایی که از روش پیشرفت تدریجی استفاده میکنند بهره برده میشود. این دسته از سایتها فقط به اندازه مرورگر کاربر، رندر و بارگذاری میشوند.
یکی از راههای استفاده از این روش، تگ noscript است. این تگ را باید در محتواهای مهم قرار داد تا به مرورگر بگوید که در صورت عدم توانایی در خواندن جاوا اسکریپت، چه چیزهایی را بارگذاری کند.
- استفاده از هشبنگ برای ایندکس گذاری
گوگل در سال 2011 اقدام به معرفی هشبنگ (!#) کرد. وظیفه هشبنگ این است که آدرسهای دارای هشتگ را به فرمتی خوانا جهت ایندکس کردن صفحات وب تبدیل کند. منتهی این راه حل به خاطر وقت گیر بودن و عدم پشتیبانی توسط دیگر موتورهای جستجو و وب سرویسها چندان مورد استقبال قرار نگرفت.
- ایجاد URLهای قابل اشتراک گذاری
میتوان در سمت سرور به گونهای برنامه نویسی کرد که یک منطق کلی در هر صفحه وب حاکم باشد. به عنوان مثال به URLهای مشترک یوتیوب فکر کنید که لحظاتی را در ویدیوها بارگذاری میکنند. میتوان به گونه ای URLهای سفارشی را به اشتراک گذاشت تا از لینکهای خارجی موجود در صفحه برای ایندکس کردن آن در موتورهای جستجو استفاده نمود. البته این راه حل هم موجب افزایش زمان توسعه صفحات وب میشود.
- استفاده از pushState
در HTML5 میتوان از قابلیتی به نام pushState در صفحات وب استفاده کرد. pushState هشتگ به کار رفته در URL را با یک URL سفارشی دیگر جایگزین میکند. بدین ترتیب میتوان علاوه بر استفاده از قابلیتهای ایجکس در صفحه و عدم بارگذاری کامل آن، از ایندکس شدن آن توسط موتورهای جستجو هم اطمینان حاصل کرد. استفاده از این قابلیت به مرورگرهای مدرن نیاز دارد. البته بسیاری از سایتهای ایجکس هم برای اینکه بتوانند از حداکثر قابلیتهای خود بهره ببرند، نیاز به مرورگرهای جدید و به روز شده دارند. pushState از محبوبترین امکانات معرفی شده توسط HTML5 است و میتواند به عنوان راه حل اصلی این مشکل به کار برده شود.