یک آزمایش تازه در حوزه سئو نشان می دهد باور رایج درباره «پنجره ۵ ثانیه ای» در سرویس رندر گوگل (Google Web Rendering Service) نادرست است. نتایج این تست ثابت می کند گوگل از یک ساعت مجازی (Virtual Clock) در فرایند رندر استفاده می کند که می تواند آن را متوقف یا دوباره فعال کند؛ به همین دلیل محتوایی که دیرتر از ۵ ثانیه بارگذاری می شود هم در نسخه ایندکس شده صفحه قرار می گیرد.
آیا سرویس رندر گوگل واقعا محدودیت ۵ ثانیه ای دارد؟
نه، سرویس رندر گوگل هیچ محدودیت زمانی ۵ ثانیه ای ندارد. آزمایش دیوید اسمارت نشان داد گوگل حتی وقتی درخواست های سمت سرور بین ۶ تا ۱۲ ثانیه طول کشیدند، همچنان منتظر ماند و محتوای تاخیری را در تصویر لحظه ای DOM ثبت کرد. عدد ۵ ثانیه ای که مارتین اسپلیت مطرح کرده بود، در واقع میانه زمان انتظار صفحه در صف رندر است، نه سقف زمانی خود رندر.
باور رایج سئوکاران درباره پنجره ۵ ثانیه ای چیست؟
بسیاری از سئوکاران معتقدند سرویس رندر گوگل (WRS) پیش از ثبت تصویر لحظه ای مدل شیء سندی (DOM) صفحه، فقط ۵ ثانیه صبر می کند.
سرویس رندر گوگل (WRS) دقیقا چه کاری انجام می دهد؟
سرویس رندر گوگل مجموعه ای از سرویس هاست که این شش مرحله را انجام می دهد:
- دریافت HTML که Googlebot خزش کرده است
- واکشی منابع صفحه مانند CSS، جاوا اسکریپت و تصاویر
- بارگذاری صفحه در یک مرورگر Chromium بدون رابط گرافیکی (Headless)
- اجرای جاوا اسکریپت صفحه
- تولید تصویر لحظه ای (Snapshot) از DOM صفحه
- ارسال همین تصویر لحظه ای به سیستم ایندکس گوگل
دو نسخه از نظریه پنجره ۵ ثانیه ای در میان سئوکاران
نسخه اول: برخی سئوکاران می گویند فرایند رندر داخل سرویس رندر گوگل حدود ۵ ثانیه فرصت دارد تا DOM نهایی را برای تصویر لحظه ای آماده کند؛ یعنی در همین بازه صفحه بارگذاری می شود، جاوا اسکریپت اجرا می شود و گوگل از DOM رندر شده عکس می گیرد.
نسخه دوم: نسخه دیگر می گوید محتوای مهم باید حتما ظرف ۵ ثانیه در DOM ظاهر شود، چون انتظار می رود گوگل در همین بازه از DOM عکس بگیرد.
برخی سئوکاران حتی مدعی شده اند آزمایشی انجام داده و وجود همین پنجره ۵ ثانیه ای را تایید کرده اند.
مارتین اسپلیت دقیقا درباره پنجره ۵ ثانیه ای چه گفته است؟
مارتین اسپلیت، از تیم گوگل، طی حداقل دو ارائه ویدیویی در هفت سال گذشته مفهوم پنجره رندر ۵ ثانیه ای را وارد ادبیات سئو کرد.
آنچه او دقیقا در این باره گفته (در حدود دقیقه هجدهم ویدیو) چنین است:
«خب چه چیزی باید بدانید، چه نکته ای باید از این صحبت ها با خودتان ببرید؟
همه وب سایت ها رندر می شوند، فرقی نمی کند جاوا اسکریپت داشته باشند یا نه.
چیزی که بعد از رندر می بینیم، همان تصویر لحظه ای DOM است که وارد فرایند ایندکس می شود. این همان چیزی است که برایتان اهمیت دارد.
نه اسکرین شات، نه یک کش عجیب در نتایج جست و جو؛ از این ها استفاده نکنید.
از View Source هم استفاده نکنید. View Source اطلاعات DOM را نشان نمی دهد. از ابزارهای تستی خود ما استفاده کنید؛ آن ها واقعا خروجی رندر را نشان می دهند.
به طور میانه، یک صفحه ۵ ثانیه در صف رندر منتظر می ماند.
یعنی پیش از آن که یکی از این رندر کننده های خوشگل صفحه را بردارد، به طور میانه ۵ ثانیه در صف است. در صدک نودم چند دقیقه طول می کشد؛ پس صحبت از دقیقه است، نه هفته یا ماه.
رندر منابع را به شکل تهاجمی کش می کند، پس لازم نیست نگران بودجه خزش (Crawl Budget) خود به خاطر رندر باشید؛ تفاوت چندانی ایجاد نمی کند.
اگر می خواهید سایتتان را تست کنید، کار عجیبی نکنید؛ فقط از ابزار Inspect URL در گوگل سرچ کنسول استفاده کنید. این ابزار نشان می دهد در فرایند رندر چه می گذرد.
از رندر یا جاوا اسکریپت نترسید.»
روشن است که اسپلیت در این صحبت ها اصلا از محدودیت ۵ ثانیه ای برای سرویس رندر گوگل حرف نمی زند. او در واقع دارد توضیح می دهد که یک صفحه به طور میانه چه مدت در صف رندر منتظر می ماند، پیش از آن که فرایند رندر واقعی آغاز شود؛ او هیچ اشاره ای به محدودیت زمانی برای خود فرایند رندر، بعد از شروع آن، نمی کند.
پس مشخص است بین آنچه سئوکاران گمان می کنند اسپلیت گفته و آنچه او واقعا گفته، فاصله زیادی وجود دارد.
دیوید اسمارت چطور سرویس رندر گوگل را آزمایش کرد؟
دیوید اسمارت، آزمایشی طراحی کرد تا نظریه پنجره ۵ ثانیه ای را محک بزند. او یک صفحه تستی ساخت که عمدا بارگذاری بخشی از محتوا را به تاخیر می انداخت و همزمان چند سنجه زمانی مختلف را ثبت می کرد تا مشخص شود آیا سرویس رندر گوگل واقعا بعد از ۵ ثانیه رندر را متوقف می کند یا نه.
روش آزمایش دیوید اسمارت چه بود؟
اسمارت صفحه تستی را طوری طراحی کرد که درخواست هایی از نوع POST به یک اسکریپت PHP ارسال می کرد. آن اسکریپت PHP پاسخ خود را به صورت تصادفی بین ۳ تا ۶ ثانیه به تاخیر می انداخت و بعد محتوا را ارسال می کرد. او در این تست از دو فراخوانی از این نوع API استفاده کرد؛ به این ترتیب مجموع زمان لازم برای تکمیل هر دو می توانست بین ۶ تا ۱۲ ثانیه باشد.
نتیجه غیر منتظره آزمایش سرویس رندر گوگل چه بود؟
هدف اولیه آزمایش اسمارت فقط سنجش نظریه پنجره ۵ ثانیه ای بود، اما در نهایت به یافته دومی رسید که کاملا غیر منتظره بود.
در نگاه اول به نظر می رسید آزمایش نظریه پنجره ۵ ثانیه ای را تایید می کند، چون تایمر جاوا اسکریپت دقیقا ۵ ثانیه اجرا شده بود؛ همین موضوع این تصور را ایجاد می کرد که سرویس رندر گوگل محدودیت ۵ ثانیه ای برای رندر دارد.
«با نگاه به اسکرین شات ها می بینید که حلقه setInterval() دقیقا ۵ ثانیه اجرا شد و عنصر Title را به روز کرد. … پس نتیجه منطقی این است که بگوییم سرویس رندر گوگل محدودیت رندر ۵ ثانیه ای دارد، درست است؟»
اما یک سنجه دیگر این نتیجه گیری را رد می کرد. همان صفحه، فراخوانی های API سمت سرور هم داشت که تکمیل شدنشان بین ۶ تا ۱۲ ثانیه طول می کشید؛ با این حال سرویس رندر گوگل همچنان منتظر ماند تا این محتوای تاخیری هم بارگذاری شود و آن را در DOM رندر شده لحاظ کرد.
اسمارت با یک تناقض ظاهری روبه رو شد که این پرسش را مطرح می کرد: اگر تایمر جاوا اسکریپت فقط تا ۵ ثانیه پیش رفته، سرویس رندر گوگل چطور توانسته بیش از ۵ ثانیه صبر کند؟
پاسخ این است که سرویس رندر گوگل به جای اتکا به زمان واقعی سپری شده، از یک ساعت مجازی استفاده می کند. وقتی سرویس منتظر تکمیل درخواست های شبکه ای است (مثل همین فراخوانی های API سمت سرور)، می تواند این ساعت مجازی را متوقف کند؛ در نتیجه زمان واقعی بیشتری نسبت به آنچه تایمر جاوا اسکریپت گزارش می دهد، سپری می شود.
ساعت مجازی گوگل چطور کار می کند؟
اسمارت این موضوع را این طور توضیح داد:
«سرویس رندر گوگل زمان را به روش خودش می سنجد. به جای تکیه بر ساعت سخت افزاری، همان چیزی که روی کامپیوتر یا سرور شماست، سرویس رندر گوگل از یک ساعت مجازی استفاده می کند که خودشان روی آن کنترل دارند؛ یعنی می توانند سرعت زمان را برای نمونه Chrome بدون رابط گرافیکی زیاد کنند، کم کنند یا حتی کاملا متوقفش کنند، اگر بخواهند.
از کجا می دانیم ۵ ثانیه یک محدودیت نیست؟ همان فراخوانی های API را به خاطر بیاورید؛ این ها سمت سرور، بین ۳ تا ۶ ثانیه به تاخیر افتاده اند. پس زمان کل برای هر دو فراخوانی API می تواند بین ۶ تا ۱۲ ثانیه باشد؛ یعنی بیشتر از همان محدودیت معروف ۵ ثانیه ای.»
جمع بندی: آیا افسانه محدودیت ۵ ثانیه ای سئو بسته شد؟
جامعه سئو باید از دیوید اسمارت به خاطر طراحی این آزمایش هوشمندانه تشکر کند؛ آزمایشی که ثابت کرد هیچ محدودیت زمانی ۵ ثانیه ای در سرویس رندر گوگل وجود ندارد. با توجه به این که صحبت های مارتین اسپلیت هم کاملا با نتایج آزمایش اسمارت همخوانی دارد، به نظر می رسد می توانیم با اطمینان افسانه محدودیت رندر ۵ ثانیه ای را بسته اعلام کنیم.
برای مشاهده کامل صحبت های مارتین اسپلیت، حدود دقیقه هجدهم ویدیوی مورد اشاره را ببینید.
