منتشر شده: ۱۲ فوریه ۲۰۲۵
جستجوی گوگل یکی از محبوبترین سایتهای وب و همچنین یکی از سریعترین آنهاست. تیم جستجو به طور مداوم در حال سرمایهگذاری برای سریعتر کردن تجربه جستجو است. در صفحهای به محبوبیت جستجوی گوگل، حتی میلیثانیهها هم به سرعت بهبود مییابند! این علاقه به سرعت شامل صفحه اصلی شناخته شده گوگل، صفحه نتایج موتور جستجو (SERP) و کلیکها به سایتهای دیگر از طریق آن نتایج جستجو میشود.
جستجوی گوگل از API قوانین حدس و گمان برای بهبود سرعت پیمایش از صفحه نتایج جستجو به لینکهای نتایج استفاده کرده است و آنها از چند ویژگی API که ممکن است مورد توجه سایر صاحبان سایت باشد، استفاده کردهاند.
دو نتیجه اول را پیش دریافت کنید
یکی از اولین کاربردهای قواعد حدس و گمان، پیشواکشی دو نتیجه اول جستجو بود. برای مثال، جستجوی «test» شامل قاعده حدس و گمان زیر در صفحه میشود:
{
"prefetch": [{
"source": "list",
"requires": [
"anonymous-client-ip-when-cross-origin"
],
"referrer_policy": "strict-origin",
"urls": [
"https://www.merriam-webster.com/dictionary/test",
"https://dictionary.cambridge.org/dictionary/english/test"
]
}]
}
دو آدرس اینترنتی پایین، دو نتیجه اول جستجو هستند و بلافاصله از قبل واکشی میشوند. اگر کاربر روی آنها کلیک کند، از آنجا که سند HTML باید از قبل در مرورگر در دسترس باشد، شروع بهتری خواهد داشت.
این قانون و تلاشهای پیش واکشی را میتوان در DevTools Application -> Speculation tab همانطور که قبلاً مستند شده است، مشاهده کرد:

پیشواکشیهای حفظ حریم خصوصی
از آنجا که این لینکها مربوط به محتوای سایتهای دیگر هستند، ملاحظات حریم خصوصی بیشتری برای پیشواکشی وجود دارد، زیرا کاربر هنوز از آن سایتها بازدید نکرده است.
خوشبختانه این API با در نظر گرفتن این موضوع طراحی شده است و جستجوی گوگل از دو ویژگی برای حفظ حریم خصوصی کاربران استفاده میکند.
اولین مورد، استفاده از پیکربندی requires است تا اطمینان حاصل شود که prefetch ها از پروکسی prefetch خصوصی در کروم استفاده میکنند:
"requires": [
"anonymous-client-ip-when-cross-origin"
],
این از یک پروکسی استفاده میکند تا مطمئن شود که اتصال، آدرس IP را ناشناس میکند، بنابراین ما IP کاربر را قبل از اینکه کاربر روی لینک کلیک کند تا از صفحه نتایج جستجو به سایت هدایت شود، به بیرون درز نمیکنیم.
ثانیاً، جستجوی گوگل از تنظیم referrer_policy استفاده میکند تا اطمینان حاصل کند که هیچ جزئیاتی که در URL صفحه جستجو کدگذاری شده است، به سایت موجود در هدر HTTP referer ارسال نمیشود:
"referrer_policy": "strict-origin",
اکثر مرورگرها اکنون به طور پیشفرض روی strict-origin-when-cross-origin تنظیم شدهاند ، اما این تنظیم از یک تنظیم سختگیرانهتر برای استفاده از سیاست ارجاع strict-origin حتی برای پیشواکشیهای same-origin استفاده میکند.
اگر کاربر کوکیهایی برای سایت داشته باشد، محافظت سوم به طور خودکار انجام میشود. در این حالت، ممکن است بر اساس آن کوکیها نتایج متفاوتی دریافت کند و کروم از HTML از پیش واکشی شده استفاده نخواهد کرد:

