زبان غالب وب مدرن جاوا اسکریپت است. طبق نظرسنجی از توسعه دهندگان امسال سایت Stack Overflow (سال 2020) جاوا اسکریپت رایج ترین زبان برنامه نویسی هشت سال اخیر آن بوده است.

اما واقعیت این است که موتور های جستجو همچنان در ایندکس کردن و تفسیر (render) سایت های جاوا اسکریپتی دارای مشکلاتی هستند.

در این فرایند، برای متخصصان سئو دانستن مبانی جاوا اسکریپت و همکاری با توسعه دهندگان (Developer) حیاتی می باشد.

در همایش الکترونیک SEJ “مارتین اسپلیت” مشاور گوگل و توسعه دهنده، در مورد چگونگی همکاری توسعه دهندگان و متخصصان سئو در قالب یک تیم برای همکاری در حل چالش های جاوا اسکریپت بحث نمود.

او چند سناریو را بررسی نمود. اینکه چطور با همکاری در یک پروژه می توان به موفقیت و راه های عیب یابی مشکلات تکنیکال سایت های جاوا اسکریپتی دست یافت.

برای اطلاع از زمان برگزاری بهترین کنفرانس های امسال این مطلب را مطالعه کنید! (روی عنوان کلیک کنید)

چرا انجام این کار بسیار سخت است؟

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

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

برای اطلاع بیشتر مطلبی بسیار کاربردی با عنوان 9 مورد از عادات بد که در سئو باید فراموش کنیم را می توانید مطالعه کنید.

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

وقتی این اتفاق رخ می دهد، یک مرحله به عقب برگردید و با خودتان بیاندیشید که برای رسیدن به این موضوع در حال انجام چه تلاشی هستید؟

متخصصان سئو در حال تلاش برای ساخت وب سایت هایی هستند که مشتریان بالقوه، زمانی که به سرویس ها و محصولات پیشنهادی شما نیاز دارند، بتوانند آن ها را پیدا کنند.

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

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

ما نیاز داریم کشف کنیم که چطور می توانیم در این همسفر بودن راه حل های بهتری بسازیم. بخصوص این موضوع زمانی مهمتر می شود که به چالش های سایت جاوا اسکریپتی برسیم.

چرا جاوا اسکریپت همه جا هست؟

جاوا اسکریپت از دیرباز مانند مسیر دسترسی جاری ای برای وب بوده و هر زمان ما چیزی بخواهیم که وب از انجامش ناتوان باشد، می توانیم با جاوا اسکریپ آن را شبیه سازی کنیم.

همچنین امکانات قدرتمندی را برای تجربیات وب به ارمغان می آورد. به عنوان مثال:

  • سرویس ورکر ها (service workers) در داخل فرمِ یک فایل جاوا اسکریپت به وب سایت ها اجازه می دهند که بتوانند به صورت آفلاین و یا مستقل از شبکه کار کنند.
  • برنامه های تحت وب پیش رو (PWA) بدون جاوا اسکریپت، اصلا این چیزی که الان هستند، نخواهند بود.

جاوا اسکریپت همچنین به فعال نمودن تعامل و محتوای پویا می پردازد.

چرا جاوا اسکریپت برای سئو اهمیت دارد؟

متخصصان سئو به چند دلیل نیاز به فهمیدن جاوا اسکریپت دارند:

جاوا اسکریپت بر محتوای صفحه کنترل کامل دارد

جاوا اسکریپت می تواند تصمیم بگیرد چه محتوایی نمایش داده شود و چه محتوایی نمایش داده نشود. چه محتوایی بارگذاری و چه محتوایی پنهان شود.

احتمالات زیادی در مورد اینکه محتوای خروجی جاوا اسکریپت چگونه به نظر می آید وجود دارد.

جاوا اسکریپت بخش اصلی تجربیات وب (Web Experience) است

