فارسی

یاد بگیرید چگونه با استفاده از راهنمای منابع مانند preload، prefetch و preconnect زمان بارگذاری وب‌سایت را بهینه کرده و تجربه کاربری را در سطح جهانی بهبود بخشید.

افزایش سرعت وب‌سایت با راهنمای منابع: Preload، Prefetch و Preconnect

در دنیای دیجیتال پرشتاب امروز، سرعت وب‌سایت از اهمیت بالایی برخوردار است. کاربران انتظار دارند وب‌سایت‌ها به سرعت بارگذاری شده و فوراً پاسخ دهند. زمان بارگذاری طولانی می‌تواند منجر به تجربه کاربری ضعیف، نرخ پرش بالاتر و در نهایت، از دست رفتن کسب‌وکار شود. راهنمای منابع (Resource hints) ابزارهای قدرتمندی هستند که به توسعه‌دهندگان کمک می‌کنند با اطلاع‌رسانی به مرورگر در مورد اینکه کدام منابع مهم هستند و چگونه باید آن‌ها را اولویت‌بندی کند، زمان بارگذاری وب‌سایت را بهینه کنند. این مقاله سه راهنمای کلیدی منابع را بررسی می‌کند: preload، prefetch و preconnect و مثال‌های عملی برای پیاده‌سازی آن‌ها ارائه می‌دهد.

درک راهنمای منابع

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

سه راهنمای اصلی منابع عبارتند از:

Preload: اولویت‌بندی منابع حیاتی

Preload چیست؟

Preload یک واکشی اعلانی است که به شما امکان می‌دهد به مرورگر بگویید منبعی را که برای ناوبری فعلی لازم است، در اسرع وقت واکشی کند. این ویژگی به خصوص برای منابعی مفید است که توسط مرورگر دیر شناسایی می‌شوند، مانند تصاویر، فونت‌ها، اسکریپت‌ها یا شیوه‌نامه‌هایی که از طریق CSS یا JavaScript بارگذاری می‌شوند. با پیش‌بارگذاری این منابع، می‌توانید از تبدیل شدن آن‌ها به منابع مسدودکننده رندر (render-blocking) جلوگیری کرده و سرعت بارگذاری درک‌شده وب‌سایت خود را بهبود بخشید.

چه زمانی از Preload استفاده کنیم

از preload برای موارد زیر استفاده کنید:

چگونه Preload را پیاده‌سازی کنیم

شما می‌توانید preload را با استفاده از تگ <link> در بخش <head> سند HTML خود پیاده‌سازی کنید:

<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/styles/critical.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/images/hero.jpg" as="image">

توضیح:

مثال: پیش‌بارگذاری یک فونت

تصور کنید یک فونت سفارشی به نام 'OpenSans' در وب‌سایت خود دارید. بدون preload، مرورگر این فونت را تنها پس از تجزیه فایل CSS کشف می‌کند. این می‌تواند باعث تأخیر در رندر متن با فونت صحیح شود. با پیش‌بارگذاری فونت، می‌توانید این تأخیر را از بین ببرید.

<link rel="preload" href="/fonts/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">

مثال: پیش‌بارگذاری یک فایل CSS حیاتی

اگر وب‌سایت شما یک فایل CSS حیاتی دارد که برای رندر نمای اولیه ضروری است، پیش‌بارگذاری آن می‌تواند به طور قابل توجهی عملکرد درک‌شده را بهبود بخشد.

<link rel="preload" href="/styles/critical.css" as="style">

بهترین شیوه‌ها برای Preload

Prefetch: پیش‌بینی نیازهای آینده

Prefetch چیست؟

Prefetch یک راهنمای منبع است که به مرورگر می‌گوید منابعی را که احتمالاً برای ناوبری‌ها یا تعاملات آینده مورد نیاز خواهند بود، واکشی کند. برخلاف preload که بر منابع مورد نیاز برای صفحه فعلی تمرکز دارد، prefetch حرکت بعدی کاربر را پیش‌بینی می‌کند. این ویژگی به خصوص برای بهبود سرعت بارگذاری صفحات یا کامپوننت‌های بعدی مفید است.

چه زمانی از Prefetch استفاده کنیم

از prefetch برای موارد زیر استفاده کنید:

چگونه Prefetch را پیاده‌سازی کنیم

شما می‌توانید prefetch را با استفاده از تگ <link> در بخش <head> سند HTML خود پیاده‌سازی کنید:

<link rel="prefetch" href="/page2.html">
<link rel="prefetch" href="/images/product.jpg">
<link rel="prefetch" href="/scripts/modal.js">

توضیح:

مثال: پیش‌واکشی منابع صفحه بعد

اگر وب‌سایت شما یک جریان کاربری مشخص دارد، مانند یک فرم چند مرحله‌ای، می‌توانید منابع مرحله بعد را زمانی که کاربر در مرحله فعلی است، پیش‌واکشی کنید.

<link rel="prefetch" href="/form/step2.html">

مثال: پیش‌واکشی منابع برای یک پنجره مودال

اگر وب‌سایت شما از یک پنجره مودال استفاده می‌کند که هنگام باز شدن منابع اضافی را بارگذاری می‌کند، می‌توانید آن منابع را پیش‌واکشی کنید تا تجربه کاربری روانی را تضمین کنید.

