جاوا اسکریپت در سئو چه نقشی دارد؟ شیطان یا فرشته؟

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

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

در این ویدیو در مورد مباحث زیادی صحبت شد؛ از تکنیک Lazy loading تا Pre-rendering و Ajax تا ابزارهای تست صفحات دارای جاوا اسکریپت مورد بحث قرار گرفتند تا چیزی از قلم نیفتد.

مهمان این قسمت، جیمی آلبریکو (Jamie Alberico) سئو مستر و متخصص سئو تکنیکال مجموعه Arrow electronics بود. مارتین اسپلیت (Martin Splitt) هم در نقش میزبان، مثل همیشه و با همان روحیه طنز پردازانه خود به سوالات و ابهامات آلبریکو پاسخ داد تا باورهای اشتباه در سئو و جاوا اسکریپت را برای همیشه ریشه کن کند.

سئو تکنیکال چطور میتواند زندگی سایت شما را نجات دهد (جاوا اسکریپت(

در مقدمه ویدیو اولین سوال را خود مارتین اسپلیت مطرح کرد تا نظر آلبریکو را در این مورد بداند:

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

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

مشکل بعدی که آلبریکو به آن اشاره کرد تفاوتی است که در نگرش برنامه نویس ها و متخصصین سئو وجود دارد:

“من فکر می کنم متخصصین سئو و برنامه نویسان طرز تفکر متفاوتی دارند”

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

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

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

مهمترین چالشی که در مورد رابطه سئو و جاوا اسکریپت وجود دارد این است که آیا این دو با هم در تقابل هستند؟ سوال آلبریکو دقیقا این بود:

“جاوا اسکریپت شیطان داستان ماست؟”

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

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

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

بنابراین نمی توان آن را یک عامل منفی در سئو به حساب آورد، چرا که کاربران از تاثیرات آن رضایت داشته اند.

اسپلیت اینطور ادامه داد که گوگل در حال حاضر تلاش می کند این باور اشتباه که «جاوا اسکریپت دشمن سئو است و توسط گوگل ایندکس نمی شود» را از بین ببرد.

راهنمایی برای استفاده بهینه از جاوا اسکریپت

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

این دستورالعمل ها که در Google Webmaster Guidelines هم قرار دارند کمک می کنند مشکلاتی که در زمینه استفاده از جاوا اسکریپت وجود دارد را برطرف کنید؛ مشکلاتی که باعث می شوند تمام یا بخشی از محتوای صفحات وبسایت شما برای کراولرهای گوگل غیر قابل مشاهده باشند و یا بررسی آن ها توسط ربات های گوگل دشوار و زمانبر باشد.

استفاده از تکنولوژی Web Rendering Service

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

گوگل برای کراول کردن وبسایت ها و وب اپلیکیشن هایی که بر اساس جاوا اسکریپت ایجاد شده اند از کراولرهایی با نام WRS) Web Rendering Service) استفاده می کند. این کراولرها نوعی از ربات های خزنده گوگل به شمار می روند. با استفاده از توانایی رندر کردن کدهای جاوا اسکریپت، این مرورگرها توانایی خواندن این کدها را دارند.

فرآیند ایندکس این صفحات به شکل زیر است:

  1. کدهای جاوا اسکریپت توسط ربات های گوگل خوانده و اجرا می شوند.
  2. سپس کدهای جاوا اسکریپت به کدهای html تبدیل می شود.
  3. کدهایی که به Html تبدیل شده اند توسط گوگل ایندکس می شوند.
استفاده از تکنولوژی Web Rendering Service

 Lazy Loading در بهبود سرعت سایت

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

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

فرض کنید صفحه ای وجود دارد که بیش از 100 تصویر در آن وجود دارد و بیشتر کاربران با دیدن چند مورد از این تصاویر به محتوای مورد نیاز خود دست پیدا می کنند. در این شرایط اگر قرار باشد تمام این 100 تصویر برای کاربری که وارد آن صفحه شده بارگذاری شود تجربه بسیاری بدی برای کاربر به وجود می آید، اما با استفاده از تکنیک Lazy Loading، تصاویر زمانی بارگذاری می شوند که کاربر به آن ها برسد.

یکی از موضوعاتی که در دوره آموزش سئو تکنیکال مطرح میشود، همین تکنیک Lazy Loading و تاثیر آن در بهبود تجربه کاربری و سئو سایت است.

تکنیک Lazy Loading

درست بعد از اینکه اسپلیت توضیحات خود را درباره استفاده از تکنیک Lazy Loading تکمیل کرد، آلبریکو نظر او را در مورد Ajax پرسید. اینکه آلبریکو از اسپلیت در مورد Ajax پرسید برای او تعجب برانگیز بود. علت تعجب او این بود که در این مورد معمولا صحبت های زیادی انجام نمی شود.

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

آلبریکو به این مسئله اشاره کرد که در برخی موارد از Ajax برای اضافه کردن مقدار زیادی محتوا به یک محصول استفاده می شود، در این شرایط ربات گوگل یک URL درخواست می کند، اما 9 URL دریافت می کند، چراکه هر کدام از کدهای Ajax سرنخ (String) مختص به خود را دارد.

اما چطور می توانیم چنین وضعیتی را مدیریت کنیم؟ آیا این مسئله بر نرخ خزش ربات های گوگل تاثیر منفی می گذارد؟

پاسخ اسپلیت به این مسئله کاملا واضح و روشن بود:

