آموزش های وردپرس

آموزش رفع خطای Use a Content Delivery Network در GTmetrix

یکی از خطاهای رایجی که بیشتر سایت‌ها در هنگام تست سرعت سایت با GTmetrix باهاش مواجه میشن با نام Use a Content Delivery Network هست که مربوط به استفاده از CDN در سایت میشه. این خطا به ما میگه که برای اینکه سرعت سایتمون رو بیشتر کنیم، بیایم و از یک شبکه CDN که در سرتاسر جهان دارای سرور هست استفاده کنیم. در این صورت فایل‌های ما از نقاط جغرافیایی نزدیک‌تری در دسترس کاربران قرار می‌گیرند و همین مسئله باعث میشه که سرعت سایت بالا باشه. علاوه بر این در مصرف پهنای باند و موارد امنیتی هم یک مزیت بزرگ به حساب میاد.

در این آموزش از پایگاه دانش میزبان‌فا قصد دارم به نحوه برطرف کردن ارور Use a Content Delivery Network در Yslow جی تی متریکس بپردازم که این خطا مربوط به الگوریتم‌های یاهو برای بهبود سرعت سایت هست. در صورتی که از CDN استفاده نکنید حتما با این خطا مواجه خواهید شد که با استفاده از این آموزش میتونید این خطا رو برطرف کنید.

CDN چیست؟ چرا باید از CDN استفاده کنیم؟

با استفاده از cdn میتونیم با سرعت بیشتری داده های مورد نیاز سایت رو در دسترس کاربران قرار بدیم. شبکه تحویل محتوا یا همون cdn با استفاده از سرورهایی که در سرتاسر دنیا توزیع شده و با توجه به موقعیت جغرافیایی کاربر از طریق نزدیک‌ترین سرور به کاربر محتوای ذخیره شده را به وی ارائه می‌دهد. این سرویس در افزایش سرعت تحویل محتوا و پهنای باند در وب سایت‌های با ترافیک بالا و وب سایت‌های جهانی مانند گوگل، یاهو، فیس بوک و… بسیار تأثیرگذار است. cdn ها انواع مختلفی دارند که میتونند به صورت خصوصی صرفا برای یک کشور یا یک شرکت خاص در دسترس باشند مثل شبکه CDN چایناکش در کشور چین یا cdn گوگل که صرفا در اختیار خود گوگل قرار داره و مورد استفاده قرار میگیره و یا اینکه میتونند تا به صورت عمومی در دسترس باشند تا هرکسی که لازم داره از اون برای وبسایت خودش استفاده کنه که از مشهورترین این مورد میشه به CDN کلود فلر، آکادمی، آمازون و… اشاره کرد که اگر شما هم سایتی دارید که به سرعت بالای اون اهمین میدین و همچنین با حملات به هاست و سرور سایتتون روبه رو هستید با استفاده از CDN میتونید تا علاوه بر افزایش سرعت بالای سایت امنیت اون رو هم در مقابل حملات افزایش دهید.

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

این سرویس به این شکل کار میکنه که از روی اطلاعات قابل دانلود شدن سایت شما(مانند فایل کدهای CSS، فایل کدهای جاوااسکریپت، فایل‌های مولتی مدیا و…) یک نسخه کپی بر روی nodes یا همون سرورهای مختلف خودش که در سراسر جهان داره ذخیره میکنه و بعد از اینکه کاربری وارد سایت شما میشه و نیاز به این اطلاعات داره همین داده های ذخیره شده روی سرور که به صورت اشتراکی به بسیاری از سایت‌ها سرویس میدهند از نزدیکترین سرور یا node بر اساس موقعیت جغرافیایی بازدیدکننده دانلود و بهش تحویل داده میشن. پس وقتی کاربری با مرورگر خودش وارد سایت میشه اطلاعات از نزدیک‌ترین سرور موجود به اون کاربر ارسال میشن و هر گاه هم سرور CDN به هر دلیلی در دسترس نباشند مشکلی وجود نداره و داده ها از سرور اصلی بارگزاری خواهند شد و تنها تفاوتی که وجود داره همین مبحث سرعت خواهد بود که مثل قبل بستگی به ترافیک سرور کمتر خواهد شد. چون این اطلاعات قبلاً در سرورهای CDN ثبت (Cache) شده‌اند و نیاز به پروسه خاصی نیست تا در اون ثبت بشن با سرعت بیشتری برای بازدیدکننده در دسترس قرار گرفته و دانلود میشوند.

