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

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

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

در این ویدیو در مورد مباحث زیادی صحبت شد؛ از تکنیک 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 پاسخ دریافت می‌کند، در این شرایط با توجه به قابلیت کش احتمالا ربات‌های گوگل بسیاری از این درخواست‌ها و اطلاعات را قبلا کش کرده‌اند، بنابراین اگر قبلا این اطلاعات به صورت کش دریافت شده باشد، میزان خزش ربات‌های گوگل هدر نرفته و بهینه‌گی میزان استفاده از خزش ربات‌های گوگل در وبسایت شما از بین نمی‌رود.”

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

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

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

“زمانی‌که محتوا منتشر می‌شود ما کدهای 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

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

امین اسماعیلی

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

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

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

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

اطلاعات بیشتر
پرسش و پاسخ

پس از پاسخ گویی توسط کارشناسان، از طریق پیامک به شما اطلاع رسانی میشود

دیدگاه شما را با چه تصویری در سایت نمایش دهیم؟
امتیاز شما به این محتوا ارسال دیدگاه
علی سمیعی 6 دی 1399

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

محسن قله 12 مرداد 1399

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

آکادمی وبسیما 15 مرداد 1399

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

علی صادقی 25 اردیبهشت 1399

با سلام خدمت تیم خوب وبسیما
می خواستم بدونم برای ایجاد lazy loading تصاویر در وردپرس، استفاده از افزونه ها رو توصیه می کنید؟
آیا کاری که این افزونه ها برای بارگذاری تصاویر میکنند، در ایندکس کردن تصاویر توسط ربات های گوگل اشکال ایجاد نمی کند؟
با تشکر

آکادمی وبسیما 27 اردیبهشت 1399

سلام دوست عزیز
به طور حتم پیاده سازی Lazy Load در قالب شما انتخاب بهتری است ولی استفاده از افزونه هایی مثل wp rocket نیز میتواند همین کار را به درستی برای شما انجام دهد.
با توجه به اینکه گوگل تاکید زیادی بر استفاده از Lazy داشته و استانداردهایی برای درک تصاویر در این حالت مشخص کرده است مشکلی از نظر ایندکس تصاویر یا تاثیر منفی بر سئو برای شما ایجاد نمیشود.

صبا شاهوردی 31 فروردین 1399

سلام خیلی عالی و مفید بود مطلبتون موفق باشید.

رضا شیرودی 9 شهریور 1398

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

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

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