<link rel="prefetch" href="/scripts/modal.js">
<link rel="prefetch" href="/styles/modal.css">

بهترین شیوه‌ها برای Prefetch

Preconnect: برقراری اتصالات اولیه

Preconnect چیست؟

Preconnect یک راهنمای منبع است که به شما امکان می‌دهد اتصالات اولیه به سرورهای شخص ثالث مهم را برقرار کنید. برقراری یک اتصال شامل چندین مرحله است، از جمله جستجوی DNS، دست‌دهی TCP و مذاکره TLS. این مراحل می‌توانند تأخیر قابل توجهی به بارگذاری منابع از آن سرورها اضافه کنند. Preconnect به شما امکان می‌دهد این مراحل را در پس‌زمینه آغاز کنید، به طوری که وقتی مرورگر نیاز به واکشی منبعی از سرور دارد، اتصال از قبل برقرار شده باشد.

چه زمانی از Preconnect استفاده کنیم

از preconnect برای موارد زیر استفاده کنید:

چگونه Preconnect را پیاده‌سازی کنیم

شما می‌توانید preconnect را با استفاده از تگ <link> در بخش <head> سند HTML خود پیاده‌سازی کنید:

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com">

توضیح:

مثال: پیش‌اتصال به Google Fonts

اگر وب‌سایت شما از Google Fonts استفاده می‌کند، پیش‌اتصال به https://fonts.gstatic.com می‌تواند به طور قابل توجهی تأخیر در بارگذاری فونت را کاهش دهد.

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

ویژگی `crossorigin` در اینجا حیاتی است زیرا Google Fonts از CORS برای ارائه فونت‌ها استفاده می‌کند.

مثال: پیش‌اتصال به یک CDN

اگر وب‌سایت شما از یک CDN برای ارائه دارایی‌های استاتیک استفاده می‌کند، پیش‌اتصال به نام میزبان CDN می‌تواند تأخیر در بارگذاری آن دارایی‌ها را کاهش دهد.

<link rel="preconnect" href="https://cdn.example.com">

بهترین شیوه‌ها برای Preconnect

ترکیب راهنمای منابع برای عملکرد بهینه

قدرت واقعی راهنمای منابع در ترکیب استراتژیک آن‌ها نهفته است. در اینجا یک مثال عملی آورده شده است:

وب‌سایتی را تصور کنید که از یک فونت سفارشی میزبانی شده بر روی یک CDN استفاده می‌کند و یک فایل JavaScript حیاتی را بارگذاری می‌کند.

  1. پیش‌اتصال به CDN: یک اتصال اولیه به CDN میزبان فونت و فایل JavaScript برقرار کنید.
    <link rel="preconnect" href="https://cdn.example.com" crossorigin>
  2. پیش‌بارگذاری فونت: بارگذاری فونت را برای جلوگیری از FOUT اولویت‌بندی کنید.
    <link rel="preload" href="https://cdn.example.com/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  3. پیش‌بارگذاری فایل JavaScript: بارگذاری فایل JavaScript را اولویت‌بندی کنید تا اطمینان حاصل شود که در زمان نیاز در دسترس است.
    <link rel="preload" href="https://cdn.example.com/scripts/app.js" as="script">

ابزارهایی برای تحلیل راهنمای منابع

چندین ابزار می‌توانند به شما در تحلیل اثربخشی راهنمای منابع کمک کنند:

اشتباهات رایج و نحوه اجتناب از آن‌ها

آینده راهنمای منابع

راهنمای منابع به طور مداوم در حال تحول هستند و ویژگی‌ها و بهبودهای جدیدی به مشخصات مرورگرها اضافه می‌شود. به‌روز ماندن با آخرین تحولات در راهنمای منابع می‌تواند به شما در بهینه‌سازی بیشتر عملکرد وب‌سایتتان کمک کند. به عنوان مثال، modulepreload یک راهنمای منبع جدیدتر است که به طور خاص برای پیش‌بارگذاری ماژول‌های JavaScript طراحی شده است. همچنین، ویژگی `priority` برای راهنمای منابع به شما امکان می‌دهد اولویت یک منبع را نسبت به سایر منابع مشخص کنید. پشتیبانی مرورگرها از این ویژگی‌ها هنوز در حال تکامل است، بنابراین قبل از پیاده‌سازی، سازگاری را بررسی کنید.

نتیجه‌گیری

راهنمای منابع ابزارهای قدرتمندی برای بهینه‌سازی زمان بارگذاری وب‌سایت و بهبود تجربه کاربری هستند. با استفاده استراتژیک از preload، prefetch و preconnect، می‌توانید به طور پیش‌دستانه مرورگر را در مورد منابع حیاتی آگاه کنید، تأخیر را کاهش دهید و عملکرد درک‌شده وب‌سایت خود را افزایش دهید. به یاد داشته باشید که منابع حیاتی را اولویت‌بندی کنید، از راهنمای منابع با تدبیر استفاده کنید و همیشه تأثیر عملکرد تغییرات خود را تست کنید. با پیروی از بهترین شیوه‌های ذکر شده در این مقاله، می‌توانید به طور قابل توجهی عملکرد وب‌سایت خود را بهبود بخشیده و تجربه بهتری را برای کاربران خود در سراسر جهان فراهم کنید.