این بدان معناست که کاربرانی که کوکی دارند، از بهبود عملکرد پیشواکشی هنگام کلیک روی آن سایت بهرهمند نمیشوند، اما حفاظت از حریم خصوصی و بارگذاری دقیق صفحه در اولویت قرار دارند. علاوه بر این، اگر کاربری قبلاً از سایتی بازدید کرده باشد و کوکیهایی برای آن داشته باشد، احتمالاً برخی از منابع آن سایت در حافظه پنهان (cache) ذخیره شده است و احتمالاً حتی بدون پیشواکشی، بارگذاری سریعتر صفحه را تجربه خواهد کرد.
تأثیر پیشواکشی دو نتیجه اول بر کاربران
همانند اکثر تغییرات، جستجوی گوگل، پیشواکشی را در یک آزمایش A/B اعمال کرد و تأثیر آن را اندازهگیری کرد. آنها بهبودهای قابلتوجهی را در Largest Contentful Paint (LCP) مشاهده کردند. در کروم برای اندروید، LCP برای کلیکها از جستجوی گوگل ۶۷ میلیثانیه کاهش یافت. راهاندازی بعدی برای کروم دسکتاپ منجر به بهبود مشابه در LCP به میزان ۵۸.۶ میلیثانیه شد. اینها بهبودهایی در سایتی هستند که به آن هدایت میشوید، نه در خود سایت جستجوی گوگل - اما به نفع کاربران جستجوی گوگل است.
این پیشرفتها در LCP ممکن است ناچیز به نظر برسند، اما برای سایتی فوقالعاده بهینهشده مانند جستجوی گوگل، ما حتی پیشرفتهای میلیثانیهای را برای کاربران خود جشن میگیریم، بنابراین پیشرفتهایی در محدوده دهها میلیثانیه غیرمعمول است! سایت شما ممکن است شاهد مزیت بسیار بزرگتری باشد - باید آن را امتحان کنید تا متوجه شوید!
پیشواکشی با استفاده از قواعد حدس و گمان از اکتبر ۲۰۲۲ به طور پیشفرض در جستجوی اندروید فعال بوده و تا سپتامبر ۲۰۲۴ برای دسکتاپ نیز عرضه شده است.
فراتر از دو نتیجه اول
از زمان عرضه اولیه API مربوط به قوانین حدس و گمان، این API با یک ویژگی اشتیاق (eagerness) بهبود یافته است که به حدس و گمانها اجازه میدهد فقط زمانی اتفاق بیفتند که کاربر موس را روی یک لینک نگه دارد یا شروع به کلیک روی آن کند.
جستجوی گوگل تصمیم گرفت فراتر از دو نتیجه جستجوی اول عمل کند و همچنین نتایج جستجوی باقی مانده را از قبل واکشی کند - اما فقط زمانی که کاربر با استفاده از تنظیم اشتیاق moderate ، ماوس را روی لینک نگه میدارد. این کار از هدر رفتن غیرضروری منابع برای لینکهایی که احتمال کلیک کمتری دارند، جلوگیری میکند.
دوباره، این قانون را میتوان در DevTools هنگام جستجو در کروم مشاهده کرد، و مشابه قانون قبلی است، اما این بار با تنظیم گزینه "eagerness": "moderate" :

