صرف نظر و مشاهده محتوا

خوش آمدید!

این تالار گفتگو در خصوص محصولات و خدمات تسهیل گستر و نرم افزار سازمان یار ( قدرت گرفته از Odoo ERP ) ایجاد شده است.

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

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

ما در حال بازنویسی وب‌سایت خود با فریم‌ورک Vue.js (به صورت SPA یا Single Page Application) هستیم. همان‌طور که می‌دانید در این حالت، محتوای سایت سمت کلاینت و با جاوا اسکریپت رندر می‌شود.

از طرفی گوگل ادعا می‌کند که می‌تواند جاوا اسکریپت را خزش و رندر کند و نیازی به نگرانی نیست. اما از طرف دیگر، بسیاری از متخصصان سئو اصرار دارند که حتماً باید از SSR (Server-Side Rendering) مثل فریم‌ورک Nuxt.js استفاده کنیم.

پیاده‌سازی SSR برای تیم فنی ما زمان‌بر و هزینه‌بر است. سوال من این است:

۱. آیا واقعاً گوگل در رندر کردن سایت‌های کلاینت‌ساید (CSR) ضعیف عمل می‌کند و در ایندکس صفحات به مشکل می‌خوریم؟

۲. آیا موتورهای جستجوی دیگر (مثل بینگ یا یاهو) هم توانایی رندر جاوا اسکریپت را دارند؟

۳. در چه شرایطی صد در صد مجبوریم به سمت SSR یا Pre-rendering برویم؟

تصویر پروفایل
صرف نظر
مؤلف

بله، شما برای یک سایت تجاری و بزرگ که سئو برایش اهمیت دارد، قطعاً به SSR یا دست‌کم Pre-rendering نیاز دارید.

دلایل فنی و تجربی این موضوع را به بخش‌های زیر تقسیم می‌کنم:

۱. فرآیند دو مرحله‌ای ایندکس گوگل (The Two-Wave Indexing)

گوگل‌بات برخلاف صفحات HTML معمولی، صفحات جاوا اسکریپتی را در دو مرحله ایندکس می‌کند:

  • موج اول (First Wave): گوگل صفحه HTML خام را دانلود می‌کند. در سایت‌های SPA، این فایل تقریباً خالی است (فقط یک تگ div id="app" و چند فایل JS). گوگل این نسخه خالی را موقتاً می‌خواند.
  • موج دوم (Second Wave): صفحه در صف رندر (Rendering Queue) قرار می‌گیرد تا منابع پردازشی آزاد شوند. سپس وب‌رندر گوگل (WRS) کدهای جاوا اسکریپت را اجرا کرده و محتوا را ایندکس می‌کند.
  • مشکل کجاست؟ این صف رندر ممکن است از چند ساعت تا چند هفته طول بکشد. اگر سایت شما خبری است یا محصولاتی دارید که قیمت و موجودی آن‌ها مدام تغییر می‌کند، این تأخیر در ایندکس شدن، به شدت به بیزینس شما ضربه می‌زند.
۲. محدودیت بودجه رندر (Render Budget)

رندر کردن جاوا اسکریپت برای گوگل به شدت از نظر پردازشی گران و هزینه‌بر است. گوگل برای هر سایت یک «بودجه رندر» محدود در نظر می‌گیرد. اگر اجرای فایل‌های JS شما طول بکشد یا کدهای سنگینی داشته باشید، گوگل‌بات قبل از اینکه تمام محتوای صفحه شما لود شود، آن را رها می‌کند (Timeout). نتیجه؟ صفحات شما ناقص یا به صورت کاملاً خالی ایندکس می‌شوند.

۳. وضعیت سایر موتورهای جستجو و شبکه‌های اجتماعی
  • موتورهای جستجو: موتورهایی مثل Bing در رندر JS بسیار ضعیف‌تر از گوگل هستند و موتورهایی مثل DuckDuckGo یا Yandex تقریباً اصلاً جاوا اسکریپت را رندر نمی‌کنند. اگر از این موتورها ورودی می‌خواهید، CSR گزینه مناسبی نیست.
  • شبکه‌های اجتماعی (Open Graph): ربات‌های تلگرام، واتس‌اپ، لینکدین، و توییتر زمان اشتراک‌گذاری لینک، کدهای JS را اجرا نمی‌کنند. بنابراین اگر سایت شما SPA معمولی باشد، پیش‌نمایش کارت‌ها (تصویر شاخص، عنوان و توضیحات متای صفحه) در این پلتفرم‌ها به درستی نشان داده نمی‌شود.
راهکار پیشنهادی چیست؟

۱. انتقال به Nuxt.js (راهکار اصولی): اگر در ابتدای راه هستید، پروژه Vue خود را به Nuxt.js انتقال دهید تا از مزیت SSR بهره‌مند شوید. این کار سرعت لود اولیه (First Contentful Paint) را هم برای کاربر و هم برای گوگل به شدت کاهش می‌دهد.

۲. استفاده از Pre-rendering (برای سایت‌های کوچک/ایستا): اگر صفحات شما پویا نیستند (مثل صفحات درباره ما، تماس با ما، لندینگ پیج‌ها)، می‌توانید از ابزارهایی مثل prerender-spa-plugin استفاده کنید تا موقع بیلد گرفتن، نسخه‌های HTML ایستا تولید شوند.

۳. استفاده از Dynamic Rendering (راهکار موقت): اگر به هیچ وجه امکان تغییر ساختار کد را ندارید، از ابزارهایی مثل Prerender.io استفاده کنید. این ابزارها تشخیص می‌دهند که کاربر عادی است یا ربات گوگل؛ اگر ربات باشد، نسخه رندر شده (HTML آماده) را به او تحویل می‌دهند و اگر کاربر عادی باشد، همان SPA را لود می‌کنند. (البته گوگل این روش را یک راهکار موقت می‌داند).

تصویر پروفایل
صرف نظر

پاسخ شما

سعی کنید یک پاسخ اساسی ارائه کنید. اگر می‌خواهید در مورد سؤال یا پاسخ نظر دهید، کافیست از ابزار نظردهی استفاده کنید. به خاطر داشته باشید که همیشه می‌توانید پاسخ‌های خود را اصلاح کنید - نیازی نیست یک سؤال را دوبار پاسخ دهید. همچنین رأی دادن را فراموش نکنید - این کار کمک می‌کند بهترین سؤال و جواب‌ها را انتخاب کنیم!

پست‌های مرتبط پاسخ‌ها بازدید فعالیت
1
تیر 26
14
1
تیر 26
6
1
تیر 26
9
2
دی 24
848
1
خرداد 26
29