یک تست جدید سئو نشان می دهد که پس از گذشت ۵ ثانیه در سرویس رندرینگ وب گوگل (Web Rendering Service)، چه اتفاقی رخ می دهد: گوگل یک «ساعت مجازی» را در موتور رندر خود متوقف می کند!
یک باور عمومی در میان بسیاری از متخصصان سئو این است که سرویس رندر وب گوگل (WRS) تنها یک «پنجره زمانی ۵ ثانیه ای» برای رندر کردن محتوا دارد و هر اتفاقی که پس از این ۵ ثانیه در سایت رخ دهد، در نسخه ای که گوگل از صفحه ایندکس می کند، لحاظ نخواهد شد.
جرقه این ایده از صحبت های مارتین اسپلیت (Martin Splitt)، تحلیلگر وب مستر گوگل، در حداقل دو رویداد مختلف زده شد و در نهایت به عنوان یک حقیقت مطلق در جامعه سئو پذیرفته شد. اما دیو اسمارت (Dave Smart) از وب سایت Tame the Bots، این نظریه را مورد آزمایش قرار داد و متوجه شد نه تنها این محدودیت ۵ ثانیه ای حقیقت ندارد، بلکه سرویس رندر وب گوگل می تواند تایمر رندرینگ خود را متوقف کرده و مجدداً راه اندازی کند!
بنابراین حق با چه کسی است؟ سئوکارانی که نظرات خود را بر اساس برداشتشان از صحبت های مارتین اسپلیت بنا کرده اند، یا دیو اسمارت، متخصص سئو در بریتانیا؟ من روی دیو اسمارت شرط می بندم، و شما هم به زودی دلیل آن را متوجه خواهید شد.
متخصصان سئو چه می گویند؟
ایده ای که در بسیاری از وبلاگ های سئو ترویج می شود این است که یک فرصت ۵ ثانیه ای وجود دارد؛ این در واقع مدت زمانی است که سرویس رندرینگ وب گوگل (WRS) پیش از ثبت اسنپ شات (Snapshot) نهایی از DOM (مدل شیءگرای سند) رندر شده ی صفحه، صبر می کند.
DOM در واقع نسخه نهایی و پردازش شده کدهای شماست که مرورگر پس از اجرای جاوا اسکریپت می سازد. اطمینان از اینکه گوگل به درستی DOM سایت شما را می خواند، یکی از پایه های اصلی سئو تکنیکال است که ما در پروژه های سئو و طراحی سایت دانش وب همواره توجه ویژه ای به آن داریم.
سرویس رندر وب گوگل (WRS) مجموعه ای از سرویس هاست که این ۶ کار را انجام می دهد:
- کدهای HTML خزش شده توسط گوگل بات (Googlebot) را دریافت می کند.
- منابع صفحه مانند فایل های CSS، جاوا اسکریپت و تصاویر را فراخوانی (Fetch) می کند.
- صفحه را در یک مرورگر Chromium هدلس (بدون رابط کاربری گرافیکی) بارگذاری می کند.
- در مرحله بعد، کدهای جاوا اسکریپت صفحه را اجرا می کند.
- سپس یک اسنپ شات (تصویر لحظه ای) از ساختار DOM صفحه تهیه می کند.
- در نهایت، این اسنپ شات DOM را به سیستم ایندکسینگ گوگل منتقل می کند.

