آموزشی

کاهش DNS Lookups سایت وردپرسی

کاهش DNS Lookups سایت وردپرسی

چگونه جستجوهای DNS را برای یک سایت وردپرس سریعتر کاهش دهیم

شما سهم عادلانه خود را از بهینه سازی انجام داده اید، و Core Web Vitals شما خوب به نظر می رسد. اما آیا به جستجوهای DNS خود توجه کرده اید؟

pouria sadeghlou

نویسنده: پوریا صادق لو

شنبه, 23 اردیبهشت۱۴۰2 ساعت 00:۰۰

0 دقیقه
زمان مطالعه
کاهش DNS Lookups سایت وردپرسی

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

متأسفانه جستجوهای DNS عنصری است که بسیاری از صاحبان وب سایت نادیده گرفته می شوند.

اما تو نه!

زمانی که خواندن این مقاله را به پایان می رسانید، می دانید:

  • جستجوی DNS چیست؟
  • چگونه جستجوهای DNS بر سرعت سایت تأثیر می گذارد
    زمان پاسخ دهی خوب DNS چیست؟
  • چگونه زمان پاسخ جستجوی DNS سایت خود را بررسی کنیم
  • چگونه جستجوهای DNS را کاهش دهیم

کسب اطلاعات بیشتر: LCP چیست؟ 14 روش بهبود LCP

بیا شروع کنیم!

DNS Lookups چیست؟

به طور خلاصه، جستجوی DNS فرآیند یافتن آدرس IP صحیح برای URL وب سایت معین است.

با این حال، برای درک کل فرآیند، باید یک قدم به عقب برداریم و توضیح دهیم که DNS مخفف چیست.

DNS (Domain Name System) سیستمی است که نام های دامنه قابل خواندن برای انسان مانند nabznet.com را به آدرس های IP ترجمه می کند که توسط رایانه ها برای مکان یابی و برقراری ارتباط با سرورها در اینترنت استفاده می شود.

بدون DNS، ما باید آدرس های IP هر وب سایتی را که می خواهیم به آن دسترسی داشته باشیم، حفظ کنیم، که غیرعملی و ناخوشایند خواهد بود.

کل فرآیند ترجمه نام دامنه به آدرس IP ،DNS Lookups نامیده می شود.

بسیاری از کارشناسان وب آن را با جستجوی شماره تلفن در دفترچه تلفن مقایسه می کنند. آدرس IP شماره تلفن است، در حالی که سرور DNS دفترچه تلفن است.

البته، در حالی که در زندگی واقعی، ما کسانی هستیم که "جستجو" را در وب انجام می دهیم، مسئولیت آن بر عهده مرورگر است.

چگونه جستجوهای DNS بر سرعت سایت تأثیر می گذارد

هنگامی که به یک وب سایت دسترسی پیدا می کنید یا کاربر می خواهد وب سایت شما را بارگیری کند، مرورگر او تمام منابعی را که نیاز به جستجوی DNS دارند شناسایی می کند و روند دانلود را تا پایان جستجو متوقف می کند.

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

کل فرآیند به این صورت است:

  1. شما یک نام دامنه را در مرورگر وب خود وارد می کنید،
  2. رایانه شما ابتدا حافظه پنهان خود را بررسی می کند تا ببیند آیا از قبل آدرس IP آن نام دامنه را دارد یا خیر.
  3. اگر این کار را نکرد، درخواستی را به یک DNS Resolver ارسال می کند که معمولاً توسط ارائه دهنده خدمات اینترنت شما (ISP) ارائه می شود.
  4. Resolver کش خود را بررسی می کند و اگر آدرس IP را نداشته باشد، درخواست را به یک سری از سرورهای DNS ارسال می کند تا زمانی که به سرور DNS معتبر دامنه برسد.
  5. سرور DNS معتبر برای یک دامنه، مسئول ارائه آدرس IP صحیح برای نام دامنه است.
  6. هنگامی که سرور DNS معتبر با آدرس IP پاسخ می دهد، توسط رایانه شما و حل کننده ذخیره می شود و جستجوهای آینده برای نام دامنه را سریعتر می کند.

به زبان ساده:

کاهش جستجوهای DNS زمان بارگذاری سریع‌تری را برای بازدیدکنندگان فراهم می‌کند.

اما قبل از اینکه به شما بگوییم چگونه این کار را انجام دهید، باید چند معیار تعیین کنیم.

زمان پاسخ دهی خوب DNS چیست؟

کمتر از 100 میلی‌ثانیه به‌عنوان زمان پاسخگویی DNS خوب در نظر گرفته می‌شود.

البته، هر وب سایتی منحصر به فرد است، بنابراین امتیاز دقیقی وجود ندارد که همه باید برای آن تلاش کنند.

اما هرچه زمان پاسخگویی DNS سایت شما کمتر باشد، بهتر است.

