جاوا اسکریپت، Ajax و سئو
جاوا اسکریپتهای سمت کلاینت، برای ایجاد وبسایتهای جدید و کاربرپسند بسیار مناسب میباشد. در کنار AJAX، عامل دیگری وجود دارد که در بارگذاری محتوای وب سایت بسیار مهم میباشد و آن برنامه کاربردی صفحات تکی (SPA) نامیده میشود که اتکای زیادی بر جاوا اسکریپت دارد. این تکنیک سریعا در برنامهنویسی صفحات وب نفوذ پیدا کرد تا بتواند برنامههای کاربردی تحت وب بسیار تعاملی و با بارگذاری بالا ایجاد کرد.
بقیه در ادامه مطلب ...
اما تکیه زیاد به جاوا اسکریپت باعث اشکالات و خطراتی در تکنیکهای سئو، ایندکس کردن و قابلیت لینکدهی میشود. در اینجا چندین استراتژی برای ایجاد سایتهای AJAX مطرح شده است که خیلی از نظر جستجو خطرناک نمیباشند.
جاوا اسکریپتهای سمت کلاینت و اجزا URL
قالبا وبسایت سمت کلاینت از AJAX استفاده میکند. در این حالت میتوان وبسایتهای استاتیک را به حالت داینامیک تغییر داد که یک تجربه کاربری متفاوت را بدون بارگذاری کل صفحه و تغییر URL ارائه میدهد. حالتهای مختلف برنامههای کاربردی را میتوان با تغییر در URL و با اضافه کردن # تشخیص داد مانند: http://www.dlsell.ir/#aboutus
مزایای حالتهای کاربر پسند بسیار واضح می باشد (صفحات رسپانسیو و سریع که فقط محتوای مورد نیاز و ضروری که کاربر نیاز دارد را نشان میدهد). در حقیقت بسیاری از رابطهای نسل بعدی بدون استفاده از جاوا اسکریپت انجام میشوند و نیاز کاربر برای اینکه بر روی لینک کلیک مداوم نماید یا کل صفحه را به طور کلی بارگذاری نماید، از بین میبرد.
با استفاده از این تکنولوژیها، کاربران میتوانند محتوا و محصولات را سریعا و از طریق یک رابط جدید و واضح مشاهده نمایند. اما URL کم و بیش به همان شکل سابق میماند. هایپرلینکها که شامل اجزا URL است، برای بارگذاری دادههای مورد درخواستی در زمان تعامل با کاربر و اجتناب از بارگذاری مجدد استفاده میشوند.
اما مشکل این تکنولوژی چیست؟
قسمتهای پایینی که حاوی محتوای بسیار مهم یا دادههای کلیدی هستند ممکن است توسط موتورهای جستجو در نظر گرفته نشوند که اغلب کدهای جاوااسکریپتها را تجزیه نمیکنند. چون بخش مربعی (#) URL برای مرورگرهای محلی و نه سرورها قابل مشاهده میباشد، ایندکسگذاری استانداردی انجام میگیرد و لینکهایی که به علت نبود شبیه سازی جاوااسکریپت توسط ربات ایندکس از بین میروند را مورد پردازش قرار دهد.
{jb_redbox}در حالی که گوگل، مرتبا قابلیت جاوا اسکریپت ربات خود را مورد بررسی قرار میدهد، بینگ و یاهو عقب ماندهاند و حتی اگر موتور جستجو بتواند محتوا را مورد ایندکسگذاری قرار دهند، اغلب به نظر میرسد که نتواند کوئری جستجو را در URL ایندکس خود نشان دهند. نتیجه آن یک جستجوی ضعیف با سایر رقبا میباشد.
راه حل: ایجاد صفحات جانشین (مانند landing page){/jb_redbox}
صفحات جانشین، صفحاتی هستند که نشان میدهند منابع درخواست کدهای جاوا اسکرپیت را تجزیه نمیکنند.آنها عموما صفحات استاتیک هستند که تلاش میکنند توابع و محتوای برنامههای تحت وب جاوا اسکریپت را از طریق صفحات سمت سرور تکرار نمایند. این صفحات همان محتوای یکسان برنامه کاربردی جاوا اسکریپت را نگه میدارند، نشان میدهند و همچنین این صفحات از لینکهای ایندکس پذیر در پیمایش در صفحه وب استفاده میکنند.
مزایا
صفحات جایگزین به موتورهای جستجو، محتوای مورد نیاز را میدهند. این صفحات برای کاربران در نظر گرفته نمیشوند اگر آنها از مرورگرهای محدودی استفاده میکنند.
معایب
ایجاد صفحات جایگزین زمان ساخت اولیه، هزینه و حجم کار را افزایش میدهد. علاوه بر این کاربران ممکن است هیچگاه نتوانند صفحات جایگزین یا URLها را مشاهده کنند (آنها URL را با # مشاهده میکنند) و هیچگاه این URLها به لینکها یا سیگنالهای اجتماعی در سطح URL اضافه نمیشوند. البته این بسته به اهمیت URLها دارد و ممکن است مشکلی خاصی وجود نداشته باشد.
پیاده سازی صفحات جایگزین
برای اجرای صفحات جایگزین چندین رویکرد وجود دارد. برای اجرای این روش میتوان از تگ <noscript> استفاده کرد. این نوع تگ برای کل صفحات کلیدی و مهم محدود شده میباشد و اگر این تگ به طور کامل بارگذاری نشود، محتویات صفحه به طور کامل نشان داده نمیشود.
یک رویکرد دیگر،کنترل این مورد در سمت سرور میباشد. در سال 2011 گوگل یک استانداردی را معرفی کرد که آدرس بار (hashtag URL) را به یک رشته جستجو برای ایندکس گذاری توسط رباتها تعریف میکند. برخلاف بخش URL، رشته جستجو برای قسمت سرور قابل مشاهده میباشد و در نتیجه به توسعه دهندگان اجازه میدهد تا به طور انحصاری، محتوای مناسب را سمت سرور ایجاد نمایند. این کار باعث ایجاد URLهای قابل ایندکس میشود. در حالی که این رویکرد توسط گوگل ایندکسگذاری میشود، این عمل به چند دلیل اثبات شده است که برای سئو و توسعه دهندگان وب مورد قبول نمیباشد و بیشتر به خاطر افزایش حجم کار و پشتیبانی ناقص موتورهای جستجو و خدمات شخص ثالث در وب میباشد.
دیگر راه حلهای برای رفع مشکل URL
همانطور که در بالا ذکر شد، بسته به میزانی که سئو در نظرگرفته است (بسته به میزانی که توسط سئو توانستهایم صفحات را معرفی کنیم)، یک حالت UX برای سایتهای AJAX یا SPA ممکن است URLهای قابل مشاهدهای را داشته باشیم که با هم متفاوت هستند یا برای موتورهای جستجو غیرقابل مشاهده میباشند.
استفاده از pushstate برای رفع مشکل URL
HTLM5 شامل قابلیتهایی برای رفع دستکاری مسیرهای URLمشاهده شده در مرورگرها و نیز تاریخچه مرورگرها از طریق جاوا اسکریپت میباشد. این ابزار برای سایتهای SPA و AJAX مفید میباشد که URLهای قابل اشتراک و جستجو درموتورهای جستجو میتوانند در سمت مشتری نشان داده شوند.
پیاده سازی pushstate
اضافه کردن pushstate نسبتا ساده است بسیاری از فریم ورکهای محبوب مانند قالبهای اپن سورس امبر(Ember) یا قالب گوگل آنگولار (Google (Angular API از این روش استفاده میکنند. اما اکثر توسعه دهندگان وب، توسعه اختصاصی و سفارشی را ترجیح میدهند.
معایب
بهترین پیادهسازی سئو pushstate درسایتهایی است که بدون استفاده از جاوا اسکریپت و با ورژن “on top” AJAX قابل دسترس باشند.از مزایای حالت pushstate این است که میتوان لینکها را کپی نمود و URLهایی را داشت که تجربه و موارد استفاده کاربر را منعکس نماید مانند آدرس قسمت landing page. بنابراین pushstate راه حلی برای مشکل سایتهای AJAX و سئو نمیباشد اما کمک میکند.
پیاده سازی pushstate به حجم کار اضافه میکند.متغیرها و URL نیاز به روزرسانی در هر دفعه تکمیل سایت دارند. pushstate نیازمند مرورگرهای مدرن و بعد از آن سایتهای AJAX و SPA مدرن میباشد در حالی که بیشتر کاربران از مرورگرهای منسوخ شده استفاده میکنند.
نکته مهم
اگر منابع و بودجه به شما امکان ادامه و پیشرفت کار را میدهد یک رویکرد جامع برای ایجاد سایت AJAX و SPA این میباشد:
ایجاد صفحات جداگانه در حداقل زمان یا یک سایت کامل و پیشرفته بدون استفاده از جاوا اسکریپت که قابلیت ایندکسگذاری را داشته باشد.
یا همچنین پیادهسازی pushstate برای رفع مشکل URL و برای کاربرانی که جاوا اسکریپت را فعال مینمایند که قادر به اشتراکگذاری و تولید URL برای همه کاربران میباشد.
منبع:دی جی سئو