سئو و جاوااسکریپت – آیا گوگل فایلهای جاوااسکریپت را رندر میکند؟
آیا میدانید گوگل قبلا قادر به خواندن صفحات جاوااسکریپت نبود؟ این مساله باعث میشد آن صفحات ایندکس نشوند. در حال حاضر روزنههای امیدی برای حل این مساله پیدا شده است.
دوره آموزش سئو که روی سایت قرار دارد درباره اینکه سئو چیست، شامل چه مفاهیمی میباشد، معرفی ابزارها و تعریف مفاهیم سئو و عوامل رتبهبندی موتور جستجو صحبت میکند. اما قبل از این رتبهبندی لازم است صفحات کراول و ایندکس شوند.
یکی از مشکلات موتورهای جستجو عدم توانایی آنها در خواندن و ایندکس صفحات جاوااسکریپت بود. گامهایی در راستای حل این مساله برداشته شده که در این مقاله به آنها میپردازیم.
موتورهای جستجو در ایندکس سایتهای جاوااسکریپت پیشرفتهایی داشتهاند. اما اینکه آیا میتوانند به خوبی صفحات جاوااسکریپت را رندر کنند یا نه هنوز مبهم است.
سئو و جاوااسکریپت زمان زیادی است که موضوع مورد بحث بین توسعهدهندگان سایت و متخصصان سئو بوده است.
موتورهای جستجو در ایندکس کردن وبسایتهای جاوااسکریپت پیشرفتهای چشمگیری داشتهاند و همچنان این پیشرفتها ادامه دارد.
اما همانطور که گفته شد، اینکه آیا موتورهای جستجوی اصلی میتوانند به درستی صفحاتی را که با استفاده از جاوااسکریپت تولید شدهاند رندر کنند یا خیر هنوز در حالهای از ابهام است.
خبر خوب: تحولات جدید سازگاری را راحتتر میکنند
گوگل و بینگ آخرین اطلاعیههای سئو خود را که مربوط به جاوااسکریپت بود سال گذشته ارائه کردند. که نشاندهنده پیشرفتهایی بود که سازگاری را راحتتر میکرد.
گوگل اعلام کرد با استفاده از آخرین نسخه گوگل کروم شروع به رندرکردن صفحاتی کرده است که JavaScript، Style Sheets و غیره را اجرا میکنند.
Bing اعلام کرد که Microsoft Edge را بعنوان موتور بینگ برای رندر کردن صفحات برمیگزیند.
ربات بینگ اکنون تمام صفحات وب را با استفاده از همان فناوری پلتفرم وبی که گوگل استفاده میکند رندر خواهد کرد
هردو موتور جستجوی پیشتاز (گوگل و بینگ) این را نیز عنوان کردهاند که این رویکردشان دوام خواهد داشت، و متعهد شدند که با آپدیتهای منظم، موتور رندر صفحات را به آخرین نسخه ثابت مرورگر خود بروزرسانی کنند.
این آپدیتهای منظم تضمینی هستند بر پشتیبانی از ویژگیهای اخیر، جهشی قابل توجه از نسخههای قبلی.
موتورهای جستجو با اعمال فناوری رندرینگ یکسان کار سئو در جاوااسکریپت را ساده میکنند
این تحولات گوگل و بینگ باعث میشود توسعهدهندگان خیلی راحت، از کارکرد صحیح سایت و سیستم مدیریت محتوایشان در هر دو مرورگر اطمینان حاصل کنند. بدون اینکه لازم باشد وقت صرف کنند و رویکرد و مشکلات هرکدام را بطور عمیق بررسی کنند.
به استثناء فایلهایی که فایل Robot.Txt آنها را بلاک نکرده است، محتوای ثانویهای که در مرورگر جدید Microsoft Edge یا مرورگر Google Chrome میبینند همان چیزی است که موتورهای جستجو خواهند دید و تجربه خواهند کرد.
برای سئوکاران و توسعهدهندگان سایت، این کار باعث صرفهجویی در زمان و هزینه میشود.
برای مثال:
- دیگر نیازی به این نیست که گوگل کروم 41 را برای تست Googlebot نگه داریم.
- نیازی نیست که روی بینگ تاکید داشته باشیم.
- دیگر نیازی نیست لیستی از سازگاری (Compatibility) را نگهداری کنیم که کدام تابع جاوااسکریپت، Style Sheet Directive برای هر موتور جستجو کار میکند.
و لیست بالا بزرگ و بزرگتر میشود.
با درنظر گرفتن همه این خبرهای عالی و فرصت خوب، آیا این به معنی چراغ سبزی در ارتباط با جاوااسکریپت و سئو است؟
احتمالا خیر.
خبر بد: جاوااسکریپت هنوز با محدودیتها و ریسکهای زیادی مواجه است
بطور خلاصه، جاوااسکریپت میتواند خواندن صفحه شما را برای موتور جستجو دشوار کند، در اینصورت جای خطا وجود خواهد داشت و این برای سئو مضر است.
وقتی یک موتور جستجو یک داکیومنت وب را دانلود و شروع به تحلیل آن میکند، اولین کاری که انجام میدهد تشخیص نوع داکیومنت است.
اگر آن داکیومنت یا سند، یک فایل غیر HTML باشد (مثل ریدایرکت HTML، پی دی اف، عکس یا ویدئو) در اینصورت نیازی یه رندرکردن داکیومنت با اجرای استک جاوااسکریپت نیست. چرا که این نوع محتوا شامل جاوااسکریپت نیست.
برای فایلهای HTML، اگر منابع کافی داشته باشند، تلاش خواهند کرد تا داکیومنت را با استفاده از رویکردهای بهینه رندرینگ مرورگرهای خود رندر کنند.
مشکل از جایی شروع میشود که JavaScript مستقیما در داخل داکیومنت جاگذاری نشده باشد.
<script type="text/javascript" data-src="https://www.domain.com/files/myjavascript.js" />
موتورهای جستجو باید فایل را دانلود کنند تا بتوانند آنرا بخوانند و اجرا کنند. اگر محتوا از نظر Robot.txt غیرمجاز باشد (اجازه ایندکس نداشته باشد)، قادر به این کار نخواهند بود.
اگر مجاز باشد (اجازه ایندکس داشته باشد)، موتورهای جستجو باید فایل را با موفقیت دانلود کنند، و با مشکلات سهمیه خزش سایت (بودجه خزش) و در دسترس نبودن سایت مقابله شوند.
موتورهای جستجومعمولا اعمال پیچیدهای مانند کلیک روی یک دکمه را انجام نمیدهند پس بهتر خواهد بود که از HTML پایه بعنوان لینک <Script> به فایلی مانند مثال بالا استفاده شود.
یک مشکل بالقوه دیگر این است که فایل جاوااسکریپت ممکن است با نسخه کششده وبسایت هماهنگ نباشد. موتوهای جستجو معمولا در بازههای گستردهای از زمان کش میکنند تا از واکشی مکرر همه منابع صفحه جلوگیری کنند.
جاوااسکریپت ممکن است ریکوئستهای HTTP داشته باشد برای بارگذاری محتوا و فایلهای منابع از طریق فراخوانیهای HTTP که باعث افزایش تغییرات در مسائلی میشود که با آنها مواجه میشویم و قبلا توضیح داده شد.
جاوااسکریپتی که در این فایلهای جاوااسکریپت یا HTML قرار دارند نیز ممکن است با موتور جاوااسکریپتی که توسط موتورهای جستجو استفاده میشود سازگار نباشد.
وقتی سازگار نباشد، موتور جستجو آنرا نخواهد خواند، و اگر نتوانیم آنرا بخوانیم، نخواهیم توانست آنرا به خاطر بسپاریم.
با حرکت اخیر برای موتورهای جستجو در استفاده از فناوری و الزامات یکسان برای آپدیت مرورگرهایشان، برخورد با این مساله باید در آینده راحتتر شود.
همچنین، فراموش نکنید که هندل کردن جاوااسکریپت با موتورهای جستجو دارای محدودیت است:
- در جستجو برای نرمال سازی، تمام پارامترهای بعد از # در URL نادیده گرفته میشوند (بجز !# که استاندارد است).
- موتورهای جستجومعمولا کلیک روی دکمهها را انجام نمیدهند و سایر عملهای پیچیده را انجام میدهند.
- موتورهای جستجو بازههای زمانی طولانی منتظر رندر صفحات نمیشوند.
- موتورهای جستجو صفحات وب با تعاملات پیچیده را بعنوان خروجی نمیدهند.
به یاد داشته باشید که هر نمونهای از جاوااسکریپت باید خوانده شود. استفاده بیش از حد باعث کندی صفحه از نظر رتبهبندی ایندکس میشود.
خبر غیرقطعی: برای سئو جاوااسکریپت سعی کنید جاوااسکریپت را به میزان کم و به بهترین شکل استفاده کنید یا کلا استفاده نکنید
برای سایتهای بزرگ و سایتهایی که میخواهند بیشترین نتیجه را از موتورهای جستجو بگیرند، ترجیح داده میشود که کراولرهای موتورهای جستجو بر اساس User Agent یا عامل کاربریشان (Bingbot, Googlebot) و Html پایه خروجی بدون جاوااسکریپت یا همراه با جاوااسکریپت محدود تشخیص داده شوند.
همچنین با یک درخواست Http برای HTML به کراولرها اجازه دسترسی به محتوا را بدهید و این را بنویسید که میخواهید آنها ایندکس شوند.
نگرانیهایی نیز وجود دارد برای وقتی که یک سایت احساس کند که لازم است در جاوااسکریپت یا برای رباتها تمایز و تغییراتی قائل شود ممکن است بعنوان اسپمر شناخته شده و پنالتی شود.
خبر خوب اینکه گوگل و بینگ میگویند لازم نیست نگران باشید اگر محتوا و تکست خروجی شما تقریبا مشابه آنی باشد که مشتریان واقعی شما دیدهاند.
گوگل میگوید:
در حال حاضر، پردازش جاوااسکریپت سخت است و همه کرولرهای موتورهای جستجو قادر نیستند آنرا با موفقیت یا سریع پردازش کنند. ما رندرینگ داینامیک را بعنوان یک راه حل برای این مساله پینهاد میکنیم. رندر داینامیک یعنی سوئیچ کردن بین محتوای رندرشده یا پیش رندر شده سمت مشتری برای یک سری عاملان کاربری خاص.
بینگ میگوید:
وقتی بحث رندرکردن محتوا میشود بخصوص برای کرولرهای موتورهای جستجو، به ناچار سوال میشود که آیا این، پنهان شدن (Cloaking) در نظر گرفته میشود؟ و برای جامعه سئو چیزی ترسناکتر از پنالتی شدن بابت Cloaking وجود ندارد. خبر خوب این که تا زمانیکه شما تلاش کنید که محتوای یکسانی را به تمام بازدیدکنندگان ارائه دهید با یک تفاوت که محتوا، روی سرور برای رباتها و برای کاربران واقعی روی کلاینت رندر میشود، قابل پذیرش خواهد بود و بعنوان Cloaking در نظر گرفته نمیشود.
انجام یا عدم انجام؟
برای متخصصان سئو، ترجیح این است که وقتی کرولرهای موتور جستجو در حال بازدید از صفحات شما هستند خروجی جاوااسکریپت بیون ندهید، با این فرض که محتوای متنی HTML و فرمتی که برمیگردانید تقریبا شبیه همانهای باشند که بازدیدکنندگان واقعی سایت مشاهده میکنند.
اگر جاوااسکریپت هدفی روی سایت یا صفحه داشته باشد، استفاده از آن خوب است.
مفاهیم فنی را حتما بفهمید تا داکیومنت شما بتواند به خوبی ایندکس شود یا با یک متخصص فنی سئو مشورت کنید.
موتورهای جستجو برای اینکه مشتریان و کاربران خود را راضی نگه دارند دوست دارند محتوای شما را ایندکس کنند.
اگر با مشکلی مواجه شدید با کمک ابزارهای آنلاین وبمستر موتورهای جستجو به آن رسیدگی کنید و یا با آنها تماس بگیرید.