ربات گوگل چگونه تکنولوژی جاوا اسکریپت را crawl و ایندکس میکند؟

ما چگونگی کرال ربات های گوگل برروی جاوااسکریپت را تست کرده ایم واین مسائل را یادگرفتیم

T.L DR:

  1. ما یکسری از تست ها را که اثبات میکند گوگل قادر به اجرا و ایندکس جاوااسکریپ با بسیاری از ابزارها است را، اجرا نموده ایم. ما همچنین پذیرفته ایم که گوگل قادر است کل صفحه و مدل شی گرایی سند(DOM)  را، به وسیله ی اینکس پویای (dynamical) محتوای تولید شده، ترجمه (render) کند .
  2. سیگنال های سئو در عنوان یا title صفحه، متا تگ توضیحات یا descriptions، تگ های canonical، متای robots و.... پذیرفته میشوند. محتوا به طور خودکار در DOM برای خزنده واندکس کننده وب درج میشود. علاوه بر اینها درموارد مشخص سیگنال های DOM میتواند کدهای HTML را الویت بندی کند، این مسئله تلاش زیادی میخواهد.

مقدمه:گوگل جاوا اسکریپت رااجرا و DOM را میخواند:

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

درمرکل (MERKLE) تیم سئوکارها میخواهند بفهند که چه نوع جاوا اسکریپت توسط ربات های گوگل کرال و اندکس میشود. ماتعدادی نتایج چشمگیر پیداکردیم و تشخیص دادیم که نه تنها گوگل انواع جاوا اسکریپت را میتواند اجرا کند بلکه قادر به اندکس کردن محتوای متغیرنیز میباشد. چطور؟ گوگل DOM را میخواند.

DOM چیست؟

معدودی از سئوکارها سند شئ  نمونه که همان مخفف DOM میباشد را میفهمند. همانگونه که درمرورگرهای وب استفاده میشود. DOM ضرورتا یک برنامه مرتبط با برنامه نویسی ویا APL ویا یک نمونه وساختار داده مثل HTML و XML میباشد. این واسطه ها هستند که مرورگرهای وب سایت را قادر به ساخت این اسناد میکنند. همچنین DOM تشخیص میدهد که ساختاربرای چه ساخته ودردسترس قرارگرفته است. درحالیکه DOM,APL معمولا در داده های وب سایت برای جاوا اسکریپت و محتوای متغیراستفاده میشود.

DOM واسطه ها وپل ها را که صفحه های وب و زبان های برنامه نویسی رااتصال میدهد را ارائه میدهد. تجزیه HTML، ارائه جاوا اسکریپت ونتایج در DOM میباشد. محتوا صفحه های وب منبع کدها نیست یک DOM است، که کمی باعث مهم شدن آن میشود.

 مابرای کشف توانایی های گوگل به وجد آمدیم توانایی هایی نظیر:خواندن DOM، ترجمه سیگنال ها ومحتواهای که به طورمتغیر درج میشوند مثل عناوین تگ ها، متن صفحه، یاداوری ها و خواندن جزئیات بیشتر.

تعدادی از تست ها ونتایج:

ماتعدادی تست برای آزمایش عملکرد جاوا اسکریپت درکرال و اندکس شدن وعملکرد ربات های گوگل درایزوله درنظر گرفته ایم. کنترل ها برای اطمینان از اقدامات URL ها که درایزوله مشخص میشود. درزیر تعدادی ازنتایج تست ها باجزئیات نشان داده میشود، این تست ها به پنج بخش تقسیم میشوند:

  1. جهت یابی دوباره جاوا اسکریپت
  2. لینک های جاوا اسکریپت
  3. محتوای درج شده متغیر
  4. داده های متغیر درج شده و المان های صفحه
  5. مثال های مهم دررابطه ها

.جهت گیری های جاوا اسکریپت

ما جهت گیری های رایج جاوا اسکریپت را تست کرده ایم. چگونه  URL ها به روش های مختلفی ارائه میشود. روشی که ماانتخاب کرده ایم  Window location میباشد، دوآزمایش اجرا میشود:

  • تست الف: شامل URL هایی است که دقیقا ویژگی های Window location را داراست.
  • تست ب: از URL های مرتبط استفاده میکند.
  • نتیجه: جهت گیری ها سریعا با گوگل پیگیری میشوند. ازاندکس کردن نقطه نظرها در 301 ثانیه – دربیانیه هایی URL ها در جهت گیری واندکس کردن گوگل جایگزین میشوند. درتست ثانویه ما یک صفحه معتبر رااجرا و جهت گیری های جاوا اسکریپت برای یک صفحه جدید، با همان محتوا را تکمیل میکنیم. URL ها برروی صفحه اولیه  واصلی گوگل برای درخواست های بالا رتبه بندی میشوند.
  • نتیجه: همانگونه که انتطار میرفت جهت گیری ها توسط گوگل پیگیری میشود وصفحه های اصلی ازاندکس خارج میشوند. URL های جدید اندکس میشود وفورا در همان وضعیت و طبق همان درخواست های یکسان رتبه بندی میشوند. این موضوع مارا شگفت زده کرده است چرا که نشان میدهد که جاوا اسکریپت میتواند دقیقا  301 جهت گیری ثابت راطبق استند پوینت رتبه کند. دفعه بعدی مشتری شما میخواهد که جاوا اسکریپت را برای تکمیل جهت گیری های ناشی از تغییرات سایت استفاده کند جواب شما قطعا منفی نیست. به نظر میرسد که یک انتقال برای سیگنال های رتبه بندی ظاهر میشود. برای اثبات این حرف یک متن از خطوط راهنمای گوگل در ذیل بخوانید:

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