استفاده از cdn میتونه به هاست و سرور شما قدرت بیشتری ببخشه و مزایای بسیار زیادی را برای سایت و کسب و کاری که در اون از CDN استفاده می کنید براتون به ارمغان بیاره که از جمله این موارد میتوان به موارد زیر اشاره کرد:

  • افزایش سرعت بارگذاری و نمایش صفحات وب در سیستم بازدید کنندگان به دلیل لود داده ها از نزدیک ترین cdn
  • افزایش امنیت سایت‌ها (چرا که بیشتر ارتباط‌ها به صورت غیر مستقیم و محافظت شده هستند)
  • افزایش میزان پهنای باند و کاهش مصرف ترافیک اصلی سرور، به عنوان مثال اگر سرور شما ۱۰ گیگابایت پهنای باند به شما ارائه می‌کند وقتی شما از یک CDN که دارای ۱۰ node است استفاده می‌کنید در حقیقت شما ۱۰ * ۱۰ گیگابایت به پهنای باند خود افزوده‌اید
  • هزینه بسیار پایین برای استفاده به دلیل استفاده چندین نفر از سرورها
  • نصب و راه اندازی ساده و آسان
  • افزایش میزان بهینه سازی سایت در موتورهای جستجو نظیر گوگل
  • راهکاری عالی برای جلوگیری از حملات DDOS به سرور سایت
  • افزایش رضایت بازدیدکننده از سایت و کسب و کار شما به دلیل لود بسیار سریع سایت

اگر بخواهیم تا به صورت تصویری به شرح cdn بپردازیم تصویر زیر گویای کارکرد و نحوه رفتار cdn برای ذخیره داده ها و در نهایت تحویل محتوا به کاربران خواهد بود.

آموزش رفع خطای Use a Content Delivery Network در GTmetrix

با اتصال یک سایت به سرور شبکه CDN داده های قابل ذخیره سازی اون مثل فایل های چند رسانه ای در سرتاسر شبکه cdn که در نقاط مختلف جهان قرار داره ذخیره میشوند، به عبارت دیگه وقتی شما اقدام به انتشار یک فیلم در سایت خودتون میکنید یک نسخه کش شده از این فیلم به تمامی سرورهایی که در این شبکه CDN وجود داره ارسال شده و در اونها ذخیره میشوند و سپس بازدید کننده بر اساس موقعیت جغرافیایی که به نزدیک ترین سرور CDN داره این داده ها رو میتونه با سرعت بیشتری به دلیل اینکه ترافیک کمی از اون هم اشغال شده از طریق همین سرورها دریافت و به اونها دسترسی داشته باشه. از طرف دیگه اگر حملاتی به سایت اتفاق بیفته و افرادی برای سوءاستفاده بیان تا به سرور سایت حمله کنن شکست خواهند خورد، چرا که cdn از این کار جلوگیری میکنه و درواقع وقتی حمله ای بخواد تا به سمت سایت صورت بگیره به cdn صورت میگیره و باید بتونن از cdn عبور کنند تا به سرور اصلی شما برای حملاتی مثل حملات DDOS برسند که این مورد هم امکان پذیر نیست.

شبکه توزیع محتوا یا CDN عمومی چیست؟

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

<script src="https://mizfa/com/file/js/jquery.min.js"></script>

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>

