اسکریپت آژاکس قابل اعتماد است؟

اسکریپت آژاکس قابل اعتماد است؟

اسکریپت آژاکس قابل اعتماد است؟

نویسنده: پرهام هادیخانی

پنج شنبه, 23 اردیبهشت 95ساعت 11:45


اکتبر سال 2015 گوگل اعلام کرد که دیگر اسکریپت آژاکس را که سال 2009 ایجاد شده بود، به کارشناسانسئو توصیه نمی کند. مارک مونرو به این سوال که در حال حاضر آیا گوگل سایت Ajax را ایندکس و کرال می کند، پاسخ می دهد.

طراحان سایت و کارشناسان سئو به Ajax برای ساخت نرم افزارهای تک صفحه ای یا همان SPA با فریم ورک های معروفی مانند Angular و React، علاقه زیادی دارند. پیاده سازی Ajax خالص می تواند نرم افزار وب کارآمدی را فراهم کند که بیشتر شبیه یک نرم افزار دسکتاپ عمل کند.

به طور کلی با SPA، محتوای HTML در بروزر فچ-fetch- وبسایت بارگذاری نمی شود. Ajax از جاوا اسکریپت جهت ارتباط با سرور وب استفاده می کند تا HTMLی بسازد که صفحه را منتقل کرده و با کاربر ارتباط برقرار کند. ( یک تکنیک به نام Server-Side Rendering یا اسکریپت نویسی سمت سرور وجود دارد که درآن جاوا اسکریپت بر روی سرور اجرا می شود و درخواست صفحه با HTML منتقل شده، بازگردانده می شود. اگرچه این روش هنوز بر روی همه SPAها پشتیبانی نمی شود و در توسعه وب، پیچیدگی ایجاد می کند.)

یکی از مشکلات سایت Ajax ، سئو است. مدتی است گوگل محتوای جاوا اسکریپت را کرال می کند. در واقع، این آزمایشات اخیر ثابت کرده است که گوگل توانایی کرال کردن لینک، داده های متا و محتوای گذاشته شده با جاوا اسکریپت را دارد. البته وب سایت هایی که از قالب خالص SPA Ajax استفاده می کنند، در گذشته نیز چالش هایی با سئو داشته اند. سال 2009، گوگل راه حلی برای ساختن Ajax با قابلیت کرال پیدا کرد. در آن روش یا باید URLهایی با ساختار زشت ایجاد می شد و یا با یک تگ Meta=”fragment” روی صفحه، URLها پاک سازی می شدند.

ساختار URL یا ساختار متا تگ به گوگل کمک می کند تا نسخه از قبل منتقل شده پیج یا صفحه را بگیرد که جاوا اسکریپت را اجرا کرده و HTML کاملی دارد که قابل ایندکس و تجزیه از سوی گوگل می باشد. در این روش، الگوریتم عنکبوت-spider- یک کد منبع کاملا متفاوتی ایجاد می کند (HTML در مقابل جاوا اسکریپت).

با توجه به اینکه گوگل جاوا اسکریپت را کرال می کند، بسیاری از وبسایت ها تصمیم گرفته اند تا اجازه دهند گوگل سایتهای SPA Ajaxشان را کرال کند. در کل این کار با موفقیت چندانی رو به رو نشد. در سال گذشته، وب سایت هایی با مشکل Ajax Angular را شاهد بودیم. گوگل موفقیت کمی در این باره داشته و حدود 30 درصد از صفحات در کش گوگل کاملا منتقل شده بودند. هفتاد درصد دیگر خالی بودند.

یک سایت غدایی معروف با اعتقاد به اینکه گوگل از Angular حمایت می کند، به آن منتقل شد. این سایت حدود 70 درصد از ترافیک اصلی خود را از دست داد و هنوز هم در حال بهبودی از آن سقوط ناگهانی است. در نهایت هر دو سایت به راه حل Ajax توصیه شده روی آوردند. و کمی بعد در چهاردهم اکتبر گوگل اعلام کرد: ما دیگر پروپوزال اسکریپت AJAX تولید شده در سال 2009 را توصیه نمی کنیم.

قابل ذکر است که هنوز از پروپوزال قدیمیشان استفاده می کنند. ( مقالاتی درباره اینکه دیگر آن را پشتیانی نمی کنند منتشر شده است، اما صحت ندارد- به سادگی دیگر آن روش را توصیه نمی کنند.) یک هفته بعد از آن اعلامیه یک مشتری که به تازگی سایتی را راه انداخته بود از من درخواست بازرسی سایت داشت. پس از بررسی متوجه شدم این یک سایت Angular است و دوباره با اجرای SPA Ajax.

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

سایت مورد بررسی با Angular که هنوز اسکریپت سمت سروری را پشتیبانی نمی کند ساخته شده بود. ( دوباره در این مورد نیز سرور ابتدا یک پیج را منتقل می کند تا HTML را ارائه دهد)، پس استفاده از روند افزایشی احتمالا پشتیبانی دشواری خواهد داشت و اسنپ شات های HTML هنوز بهترین راه حل برای آنها هستند.

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

توصیه های جدید گوگل در رابطه با اسکریپت آژاکس

گوگل برای شرح آنکه چرا توصیه قبلی را خوب نمی دانند، می گویند:

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

اعلامیه دیگری در این رابطه وجود دارد:

از آنجایی که فرضیات پروپوزال 2009 ما دیگر معتبر نیست، ما پیروی از قواعد زیر را توصیه می کنیم:

progressive enhancement.

آنها در اعلامیه خود به زبان نمی آورند اما این طور برداشت می شود که: “دیگر برای کرال کردن جاوا اسکریپت روی ما حساب نکنید!”  جان مولز تایید کرد که گوگل هنوز با Ajax مشکل دارد کمتر از دو هفته پس از اعلامیه گوگل(27 اکتبر)، جان مولر در Hangout مرکزی وب مستر خود تایید کرد گوگل قطعا هنوز با Ajax مشکل دارد. آنها هنوز هم با رندر یا منتقل کردن مشکل دارند و انتظار دارند پیشرفت خوبی با گذشت زمان پیدا کند. جان چند راه برای کمک به مواجه نشدن با مشکل توصیه می کند. وی در نهایت استفاده از اسنپ شات های HTML را توصیه می کند تا زمانی که گوگل در Ajax بهتر شود.

حال، چه کنیم؟

• استراتژی رو به افزایش. اسکریپت سمت سروری امری ضروری برای این استراتژی است و هنوز توسط Angular پشتیبانی نمی شود. البته در آپدیت بعدی آن یعنی Angular 2.0 این پشتیبانی اتفاق می افتد.

البته این استراتژی کار بیشتری نسبت به ساخت آسان اسنپ شات ها می برد. شما باید اطمینان حاصل کنید که تک تک لینک های لازم را منتقل کرده اید تا گوگل بتواند محتوای اضافه شده به وب را ایندکس و کرال کند.

• اسنپ شات های HTML از قبل منتقل شده. اگر قبلا جایی شنیده اید که گوگل دیگر از این روش حمایت نمی کند، نگران نباشید. آنها در آینده هم از ان پشتیبانی خواهند کرد. فقط دیگر آن را نوصیه نمی کنند. این روش فایده دارد، با اینکه کدنویسی از قبل رندر شده اسنپ شات کار کمی نیست. خبر خوب اینکه چندین فروشنده مانند prerender.io وجود دارد که با هزینه کمی این کار را برای شما انجام می دهند. این احتمالا راحتترین استراتژی است.

این روش ایده آلی نیست. ایجاد کد منبع متفاوت برای کرالرها در مقایسه با بروزرها (HTML در مقایسه با جاوا اسکریپت) می تواند مشکل بوجود آورد. مهم است که کش-cache- گوگل را بررسی کنیم تا مطمئن شویم که به صفحات اشتباه خدمت رسانی نمی کنند. اگر از پلت فرمی استفاده می کنید که انتقال سمت سروری را حمایت نمی کند، این استراتژی می تواند تنها راه حل برای شما باشد.

بهتر است به فکر امنیت باشید تا عذرخواهی

حتی اگر مدرکی داشتم تا ثابت کنم گوگل سایت های Ajax را کرال می کند، باز هم شک داشتم. منابع موثق و زمان بیشتری نیاز است تا کاملا صفحه ای را انتقال داد. برای سایت هایی با صدها یا هزاران صفحه چه اتفاقی می افتد؟ چگونه بر بودجه کرال تاثیر می گذارد؟ آیا میزان کرال ثابت باقی می ماند؟

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

Share the Post