چگونه زمان پاسخ جستجوی DNS سایت خود را بررسی کنیم

تنظیم برخی از معیارها بهترین راه برای شروع سفر بهینه سازی جستجوی DNS است. ابزارهای محبوب تست عملکرد وب مانند GTmetrix و WebPageTest می توانند به شما در انجام این کار کمک کنند.

بیایید نگاهی دقیق تر به نحوه استفاده از آنها بیندازیم.

GTmetrix

برای بررسی جستجوی DNS خود با GTmetrix، اولین کاری که باید انجام دهید این است که URL وب سایت خود را وارد کنید.

پس از اتمام گزارش، به تب Waterfall بروید. هنگامی که ماوس را روی یک درخواست فایل خاص نگه می دارید، خواهید دید که جستجوی DNS چقدر طول می کشد. با یک نوار آبی برچسب گذاری شده است و در میلی ثانیه اندازه گیری می شود:

dns lookup nabznet

dns lookup nabznet

WebPageTest

تجربه اولیه آزمایش سایت شما با WebPageTest مشابه GTmetrix است. با وارد کردن URL سایت خود شروع کنید:

پس از اتمام گزارش، از منوی کشویی، به نمای جزئیات بروید:

نکته مهم در مورد WebPageTest این است که یک نمای کلی از جزئیات درخواست شما ارائه می دهد. همچنین می‌توانید روی ستون «جستجوی DNS» کلیک کنید و آن را بر اساس بیشترین زمان پاسخ مرتب کنید.

به این ترتیب، می دانید که کدام منابع را با بالاترین اولویت بهینه سازی کنید.

صحبت از بهینه سازی شد، بیایید ببینیم چگونه می توانید جستجوهای DNS سایت خود را کاهش دهید.

چگونه جستجوهای DNS را در وردپرس کاهش دهیم

سلب مسئولیت: به غیر از پیشنهاد مربوط به افزونه، همه استراتژی های دیگر را می توان برای هر نوع وب سایتی، صرف نظر از پلت فرمی که روی آن ساخته شده است، اعمال کرد.

اکنون که متوجه شدید که DNS چگونه کار می کند و برخی معیارهای عملکرد را تعیین کرده اید، اجازه دهید با توصیه هایی در مورد نحوه کاهش جستجوهای DNS ادامه دهیم:

1. به یک ارائه دهنده DNS سریعتر بروید

یکی از اولین کارهایی که می توانید برای کاهش تعداد جستجوهای DNS انجام دهید، یافتن یک ارائه دهنده DNS سریعتر است.

اکثر صاحبان وب سایت به DNS رایگان ارائه شده توسط ثبت کننده دامنه خود متکی هستند. متأسفانه، مشابه گزینه های میزبانی وب، رایگان همیشه بهترین نیست. با صرف زمان برای تحقیق در صنعت، متوجه خواهید شد که ارائه دهندگان بسیار سریعتر و بهینه تری وجود دارند.

در واقع، می توانید از DNSPerf برای بررسی سرعت ارائه دهندگان استفاده کنید:

جای تعجب نیست که ارائه دهندگان بزرگی مانند Cloudflare، DigitalOcean و Bunny CDN جزو بالاترین رتبه ها هستند. همه آنها زیرساخت های عظیمی دارند که به طور خاص برای DNS با محیط های کم تاخیر طراحی شده اند.

از طرف دیگر، اگر نمی‌خواهید مستقیماً به یک ارائه‌دهنده جدید بروید، می‌توانید با استفاده از  DNS Speed Benchmark عملکرد ارائه‌دهنده فعلی‌تان را ببینید. فقط نام دامنه خود را وارد کنید و عملکرد آن را ببینید:

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

2. تعداد نام های میزبان را کاهش دهید

تغییر به یک ارائه دهنده DNS سریعتر و بهتر به ناچار عملکرد شما را افزایش می دهد، اما این راه حل نهایی نیست. شما باید چند کار اضافی انجام دهید.

روش بعدی بهینه سازی، کاهش تعداد نام هاست است.

وب سایت خود را از طریق برخی از ابزارهای آزمایشی که قبلاً در مورد آنها صحبت کردیم، اجرا کنید. تمام منابعی که جستجوی DNS را راه اندازی می کنند را مرور کنید:

فهرست را بررسی کنید و تعیین کنید که آیا همه منابع برای وب سایت شما حیاتی هستند یا خیر. اگر نه، موارد غیر ضروری را حذف کنید. منابعی که باید بمانید می توانید:

  • به جای میزبانی منابع خود در چندین زیر دامنه، آنها را در یک دامنه واحد ادغام کنید. این باعث کاهش تعداد نام هاست و در نتیجه تعداد جستجوهای DNS می شود.
  • از شبکه تحویل محتوا (CDN) استفاده کنید. یک CDN می تواند تعداد نام های میزبان را با ارائه منابع شما از طریق شبکه ای از سرورها به حداقل برساند. به این ترتیب، کاربران به جای درخواست منابع از سرور شما، آنها را از نزدیکترین سرور CDN بازیابی می کنند. این رویکرد می تواند منجر به کاهش تاخیر و بهبود سرعت وب سایت شود.