در ذهن خود بسپارید که 301 جهت گیری زمانی که سایت خود را انتقال میدهید بهترین است اما میتوانید از جهت گیری های جاوا اسکریپت، درصورتی که به سرورسایت دسترسی ندارید برای رسیدن به هدف استفاده کنید.

  1. لینک های جاوا اسکریپت

ما انواع مختلفی از لینک های مختلف جاوا اسکریپت راتست کرده ایم وراه های مختلفی را کد گذاری کرده ایم. ما فهرست لینک هارا تست کرده ایم، موتورهای جستجوقادر به پیگیری این نوع لینک ها نیستند. تست ماباید بتواند تمام تغییرات را پشتیبانی کند. مابرای یک اقدام جهت تغییر بعضی چیزها لزوما تغییر اجباری مثل جاوا اسکریپت های بالا استفاده میکنیم.

  • نتیجه: لینک به طورکامل کرال وپیگیری شد. همچنین ما لینک های استاندارد جاوا اسکریپت را نیز تست کرده ایم. این ها تعدادی از لینک های رایج جاوا اسکریپت است که سئوکارها آنهارا از گذشته تاکنون برای تغییر درمتن های ساده ذکر میکردند. این تست ها شامل لینک های جاوا اسکریپت که باکدهای زیرنوشته شده میباشد:
  • وظایف خارج محدوده AVP)  href) اما همراه با علامت گذاری برروی لینک.
  • وظایف داخل محدوده AVP) href,  javascript window location) 
  • وظایف خارج از همراه با AVP) href) 
  • وغیره
  • نتیجه: لینک ها به طورکامل کرال وپیگیری میشوند. تست بعدی ما جهت آزمایش ورسیدگی کردن به اتفاقاتی نظیر onchange  در آزمایش بالاست. به طورخاص ما به ایده حرکت های موشی نظیر رسیدگی کننده اتفاقات و مخفی کردن URL با انواع که فقط بارسیدگی کننده اتفاقات امکان پذیر است اجرا میشود.
  • نتیجه: لینک ها کرال وپیگیری میشوند.

لینک های الحاق شده: میدانیم که گوگل جاوا اسکریپت رااجرا میکند اما میخواهیم زمانی که انواع کدرا میخواند نیز آنهارا شناسایی کند. دراین قسمت مارشته ای از کارکترهای دیگری که URLها راایجاد کرده اند را به هم الحاق کنیم.

  1. محتوای متغیر مندرج

یقینا این المان ها یکی ازمهمترین هاست، که شامل: متن ها، عکس ها، لینک ها وجهت یابی های مندرج متغیر میباشد.محتوای کیفی متن درماشین های جستجو در قسمت عنوان و یا محتوای صفحه احتمال خطا دارد. دراین زمینه وب سایت های متغیر در زمینه سئوبسیار مهم هستند.

این تست به منظور کنترل متن های متغیر مندرج دردو وضعیت مختلف طراحی شده است:

  • تست میزان توانایی موتور جستجو برای محاسبه متن های متغیر مندرج زمانی که منبع   HTML درصفحه موجود است.
  • تست میزان توانایی موتورجستجو برای محاسبه متن های مندرج متغیر زمانی که منبع خارج از محتوای متن در صفحه میباشد.(درفایل خارجی جاوااسکریپت)

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

برای اطلاعات بیشتر دراین مورد ماازیک جهت یابی جهانی مشتری ها که در جاوااسکریپت کدگزاری میشود وبا همه لینک های مندرج میباشد را نیز تست کردیم.درست طبق دستورالعمل نوشته شده واجرا شده بود وبه طورکامل توسط ربات گوگل خزیده ودنبال شده بود.این موضوع باید راجع به انواع توضیحات گوگل راجع به اینکه چگونه سایت ساخته شده بااستفاده از فرم   Analysis وتاریخچه  HTML5 APL (متودPushstate ) میتواند توسط ربات های گوگل ترجمه وایندکس شود و همچنین مانند صفحات HTML رتبه بندی شود. به همین خاطراست که دسترسی ربات های گوگل به فایل خارجی وراهنماهای جاوااسکریپت نباید مسدود شود و همچنین نشان میدهد که چرا گوگل از  AJaxهای پشتیبان خطوط راهنمای سئو را حذف کرده است. چه کسی به اسنپ شات های HTML نیاز دارد؟زمانیکه شما میتوانید صفحه اصلی را به آسانی ترجمه کنید.

