DEV Community

Cover image for سئو جاوااسکریپت (JavaScript SEO) چیست؟ راهنمای سایت‌های جاوااسکریپتی
Mohamad Mahdi Peyambari
Mohamad Mahdi Peyambari

Posted on

سئو جاوااسکریپت (JavaScript SEO) چیست؟ راهنمای سایت‌های جاوااسکریپتی

این مطلب نسخه خلاصه‌شده‌ای از یکی از راهنماهای تخصصی وبتیک است.

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

اما اگر HTML اولیه‌ای را که سرور ارسال می‌کند بررسی کنید، تقریباً چیزی جز یک و چند فایل JavaScript وجود ندارد.

Google می‌تواند JavaScript را اجرا و صفحات مبتنی بر JavaScript را رندر کند. بنابراین استفاده از JavaScript به خودی خود مانع SEO نیست. Google حتی در به‌روزرسانی مستندات خود در مارس ۲۰۲۶ صراحتاً توضیح داده که چون سال هاست JavaScript را رندر می‌کند، صرف استفاده از JavaScript را نباید به‌معنی «سخت‌تر کردن Search برای Google» دانست.

سئو جاوااسکریپت (JavaScript SEO) مجموعه اقداماتی است که مطمئن می‌شود صفحات وابسته به JavaScript برای Google قابل Crawl، قابل رندر، قابل درک و قابل Index باقی می‌مانند.

مرحله اول: Crawling

اگر URL مسدود شده باشد، Googlebot صفحه را دریافت نمی‌کند و در نتیجه JavaScript آن صفحه نیز برای Search رندر نخواهد شد.

مرحله دوم: رندرینگ

Google Search از یک سرویس رندر وب مبتنی بر Chromium برای اجرای JavaScript استفاده می‌کند. صفحه رندر می‌شود و Google خروجی نهایی HTML پس از اجرای JavaScript را دوباره پردازش می‌کند.

آنچه برای SEO اهمیت دارد این است که محتوای موردنیاز بعد از رندرینگ واقعاً در خروجی قابل‌مشاهده Google وجود داشته باشد.

مرحله سوم: Indexing

URL پیدا شود → قابل Crawl باشد → منابع لازم بارگذاری شوند → JavaScript اجرا شود → محتوای مهم رندر شود → خروجی قابل Index باشد

آیا JavaScript برای SEO بد است؟

JavaScript SEO جنگ با JavaScript نیست؛ مدیریت وابستگی Search به رندرینگ سمت کاربر است.

Client-Side رندرینگ یا CSR

HTML اولیه ممکن است بسیار محدود باشد و JavaScript مسئول دریافت Data و ساخت View باشد.

  • تجربه App-like

  • ناوبری سریع بعد از Load اولیه

  • انعطاف زیاد در Interface

هرچه محتوای اصلی بیشتر به اجرای موفق JavaScript، API و Client رندرینگ وابسته باشد، تعداد نقاط شکست بیشتر می‌شود.

Static رندرینگ یا Static Generation

Google همچنان سمت سرور رندرینگ و Pre-rendering/Static رندرینگ را گزینه‌های مناسبی می‌داند؛ چون محتوا زودتر برای کاربران و خزنده‌ها در دسترس است و همه Botها نیز الزاماً JavaScript اجرا نمی‌کنند.

لینک‌های JavaScript چگونه باید ساخته شوند؟

یکی از مهم‌ترین مشکلات سایت‌های JavaScript این است که چیزی که از نظر کاربر «لینک» به نظر می‌رسد، از نظر HTML لینک قابل Crawl نیست.

هر View مهم باید URL مستقل داشته باشد

Google نیز در راهنمای توسعه دهندگان خود برای JavaScript Appها توصیه می‌کند هر Screen یا محتوای مستقل URL خودش را داشته باشد.

robots.txt چگونه می‌تواند رندرینگ را خراب کند؟

فرض کنید HTML صفحه قابل Crawl است، اما JavaScript اصلی آن در robots.txt مسدود شده است.

JavaScript و Canonical

Google می‌تواند Canonical تولیدشده با JavaScript را ببیند، اما توصیه می‌کند در صورت امکان Canonical در HTML اولیه مشخص شود.

Robots Meta را با JavaScript با احتیاط تغییر دهید

اما Google توضیح می‌دهد وقتی noindex را در نسخه اولیه ببیند، ممکن است رندرینگ و اجرای JavaScript را Skip کند.

Structured Data و JavaScript

اما خروجی باید بعد از رندر وجود داشته باشد و Markup نیز معتبر باشد. Google برای برخی موارد Ecommerce توصیه می‌کند Product Markup در HTML اولیه قرار بگیرد تا پیاده‌سازی قابل‌اتکاتری داشته باشد، هرچند Structured Data تولیدشده با JavaScript نیز پشتیبانی می‌شود.

JavaScript SEO در معماری سئو تکنیکال چه جایگاهی دارد؟

JavaScript SEO بخشی از سئو تکنیکال است، اما موضوع مستقلی مثل «بهینه‌سازی کد JavaScript برای سرعت» نیست.

جمع بندی

JavaScript SEO به‌معنی حذف JavaScript از سایت نیست.

Google می‌تواند JavaScript را با Chromium اجرا و محتوای Renderشده را Index کند. مسئله اصلی قابل‌اتکا بودن زنجیره Crawl، رندرینگ و Indexing است.

اگر پاسخ این سؤال‌ها مثبت باشد، استفاده از JavaScript به خودی خود مانع SEO نیست.

مطالعه نسخه کامل

برای مطالعه توضیحات کامل، مثال‌ها و جزئیات بیشتر، سئو جاوااسکریپت (JavaScript SEO) چیست؟ راهنمای سایت‌های جاوااسکریپتی را در وبتیک بخوانید.

Top comments (0)