نگه داشتن ماوس روی این لینکها باعث فعال شدن پیشواکشی میشود. توجه داشته باشید که جستجوی گوگل به جای استفاده از ویژگی قوانین سند در رابط برنامهنویسی Speculation Rules، به صراحت URLها را فهرست میکند، زیرا نمیخواهد URLهای دیگری مانند تبلیغات را پیشواکشی کند.
تأثیر پیشواکشی نتایج فراتر از دو نتیجه اول بر کاربران
کروم دسکتاپ، زمان First Contentful Paint (FCP) را برای پیمایش از جستجوی گوگل، ۷.۶ میلیثانیه و LCP را ۹.۵ میلیثانیه کاهش داد (همانطور که در تست A/B نشان داده شده است). این موارد در مقایسه با بهبود ۵۸.۶ میلیثانیهای که در دو نتیجه اول مشاهده شد، پیشرفتهای کمتری را نشان میدهند، اما با توجه به زمان انتظار کمتر، جای تعجب نیست زیرا آنها به اندازه کافی سریع بارگذاری نمیشوند. با این حال، این موارد همچنان به همان دلایلی که قبلاً ذکر شد، پیشرفتهای خوبی هستند.
پیشواکشی نتایج جستجوی باقیمانده در دسکتاپ بهطور پیشفرض در دسامبر ۲۰۲۴ راهاندازی شد.
برای موبایل - که معمولاً قابلیت شناوری در دسترس نیست - هیچ بهبود واقعی مشاهده نشد و بنابراین، اگرچه هیچ رگرسیونی نیز وجود نداشت، اما این پیشواکشیهای اضافی در موبایل فعال نشدند.
استفاده بیشتر از حدس و گمان برای جستجوی گوگل
گوگل هنوز آزمایشهای خود را با این API جدید و هیجانانگیز به پایان نرسانده است و امید ما این است که مرور وب را تا حد امکان سریع کنیم. ما چند ترفند دیگر هم در آستین داریم که در حال کار روی آنها هستیم.
به عنوان مثال، کروم در حال ارائه صفحات نتایج جستجوی از پیش رندر شده - برای کاربرانی که پیشبارگذاری را فعال کردهاند - هنگام تایپ عبارات جستجو در نوار آدرس کروم و در جاهای دیگر مانند کادر جستجو در اندروید است. این قابلیت برای سایر موتورهای جستجو نیز - نه فقط جستجوی گوگل - قابل پیادهسازی است، اگرچه در حال حاضر از هرگونه پیادهسازی برای سایر موتورهای جستجو بیاطلاع هستیم.
جستجوی گوگل به دنبال پیادهسازی پیشرندر برای خود لینکهای نتایج نیست، زیرا این قابلیت برای پیمایش بین سایتها در دسترس نیست (و حتی باید برای پیشرندرهای بین سایتی و بین مبدا انتخاب شود).
نکتهای در مورد پشتیبانی مرورگرها
API قوانین حدس و گمان در حال حاضر در مرورگرهای مبتنی بر کرومیوم پیادهسازی شده است، اما کروم مشخصات API را از طریق فرآیند استانداردهای W3C منتشر میکند و مشتاق است که سایر مرورگرها نیز این API را پیادهسازی کنند.
پروکسی خصوصی prefetch در حال حاضر فقط در کروم پیادهسازی شده است و در سایر مرورگرهای مبتنی بر کرومیوم پیادهسازی نشده است، اما اگر مرورگرهای دیگر پروکسی خصوصی prefetch خود را پیادهسازی کنند، جستجوی گوگل ممکن است به دنبال پیادهسازی این پیشرفتها در آنجا نیز باشد.
با توجه به پیامدهای حریم خصوصی ناشی از پیشواکشی بدون یک پروکسی پیشواکشی خصوصی، جستجوی گوگل در مرورگرهایی که از این فناوری پشتیبانی نمیکنند، پیشواکشی انجام نمیدهد و بنابراین جایگزینی برای استفاده از فناوریهای دیگر برای مرورگرهای دیگر پیادهسازی نکرده است. با این حال، به عنوان یک پیشرفت تدریجی، این فقط به این معنی است که کاربران در آن مرورگرها از این افزایش سرعت اندک بهرهمند نمیشوند.
آن را در سایت خود امتحان کنید!
API قوانین حدس و گمان برای استفاده همه سایتها، نه فقط جستجوی گوگل، در دسترس است. فراتر از قابلیتهای پیشواکشی که در اینجا مورد بحث قرار گرفت، پیشرندرینگ مزایای بیشتری را در زمان و مکان استفاده ارائه میدهد. با توجه به اینکه سایتهای بزرگی مانند جستجوی گوگل مزایای واضح این API را برای تجربه کاربری نشان میدهند، ما همه صاحبان سایت را تشویق میکنیم که بررسی کنند چگونه میتوانند از API استفاده کنند و به طور بالقوه از آن بهرهمند شوند.
علاوه بر این، محافظت از حریم خصوصی که در این پست به تفصیل شرح داده شده است، برای سایتهای دیگر نیز در دسترس است - با این شرط که کاربران باید پشتیبانی Extended Preload را در تنظیمات خود فعال کرده باشند تا به سایتهای غیر گوگل اجازه دهند ترافیک را با استفاده از پروکسی خصوصی prefetch گوگل هدایت کنند. دلیل این امر این است که این کار گوگل را به عنوان یک طرف اضافی بین کاربر و سایت معرفی میکند، در حالی که این امر در سایتهای گوگل ضروری نیست - زیرا آنها از قبل یکی از طرفهای درگیر هستند.