تست ما به نتیجه مشابه باانواع محتوا دست پیدا کرده است.برای مثال:تصاویردرهنگام بارگیری در DOM توسط ربات های گوگل خزیده وایندکس میشود.

ماحتی یک تست که درآن به طور متغیر برروی ساختارهای Schema.org داده های ساختار یافته برروی  breadcrumbs ودرج آنها در DOM نیز استفاده کرده ایم.نتیجه چشد؟ به طور موفقیت آمیزی breadcrumbs در SERP های گوگل جایگاه بالایی را به خود اختصاص داد.

همانگونه که نوشته میشود گوگل حالا علائم   JSON-LD را برای بعضی ازساختارهای داده ها توصیه ومعرفی میشود.یقینا به آن افزوده خواهد شد.

4.داده های پیشرفته مندرج متغیر والمان های صفحه

مابه طور متغیر درDOM علائم متنوعی که برای  SEO اساسی است را درج میکنیم:

  • عناوین المان ها
  • توضیحات پیشرفته
  • ربات های پیشرفته
  • علائم استاندارد

نتیجه: درهمه موارد تمام علائمی که توسط ربات گوگل خزیده میشود دقیقا همانگونه که  درالمان های  HTML در منبع کدها باید باشد عمل میکند.

پیگیری مهیج تست به من کمک خواهد کرد که بتوانم الویت هارا رتبه بندی کنیم. زمانیکه سیگنال های مخالف ایجاد میشود کدام از یک از آنها پیروز خواهد شد؟ چه اتفاقی میفتد اگرnonidex-unfollow در منبع کدها و  nonidex-follow در DOM وجود داشته باشد؟

ربات های  HTTP-X چگونه به انواع دیگرترکیبات پاسخ میدهند؟ این مسئله یکی از موضوعات مهم تست های آینده خواهدشد. اگرچه تست 6 نشان داد که گوگل میتواند این منبع کدهارا درDOM  نادیده بگیرد.

5.مثال دررابطه با عدم پیگیری Unfollow یک مثال آموزنده بودن را اثبات میکند. ما میخواهیم تست کنیم که چگونه گوگل نسبت به عملکردهای Unfollow که در کدهای منبع و در DOM جای گرفته است واکنش نشان میدهد. ما همچنین به طورکلی یک کنترل بدون Unfollow نیز ترتیب داده ایم. Unfollow درکدهای منبع همانگونه که انتظار میرود عمل میکند.(لینک پیگیری نمیشود)

  Unfollow در DOM عمل میکند.(لینک پیگیری میشود و صفحه ایندکس میشود.) چرا؟ زیرا تغییر در المان های  href در DOM خیلی دیر اتفاق میفتد. ازقبل لینک ها توسط ربات گوگل خزیده و URL ها دریک صف گذاشته میشوند حتی قبل ازاینکه وظایف جاوااسکریپت اجرا شود که نشانه گذاری  Unfollow افزوده شود.اگرچه المان های href با   Unfollow در DOM درج شوند اما همزمان به عنوان یک لینک و (URL خود)همانگونه که انتظار میرود دیده میشود.

انشعابات:

ازقدیم نظریه های سئو زمانیکه ممکن است حول محورومحتوای Plain text انباشته میشوند. محتوای متغیر گسترش یافته  AJAX و لینک های جاوااسکریپت برای سئو در موتور جستجو یک ضرر بزرگ به حساب می اید. مشخص است که هیچ موردی برای گوگل ندارد. لینک های جاوا دریک جایگاه یکسان برای ساده کردن لینک های HTML عمل میکنند.(ما نمیدانیم که پشت الگوریتم ها دقیقا چه اتفاقی میفتد.)

  • جهت گیری های جاوا اسکریپت به شکل یکسان با 301 جهت گیری ها عمل میکند.
  • محتوای متغیرمندرج و حتی سیگنال های پیشرفته مانند توضیحات اضافی استاندارد که به یک شیوه در منبع HTML عمل میکند ویا بعداز اینکه  HTML آغازین توسط جاوااسکریپت در DOM تجزیه میشود، برانگیخته میشود.
  • گوگل برای ترجمه صفحه مورد نظر ظاهرمیشود و نه فقط کدهای منبع بلکه DOM را بررسی میکند. باور کردنی نیست...(بخاطرداشته باشید که دسترسی به ربات های گوگل برای آن فایل های خارجی و اجزا باارزش جاوااسکریپت امکان پذیر است.)

گوکل یک شیوه ترسناک ایجاد کرده و موتورهای جستجو را درخفا پنهان کرده است. ماامیدواریم که بتوانیم ازموتورهای جستجو وهمانگونه که هستند درزمینه پیشرفت استفاده کنیم. که این تنها به معنی HTML5 بیشتر، جاوااسکریپت بیشتر و وب سایت های متغیر بیشتری میدهد.

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

1396-07-05 09:51 مقالات آموزشی

مشاوره رایگان جهت طراحی سایت؟