در این صورت سرعت دسترسی به این فایل چون روی شبکه CDN قرار داره بهتر خواهد بود. این حالت برای فونت‌ها، فونت آیکون‌ها، فایل‌های CSS و… هم وجد داره که میتونید ازش استفاده کنید. شرکت‌های بزرگ دیگه‌ای هم مثل ماکروسافت، jsDelivr، cdnjs، jQuery و… هم وجود دارند که میتونید از کتابخانه‌های عمومی این نوع CDN های عمومی استفاده کنید.

  • Google CDN: این شبکه CDN عمومی هم روی سرورهای گوگل قرار داره که امکان استفاده از انواع فایل‌های JS، CSS، فونت‌ها و … رو به شما خواهد داد که برای جزییات بیشتر و نحوه استفاده ازش میتونید به آدرس https://developers.google.com/speed/libraries مراجعه کنید.
  • Microsoft CDN: در صورتی که از زبان برنامه نویسی ASP.NET استفاده می‌کنید استفاده از CDN عمومی ماکروسافت برای استفاده از کتابخانه‌هایی که قرار داده بهترین گزینه است که با مراجعه به آدرس http://www.asp.net/ajax/cdn میتونید اطلاعات کاملی ازش به دست بیارید.
  • jQuery CDN: تقریبا در اکثر سایت‌ها از کتابخانه جی‌کوئری استفاده میشه و برای اینکه بتونید در پهنای باند و همچنین سرعت سایت بهترین انتخاب رو داشته باشید میتونید از این CDN استفاده کنید که با مراجعه به آدرس https://code.jquery.com میتونید اطلاعات کاملی ازش به دست بیارید.
  • cdnjs CDN: این CDN هم روی سرورهای کلودفلر قرار داره که امکان استفاده از کتابخانه‌های jQuery ،Modernizr و Bootstrap را به شما میده که با مراجعه به آدرس https://cdnjs.com میتونید ازش استفاده کنید.
  • jsDelivr CDN: این کتابخانه هم امکان استفاده از فایل‌های JS رو در بستر CDN به شما میده که مربوط به انواع سیستم‌های مدیریت محتوا و سایت‌های مختلف نظیر گیت هاب میشه و میتونید ازش برای بهبود سرعت سایت استفاده کنید. این شبکه CDN توسط کلودفلر، maxcdn و چند شرکت دیگه که در زمینه CDN فعالیت دارند پشتیبانی میشه که برای کسب اطلاعات بیشتر و نحوه استفاده ازش میتونید به آدرس http://www.jsdelivr.com مراجعه کنید.

معرفی بهترین شبکه‌های CDN

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

  • ClouadFlare: یکی از معروف‌ترین شبکه‌های CDN هست که علاوه بر این امکانات امنیتی به شما ارایه میده. استفاده از این شبکه توزیع محتوا به صورت رایگان هست که برای امکانات بیشتر میتونید از پلان پولی که ارائه میده استفاده کنید. متاسفانه امکان استفاده برای دامنه‌های IR در این شبکه وجود نداره. از امکانات دیگه که داره میشه به ارائه SSL رایگان، جلوگیری از حملات DDOS، امکان بلاک کردن آی‌پی کشورها و… اشاره کرد.
  • MaxCDN: یکی دیگه از سایت‌ها هست که ابتدا این سایت هم پلان رایگان ارائه میکرد، اما بعد از مدتی تغییر سیاست داده و فقط میشه از اکانت پولی اون استفاده کرد. در صورتی که نیاز به استفاده از امکانات مناسب برای CDN هستید این گزینه از نظر اقتصادی میتونه بهترین انتخاب باشه.
  • Arvancloud: این سایت هم یک سایت ایرانی هست که امکان استفاده از شبکه CDN رو به شما خواهد داد. استفاده از این شبکه تولید محتوا در حالتی که سرور شما داخل ایران قرار داره پیشنهاد نمیشه. چرا که با قرار گرفتن روی شبکه CDN در حالتی که سرور اصلی سایت داخل ایران قرار داره کاملا برعکس عمل کرده و به جای اینکه سرعت بهتری داشته باشید، سرعت کمتری خواهید داشت.
  • CDN Wordpress: در صورتی که از وردپرس استفاده می‌کنید این سیستم مدیریت محتوا در قالب افزونه Jetpack امکان استفاده از CDN اختصاصی خودش رو فراهم کرده که میتونید به صورت رایگان ازش استفاده کنید. اما بدی که برای ما کاربران ایرانی داره این هست که چون روی دامنه wordpress.com قرار گرفته برای ما ایرانی‌ها فیلتر شده است و امکان استفاده ازش برای بازدیدکننده ایرانی رو نخواهیم داشت.