زمانی که ما در مورد توسعه دهنده وب صحبت می کنیم، دقیقا داریم راجع به HTML و CSS حرف می زنیم.

برای مطالعه مطالب جالب بیشتر در این رابطه روی عنوان کلیک کنید.

جاوا اسکریپت همچنین سومین قسمت مهم این فن آوری وب است که نفوذ و تاثیر بسیار زیادی در نحوه تعامل با صفحه دارد. اینکه صفحه چطور به نظر می رسد و اینکه چگونه کار می کند.

جاوا اسکریپت می تواند برای سایت شما سودمند باشد یا به آن آسیب برساند

جاوا اسکریپت هم یکی از ابزار هایی است که می تواند یا به سایت شما آسیب برساند و یا برای آن سودمند باشد.

یک سرویس ورکر که انجام کار به صورت آفلاین روی وب سایت را امکان پذیر می کند و این برای کاربرانی که دارای اتصال به شبکه ضعیفی هستند، بسیار عالی می باشد.

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

در اصل این به تنهایی خوب و یا بد نیست. روشی که در نهایت باعث می شود صفحه شما برای کاربر خوب یا بد به نظر برسد را شما و توسعه دهنده تان تعیین می کنید.

توسعه دهندگان همیشه از ملزومات سئو برای جاوا اسکریپت آگاهی ندارند

سئو لزوما از اولویت های توسعه دهندگان نیست، در واقع این تخصصی ست که متخصصان سئو در آن خوب هستند و همزمان توسعه دهندگان هم در رشته خود متخصص هستند.

آن ها خیلی چیز ها می دانند که متخصصان سئو نمی دانند. حقیقت این است که متخصصان سئو و توسعه دهندگان هر دو ناقص هستند و ما برای کامل کردن مهارت های هر کدام، به هر دو نیاز داریم.

وب سایت ها به چه صورتی عمل می کنند؟

اساسا وب سایت ها با یک دستورالعمل شروع می شوند. اجزا تشکیل دهنده یک صفحه HTML عبارتند از:

  • عنوان
  • تیتر
  • تصویر
  • تعدادی پاراگراف

ولی این چیزی نیست که ما در واقع می بینیم. این یک دستورالعمل است:

اجزا تشکیل دهنده صفحه HTML

برای مقایسه زمانی که شما مقداری خرید از نانوایی می کنید، شما خواهان محصولات واقعی هستید، نه دستورالعمل.

اما این چیزی است که ما انجام می دهیم. ما دستورالعمل را ایجاد می کنیم. همان چیزی که به مرورگر ارسال می شود.

و در این مرحله مرورگر در واقع یک ظرف می سازد بوسیله:

  • ایجاد درخت سند
  • ایجاد عناصر و قرار دادن آن ها در درخت
  • قرار دادن آن ها در صفحه (لایه)
  • رنگ آمیزی تمام پیکسل ها (تفسیر کردن)
عملکرد وبسایت ها

تصویر بالا کم و بیش به ما نشان می دهد که یک وب سایت چگونه به نمایش در می آید و اینکه ربات گوگل چگونه آن را تفسیر می کند.

Crawling یا همان خزنده وب، دستورالعمل را گرفته و با تفسیر نمودن شروع به “پختن یک کیک واقعی” و یا همان تفسیر سایت واقعی می پردازد.

جاوا اسکریپت بسیار قوی ست. جاوا اسکریپت می تواند:

  • در هنگام تبدیل کد های HTML مرورگر را قطع می کند.
  • ارتباط با درخت DOM یا همان Document Object Model شامل:
    • ساختن عناصر جدید
    • حذف عناصر
    • اعمال تغییرات بر روی عناصر
  • پاسخ دادن به رویداد ها بر اساس هر کلیک، دانلود های ناموفق یا صدا زدن های API و …
  • ارتباط با شبکه

چه زمانی پیاده سازی های اشتباه جاوا اسکریپت برای ربات ها ایجاد دردسر می کند؟