“نمیشود گفت که این مسئله بر نرخ خزش ربات های گوگل تاثیر منفی می گذارد؛ به خاطر اینکه فرآیند خزش ربات های گوگل کمی پیچیده تر از چیزی است که فکر می کنیم. فرآیند کار ربات های گوگل معمولا دست کم گرفته می شود، اما پیچیده تر از چیزی است که به نظر می رسد.”

اسپلیت در ادامه برای حل این مسئله به قابلیت کش اشاره کرد:

“ما از قابلیت کش استفاده می کنیم، چون لزوما همه محتواها در حال تغییر و به روزرسانی نیستند؛ حالا فرض کنید برای بررسی صفحه یک محصول، ربات گوگل یک درخواست ارسال می کند و 9 پاسخ دریافت می کند، در این شرایط با توجه به قابلیت کش احتمالا ربات های گوگل بسیاری از این درخواست ها و اطلاعات را قبلا کش کرده اند، بنابراین اگر قبلا این اطلاعات به صورت کش دریافت شده باشد، میزان خزش ربات های گوگل هدر نرفته و بهینگی میزان استفاده از خزش ربات های گوگل در وبسایت شما از بین نمی رود.”

اسپلیت در ادامه به این موضوع اشاره کرد که مسئله Ajax برای کاربرانی که اینترنتی با سرعت کند دارند هم مشکل ساز است، اما راه حل های زیادی برای حل این مسئله پیشنهاد می شود. استفاده از تکنیک های Pre-rendering، Hybrid rendering و Server side rendering برخی از روش های مورد استفاده برای حل مشکل کدهای Ajax هستند. (این پاراگراف قابل حذف است)

نحوه برخورد ربات های گوگل با جاوا اسکریپت

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

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

“زمانی که محتوا منتشر می شود ما کدهای html خام را دریافت می کنیم، این کدها اطلاعات زیادی درباره فایل های CSS، JavaScript، تصاویر و لینک هایی که در محتوای یک صفحه وجود دارد به ما می دهد.

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

همه این کارها به طور همزمان انجام می شوند و ترتیب و صفی برای انجام آن وجود ندارد.

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

آیا استفاده از تکنیک Pre-rendering همیشه بهترین راه حل است؟

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

اسپلیت در ادامه این توضیحات مهم را ارائه داد:

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

فرض کنید شما یک گوشی هوشمند قدیمی دارید که سرعت اینترنت آن هم چندان زیاد نیست، در این شرایط باز کردن صفحه ای با صدها تصویر برای گوشی هوشمند شما مثل شکنجه است. در این شرایط می توانید استفاده ترکیبی از تکنیک های Pre-rendering و Lazy Loading را در دستور کار قرار دهید. استفاده ترکیبی از تکنیک هایی که محتوای صفحات وبسایت شما را برای کاربر و ربات های گوگل به بهترین و سریع ترین شکل در دسترس قرار می دهد همیشه بهترین راه حل است.”

هدف نهایی ما رضایت کاربر است؛ دیگر چه کار می توانیم انجام دهیم؟

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

“هدف نهایی، رساندن محتوای مورد نیاز کاربر به او در سریع ترین و راحت ترین حالت ممکن است، تفاوتی ندارد که از تکنیک Hybrid rendering یا  Server-side renderingبرای این هدف استفاده کنید.

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

اما مهمترین و جذاب ترین سوال آلبریکو در تمام این مصاحبه در این بخش مطرح شد:

“در بسیاری از موارد می توانیم تجربه بهتری برای کاربران ایجاد کنیم؛ اما از کجا می توانیم بفهمیم در کدام موارد نیاز به خلق تجربه بهتر برای کاربر وجود دارد؟”

پاسخ اسپلیت به این سوال هم بسیار جالب بود:

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

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

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

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

این ابزارها معیارهای مختلفی را بررسی می کنند و اطلاعات مهمی در این مورد ارائه می دهند. یکی از معیارهای اندازه گیری که اسپلیت به اهمیت بسیار زیاد آن اشاره کرد، مدت زمانی است تا اولین محتوای معنادار صفحه (First Contentful paint) ظاهر شود.

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

“اگر قرار باشد کاربر تا زمانی که فایل های جاوا اسکریپت قابل مشاهده شوند صفحه ای سفید را مشاهده کند وضعیت خوب نیست و فرقی ندارد که اولین بایت از صفحه چه زمانی بارگذاری شده است”

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

ابزار Lighthouse گوگل، اولین پیشنهاد مارتین اسپلیت بود. ابزارهای Page speed insights و Mobile friendly test موارد دیگری بودند که توسط او پیشنهاد داده شدند.

ابزارهای بررسی جاوا اسکریپت در مسیر سئو - lighthouse

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

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

آموزش سئو تکنیکال

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

اطلاعات بیشتر
پرسش و پاسخ
امتیاز شما به این محتوا ارسال دیدگاه
رضا شیرودی 9 شهریور 1398

سلام طبق اطلاعاتی که من دارم پروژه Amp گوگل تمرکزش روی html و css هست و فقط اینا رو ایندکس میکنه. این رویکرد گوگل نشون میده که تو آینده هم پشتیبانی از جاوا اسکریپت بهتر از این نمیشه. گوگل و انحصار طلبیش !

تحریریه آکادمی 11 شهریور 1398

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

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

سلام، شیما فقیه پور هستم.

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

از صحبت با شما خوشحال خواهم شد.

0902-2323-460
آموزش تکنیک های حرفه ای سئو
کارگاه تکنیک های حرفه ای سئو
28 شهریور
وبسیما
ثانیه دقیقه ساعت روز
ثبت نام