نمایشی گرافیکی از تصور بسیاری از سئوکاران که فکر می کنند گوگل بات دقیقاً پس از ۵ ثانیه متوقف می شود.
سئوکاران دو روایت از «نظریه ۵ ثانیه» دارند
- برخی از متخصصان سئو می گویند فرآیند رندرینگ در داخل سرویس گوگل حدود ۵ ثانیه زمان دارد تا DOM نهایی را برای گرفتن اسنپ شات تولید کند. آن ها معتقدند یک بازه ۵ ثانیه ای وجود دارد که طی آن صفحه لود می شود، جاوا اسکریپت اجرا می گردد و گوگل اسنپ شات DOM را برای ایندکس می گیرد.
- روایت دوم این است که محتوای مهم صفحه باید ظرف ۵ ثانیه در DOM ظاهر شود، زیرا انتظار می رود گوگل دقیقاً در همان لحظه اسنپ شات خود را ثبت کند.
حتی برخی از متخصصان سئو ادعا می کنند آزمایش هایی انجام داده اند و وجود این پنجره ۵ ثانیه ای را تایید می کنند.
مارتین اسپلیت واقعاً چه گفت؟
مارتین اسپلیت طی هفت سال گذشته، در حداقل دو ارائه ویدیویی حضور داشت که در آن ها مفهوم «پنجره ۵ ثانیه ای رندرینگ» را به دنیای سئو معرفی کرد.
در اینجا عین صحبت های اسپلیت درباره این موضوع (در حدود دقیقه ۱۸ ویدیو) آورده شده است:
«پس چه چیزی را باید بدانید و از این موضوع چه برداشتی داشته باشید؟
تمام وب سایت ها رندر می شوند، فارغ از اینکه حاوی جاوا اسکریپت باشند یا نه.
چیزی که ما بعد از رندر شدن می بینیم، همان اسنپ شات DOM است که وارد مرحله ایندکس می شود. این همان چیزی است که باید برایتان مهم باشد.
نه اسکرین شات صفحه، نه کش های عجیب و غریب در نتایج جستجو. از آن ها استفاده نکنید.
از ابزارهایی مثل View Source استفاده نکنید. سورس کد اطلاعات DOM را به شما نمی دهد. از ابزارهای تست خودِ ما استفاده کنید. آن ها دقیقاً خروجی مرحله رندرینگ را به شما نشان می دهند.
به طور میانگین (Median)، رندرینگ یک صفحه به مدت ۵ ثانیه در صف انتظار می ماند.
این یعنی پیش از آنکه یکی از این ابزارهای رندرینگِ دوست داشتنی صفحه را بردارند، صفحات به طور میانگین ۵ ثانیه در آنجا (در صف) هستند. این زمان برای صدک نودم (۹۰ درصد صفحات) چند دقیقه است. پس ما درباره چند دقیقه صحبت می کنیم، نه چند هفته یا چند ماه.
فرآیند رندرینگ با شدت بالایی منابع را کش (Cache) می کند، بنابراین نیازی نیست در بحث رندرینگ، زیاد نگران بودجه خزش (Crawl Budget) خود باشید. تفاوت چشمگیری ایجاد نمی کند.
و اگر می خواهید سایت خود را تست کنید، کارهای عجیب انجام ندهید! فقط از ابزار Inspect URL سرچ کنسول گوگل استفاده کنید. این ابزار به شما نشان می دهد هنگام رندرینگ چه اتفاقی می افتد، بسیار خب؟
از رندرینگ یا جاوا اسکریپت نترسید.»
کاملاً واضح است که اسپلیت هیچ محدودیتی ۵ ثانیه ای را برای سرویس رندرینگ وب توصیف نمی کند. او در حال توضیح این موضوع است که صفحات به طور میانگین چه مدت در «صف رندرینگ» منتظر می مانند تا فرآیند رندر آغاز شود. هنگامی که یک موتور رندر صفحه را تحویل می گیرد، هیچ حرفی از محدودیت زمانی برای فرآیند رندرینگ زده نشده است.
مشخص است که میان چیزی که سئوکاران فکر می کنند اسپلیت گفته و چیزی که او واقعاً بیان کرده، یک سوءتفاهم بزرگ وجود دارد.