راه های متفاوتی برای پیاده سازی جاوا اسکریپت وجود دارد و مسئله این است که ربات گوگل قادر به اجرای توابع مشابه نیست.

آقای اسپلیت مثال زد در جایی که جاوا اسکریپت رویداد ها را بررسی می کند، ممکن است موتور جستجو زمانی که آن ها به درستی اجرا نمی شوند، مشکلات را ایندکس کند.

ایشان چگونگی به سمت خطا رفتن چیز ها را اینطور بیان نمودند:

آنچه که ما می دانیم این است که به نظر می رسد این [پیاده سازی رویداد overscroll] در ربات گوگل کار نمی کند. چرا کار نمی کند؟ چون پیاده سازی آن اشتباه است.

پیمایش بی نهایت (Infinite scroll) در حالت عادی یک مشکل نیست، اما به صورت اشتباه پیاده سازی شده است. شاید به این دلیل که توسعه دهندگان به صورت واقعی اهمیتی برای سئو قائل نبودند و همینطور نمی دانستند که ربات گوگل اسکرول انجام نمی دهد.

ربات گوگل اسکرول نمی کند و به همین خاطر این عملکرد هرگز مورد کراولینگ (crawling) قرار نمی گیرد.

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

رفع اختلاف

برای پر کردن خلا بین متخصصان سئو و توسعه دهندگان شما به این نیاز دارید که بدانید توسعه دهندگان چطور عمل می کند.

روند کاری مرسوم آن ها مستلزم:

  • تعریف الزلمات
  • گرفتن تصمیم
  • پیاده سازی
  • اعتبارسنجی
پیاده سازی های اشتباه جاوا اسکریپت

در زمان اتفاق افتادن این پروسه، تصمیمات فراوانی گرفته می شود. توسعه دهندگان در تمام لحظات نیاز به گرفتن تصمیماتی دارند و بسیاری از آن ها خیلی کوچک هستند.

با این حال بسیاری از تصمیمات کوچک می توانند پایانی باشند بر افزایش تصمیمات مشکل ساز که در اینجا به تعدادی از راه های اجتناب از این موضوع می پردازیم.

سئو را همزمان با تعریف الزامات شروع کنید

برای همه بهتر است که متخصصان سئو زود تر بر پروسه تصمیم گیری تاثیرگذاری داشته باشند.

اگر تنظیم بخشی از شرایط به عهده شماست، با تعریف اینکه از دیدگاه سئو چه چیزی مهم است و چه چیزی برای راحتی کار نیاز است، می توانید به توسعه دهندگان کمک کنید.

این به صورت بالقوه می تواند از آغاز مشکلات جلوگیری کند.

زمانی که در حال تصمیم گیری هستند، به آن ها مشاوره بدهید

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

طوری رفتار کنید که متوجه شوند حضور شما برای راهنمایی دادن به آن هاست برای اینکه چطور تصمیم ها را بگیرند.

برای چگونگی پیاده سازی درست، به آن ها ابزار و مستندات پیشنهاد دهید

در همان حالی که توسعه دهندگان در حال کار کردن بر روی پیاده سازی ها هستند، با نشان دادن مستنداتی مانند مستندات موجود در آدرس developers.google.com/search به آن ها کمک کنید. (با IP ایران در دسترس نیست متاسفانه)

نکاتی برای انتخاب نوع ابزار مورد نیاز به آن ها پیشنهاد دهید تا مطمئن شوند پیاده سازی های شان درست در مسیری که انتخاب کرده اند در حرکت هستند.

زمانی که در حال تست و اعتبار سنجی هستند اگر راه کارشان عمل می کند، با آن ها همراهی کنید

راه حل را مورد تست قرار دهید و تمام موارد دارای خطا را بررسی کنید و سپس به آن ها بازخورد ارائه دهید و همچنین راهنمایی ها و ملزومات برای ادامه کار.

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

منبع: searchenginejournal.com