آموزش رفع خطای Use a Content Delivery Network در GTmetrix

حالا وقتی ما با خطای Use a Content Delivery Network در GTmetrix مواجه میشیم در واقع از ما خواسته میشه که بیایم و از شبکه توزیع محتوا در سایت استفاده کنیم. این کار میتونه برای کل سایت مورد استفاده قرار بگیره و یا اینکه میتونه فقط برای بخشی از سایت استفاده بشه که تو این حالت شامل CDN های عمومی خواهد بود.

آموزش رفع خطای Use a Content Delivery Network در GTmetrix

همونطور که در تصویر هم میبینید انواع مختلفی از فرمت فایل‌های css، js، png، jpg و… در سایت شما قرار دارند که گفته شده این فایل‌ها رو روی CDN استفاده کنید. اگر پیشنهاد GTmetrix این باشه که یک سری فایل خاص رو به شما برای استفاده در CDN معرفی کرده باشه منظورش استفاده از کتابخانه‌های عمومی هست که در بالا به معرفی برخی از این کتابخانه‌ها پرداختم. اما اگر کل سایت رو پیشنهاد بده به این معنی هست که باید از شبکه CDN شرکت‌هایی نظیر کلودفلر، maxcdn و… استفاده کنید که توی این حالت کل سایت روی سرورهای CDN قرار خواهد گرفت.

امیدوارم که این مقاله هم مورد توجه شما قرار گرفته باشه و با استفاده از اون تونسته باشید تا به مفهوم کلی و جامعی از شبکه های توزیع محتوا یا CDN دست پیدا کنید و با نحوه رفع خطای Use a Content Delivery Network در Yslow جی تی متریکس هم آشنا شده باشید. اگر در رابطه با این مقاله هر سوالی برای شما پیش اومده میتونید در بخش دیدگاه ها اعلام کنید تا در کوتاه ترین زمان ممکن پاسخگوی شما باشم.
3.2/5 - (8 امتیاز)

علی یزدان پرست

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

‫۱۰ دیدگاه ها

  1. آموزش رفع خطای Use a Content Delivery Network در GTmetrix

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

  2. سلام شما فرمودین اگر پیشنهاد GTmetrix این باشه که یک سری فایل خاص رو به شما برای استفاده در CDN معرفی کرده باشه منظورش استفاده از کتابخانه‌های عمومی هست که در بالا به معرفی برخی از این کتابخانه‌ها پرداختم
    میشه توضیح بدین این کار رو چطور باید انجام بدیم؟
    قابل ذکر است که بنده کل سایت رو با افزونه cloud flare ، CDN کردم

  3. سلام .بابت توضیحات ممنون اما بعد این همه توضیح یک مثال عملی نزدید ببینیم باید چیکار کنیم

  4. خسته نباشید.
    چرا با اینکه از cdn ابرآوران استفاده میکنیم بازم همین خطا رو نشون میده؟

  5. با احترام

    متاسفانه در gtmetrix ارور هایی درباره سایت من میده که اصلا با کد و افزونه قابل حل نیست:

    مثلا در این قسمتها:

    Make fewer HTTP requests

    Use a Content Delivery Network (CDN)

    Configure entity tags (ETags)

    لطف فراوانی میکنید اگر راهنمایی فرمایید

  6. سلام وقت بخیر
    سوالی که داشتم اینه: این بلاگ به نظرتون آموزش رفع این خطا بود یا تفسیرش؟
    اصلا مرتبط با عنوان نبود

    1. سلام و احترام؛
      شیمای عزیز به نظر میرسه مقاله رو به صورت کامل مطالعه نکردید چون دو لینک آموزشی در محتوا درج شده که شما رو به مقالات راه اندازی cdn هدایت میکنن دو لینک رو خدمتتون ارسال میکنم:
      آموزش تصویری از استفاده از Cloud Flare جهت بهبود سرعت و امنیت
      cdn چیست؟ و چه کاربردی دارد؟

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

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

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

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