نمودار تست دیو اسمارت، که در آن درخواست های سرور با تأخیر (۶ تا ۱۲ ثانیه) با موفقیت رندر می شوند.
تست سرویس رندرینگ وب توسط دیو اسمارت
دیو اسمارت (در پروفایل لینکدین خود) آزمایشی را برای بررسی تئوری پنجره ۵ ثانیه ای اجرا کرد. او یک صفحه تست ساخت که عمداً بارگذاری محتوا را به تاخیر می انداخت و همزمان چندین معیار زمانی را ثبت می کرد تا مشخص کند آیا سرویس رندرینگ گوگل واقعاً پس از ۵ ثانیه متوقف می شود یا خیر.
روش کار این تست به این شکل بود که او یک صفحه ایجاد کرد که درخواست های POST را به یک اسکریپت PHP ارسال می کرد. این اسکریپت PHP پاسخ خود را پیش از ارائه محتوا، به صورت تصادفی بین ۳ تا ۶ ثانیه به تاخیر می انداخت. اسمارت از دو مورد از این فراخوانی های API در تست خود استفاده کرد، بنابراین تکمیل هر دو فرآیند در مجموع بین ۶ تا ۱۲ ثانیه زمان می برد.
نتایج شگفت انگیز تست WRS
تست اسمارت در ابتدا برای سنجش همان تئوری ۵ ثانیه بود، اما در نهایت او به یافته ی دومی رسید که کاملاً غیرمنتظره بود.
در ابتدا، به نظر می رسید آزمایش تئوری ۵ ثانیه را تایید می کند؛ زیرا تایمر جاوا اسکریپت دقیقاً ۵ ثانیه کار کرد و این تصور را به وجود آورد که سرویس رندر گوگل یک محدودیت ۵ ثانیه ای دارد.
او در این باره نوشت:
«با نگاهی به اسکرین شات ها، می بینید که حلقه
setInterval()به مدت ۵ ثانیه اجرا شد و عنصر تایتل (Title) را آپدیت کرد… بنابراین، یک نتیجه گیری منطقی این است که WRS یک محدودیت رندر ۵ ثانیه ای دارد، درست است؟»
اما یک اندازه گیری دیگر، این نتیجه گیری را نقض کرد! صفحه مورد نظر فراخوانی های API سمت سرور (Server-side) نیز داشت که تکمیل آن ها بین ۶ تا ۱۲ ثانیه طول کشید، با این حال سرویس رندرینگ گوگل همچنان منتظر محتوای تاخیردار ماند و آن را در DOM رندر شده لحاظ کرد.
اسمارت به چیزی شبیه به یک پارادوکس رسید که این سوال را ایجاد می کرد: چگونه سرویس رندرینگ وب گوگل می تواند بیشتر از ۵ ثانیه منتظر بماند، در حالی که تایمر جاوا اسکریپت فقط ۵ ثانیه جلو رفته است؟
پاسخ این است که سرویس رندرینگ وب گوگل به جای تکیه بر زمان سپری شده واقعی، از یک «ساعت مجازی» (Virtual Clock) استفاده می کند. در حالی که موتور گوگل منتظر درخواست های شبکه (مانند فراخوانی های API سمت سرور) است، می تواند آن ساعت مجازی را متوقف کند (Pause). این کار اجازه می دهد زمان واقعی بیشتری نسبت به آنچه تایمر جاوا اسکریپت گزارش می دهد، سپری شود.
اسمارت توضیح می دهد:
«سرویس WRS زمان را به روش خودش محاسبه می کند. WRS به جای استفاده از ساعت سخت افزاری (مانند آنچه در کامپیوتر یا سرور خود دارید)، از یک ساعت مجازی استفاده می کند که قابل کنترل است. این یعنی آن ها می توانند زمان را برای موتور کروم هدلس تسریع کنند، کاهش دهند یا اگر بخواهند آن را کاملاً متوقف کنند.
ما از کجا می دانیم ۵ ثانیه یک محدودیت نیست؟ آن فراخوانی های API را به خاطر دارید؟ آن ها در سمت سرور بین ۳ تا ۶ ثانیه تاخیر داشتند. بنابراین کل زمان برای هر دو فراخوانی می توانست بین ۶ تا ۱۲ ثانیه باشد، یعنی طولانی تر از محدودیت افسانه ای ۵ ثانیه!»

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