بروزرسانی سند راهنمای JavaScript SEO basics – برای کنترل پروتکل های مربوط به کراول و ایندکس بر روی JS تکیه نکنید.
گوگل با بروزرسانی مستندات JavaScript SEO Basics، بهطور شفافتری درباره نحوه تعامل Googlebot با صفحات جاوااسکریپتی و تگ noindex توضیح داده است. با این تغییرات، اگر تصمیمهای حیاتی مربوط به خزیدن و ایندکس شدن صفحات به JavaScript وابسته باشند، نمیتوان روی اجرای آنها حساب کرد.
طبق توضیح جدید گوگل، زمانی که کراولر این موتور جستجو در کد اولیه HTML یک صفحه با تگ noindex مواجه میشود، ممکن است فرآیند رندر صفحه و اجرای JavaScript را بهطور کامل نادیده بگیرد. این یعنی اگر تگ noindex در HTML اولیه قرار داشته باشد و سپس با JavaScript شرطی برای حذف یا تغییر وجود داشته باشد، تضمینی وجود ندارد که گوگل هرگز به مرحله اجرای آن کد جاوااسکریپت برسد.
به بیان ساده تر اگر حتی احتمال میدهید صفحهای که تگ نوایندکس دارد باید در نهایت ایندکس شود، نباید از ابتدا تگ noindex را در کد خام صفحه قرار دهید. این تصمیم باید بهصورت قطعی و از همان پاسخ اولیه سرور مشخص شده باشد.
- متن قبلی: گوگل قاطعانه میگفت: اگر noindex را ببیند، حتماً (skips) از رندر و اجرای جاوا اسکریپت صرف نظر میکند.
- متن جدید: گوگل اکنون میگوید: اگر noindex را ببیند، ممکن است (may skip) از رندر و اجرای جاوا اسکریپت صرف نظر کند.
اگرچه در ظاهر، کاهش قطعیت از «حتماً» به «ممکن است» کمی بهتر به نظر میرسد، اما از دید مهندسی و سئو، این تغییر یک نکته قابل توجه است.
بنابر این اگر شما در کد اصلی HTML خود تگ <meta name=”robots” content=”noindex”> را قرار داده باشید و سپس یک اسکریپت جاوا اسکریپت بنویسید تا آن تگ را حذف یا به index تغییر دهد، گوگل ممکن است noindex را تشخیص دهد و به دلیل وجود noindex، تصمیم بگیرد اجرای جاوا اسکریپت را متوقف کند. در نتیجه، اسکریپت شما هرگز اجرا نمیشود و صفحه بهطور دائم ایندکس نخواهد شد.
پس پروتکل های Robots، Indexing، Canonical، Redirect که در Html اولیه قرار دارند، باید بدون وابستگی به JS باشند.