کسب اطلات بیشتر: عوامل موفقیت یک فروشگاه اینترنتی چیست؟

یا شما می توانید…

3. منابع شخص ثالث را به صورت محلی میزبانی کنید

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

برای یافتن همه منابع شخص ثالثی که وب سایت شما بارگیری می کند، یک آزمون PageSpeed Insights را اجرا کنید و به دنبال هشدار «کاهش تأثیر کد شخص ثالث» باشید. وقتی روی آن کلیک می کنید، یک کشویی باز می شود و می توانید تمام منابع را ببینید.

گزارش عملکرد وب را مرور کنید و دارایی های مناسب برای میزبانی محلی را شناسایی کنید. آنها را در مبدا یا CDN خود دانلود و میزبانی کنید.

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

با این حال، اسکریپت هایی مانند Google Analytics که نیاز به به روز رسانی کمتری دارند، برای این کار عالی هستند.

4. از حافظه پنهان DNS استفاده کنید

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

اینکه آیا سرور DNS می‌تواند درخواست مرورگر را از حافظه پنهان خود برآورده کند به طول کش DNS بستگی دارد. طول کش با چیزی که آنها TTL یا مقدار زمان تا زندگی می نامند تعیین می شود.

هر چه مقدار TTL برای یک منبع بیشتر باشد، احتمال کمتری دارد که مرورگر جستجوی DNS را انجام دهد.

مقادیر TTL را می توان با ثبت کننده دامنه یا ارائه دهنده DNS شخص ثالث تغییر داد تا طول کش DNS شما را بهبود بخشد. در زیر چند مقدار رایج TTL آورده شده است:

  • 300 ثانیه = 5 دقیقه
  • 1800 ثانیه = 30 دقیقه
  • 3600 ثانیه = 1 ساعت
  • 43200 ثانیه = 12 ساعت
  • 86400 ثانیه = 24 ساعت

5. واکشی اولیه DNS را تنظیم کنید

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

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

برای افزودن dns-prefetch، کد زیر را به هدر فایل های خود اضافه کنید:

فراموش نکنید که مقدار href را با URL مناسب جایگزین کنید.

6. بارگذاری جاوا اسکریپت را به تعویق بیندازید

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

به تعویق انداختن بارگذاری جاوا اسکریپت لزوماً تعداد جستجوهای DNS را کاهش نمی دهد. اما با بارگیری بحرانی ترین منابع (بالاتر از برابر) ابتدا و به تأخیر انداختن منابع غیر حیاتی تا زمانی که نیاز باشد، عملکرد درک شده سایت شما را بهبود می بخشد.

برای بارگذاری تنبل JS خود، از ویژگی‌های defer و async استفاده کنید. شما می توانید بیشتر در مورد آنها در اینجا بخوانید.

یک مثال عالی از یک فایل JS که ممکن است با تنبلی بارگذاری شود، Google Analytics است زیرا اسکریپتی است که در قسمت بالا مورد نیاز نیست.

7. از افزونه هایی که جستجوهای DNS را افزایش می دهند اجتناب کنید

به طور کلی، چندین نوع افزونه وردپرس برای افزایش تعداد جستجوهای DNS شناخته شده است:

  • افزونه های اشتراک گذاری رسانه های اجتماعی این افزونه‌ها دکمه‌های اشتراک‌گذاری را به وب‌سایت شما اضافه می‌کنند اما اغلب منابع اضافی را از وب‌سایت‌های رسانه‌های اجتماعی بارگیری می‌کنند که ممکن است منجر به جستجوی DNS اضافی شود.
  • پلاگین های تبلیغاتی افزونه های تبلیغاتی مانند Google AdSense یا Amazon Associates اسکریپت ها و منابع خارجی را از وب سایت های شخص ثالث بارگیری می کنند. این منابع ممکن است به جستجوهای DNS اضافی برای حل نام دامنه نیاز داشته باشند.
  • افزونه های فرم تماس. فرم های تماس اغلب به جستجوی DNS اضافی برای بارگیری اسکریپت ها و منابع برای نمایش و رسیدگی به فرم های ارسالی نیاز دارند.

البته، این بدان معنا نیست که شما باید همه افزونه های خود را حذف کنید. اگر ابزارهای مناسب برای تبدیل بازدیدکنندگان را نداشته باشید، یک وب سایت سریع ارزشی ندارد.

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

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

[toc]
سفارش طراحی سایت در نبض نت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *