CDN چیست و چه تاثیری در سرعت وبسایت دارد؟ در این مقاله به شکل جامع بعد از تعریف CDN به مزایا و معایب آن میپردازیم و سپس به معرفی برترین CDN های دنیا اشاره خواهیم کرد سپس فرق CDN عمومی با CDN معمولی را خواهیم گفت و سایتهای معروفی که در زمینه CDN عمومی فعالیت میکنند را نام خواهیم برد و در انتهای این مقاله میزفا شما نحوه حل ارور Use a Content Delivery Network موجود در سایت GTmetrix.com را هم فرا خواهید گرفت.
سرفصلهای پست
آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow
آموزش بهینه سازی سرعت سایت با ابزار GTMetrix از سری مقالات سئو وبسایت میزفا است. ارور Use a Content Delivery Network که در سایت GTmetrix برای برخی وبسایتها نشان داده میشود را مورد بحث قرار خواهیم داد. این ارور هم جز ارورهای YSlow است و YSlow فاکتورهای موتورجستجوی یاهو میباشد، گاهی رفع این خطا باعث بالا بردن سرعت سایت میشود و گاهی هم نتیجه عکس دارد، بنابراین استفاده از CDN برای همه سایتها پیشنهاد نمیشود و لازم نیست همه نوع کسب و کار در هر شرایطی از CDN استفاده کنند. سعی خواهیم کرد در ادامه مقاله میزفا بیشتر در این باره صحبت کنیم.
توجه داشته باشید که ما در ادامه هم از عبارت CDN (شبکه توزیع محتوا) استفاده خواهیم کرد و هم از عبارت CDN Public (شبکه توزیع محتوا عمومی) که این دو عبارت برای اهدافی متفاوت ایجاد شده اند، بنابراین این دو عبارات را یکی ندانید.
خلاصهای از خطا Use a Content Delivery Network (CDN)
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 92%
CDN چیست
CDN یا به اختصار Content Delivery Network به معنای شبکه توزیع محتوا است البته به شبکه تحویل محتوا هم میتوان ترجمه کرد، قصد داریم به کمک شکل زیر به سادگی معنا و هدف CDN را بیان کنیم، با دیگر برای همیشه سوالی با عنوان CDN چیست در ذهن شما رفع شود 😉
سناریو یک: به نیمه بالای تصویر دقت کنید و تصور کنید که شما از شبکه توزیع محتوا یعنی CDN استفاده نمیکنید و سرور اصلی سایت شما در شهر ویرجینیا امریکا قرار دارد در این حالت هر کاربری در هر جایی از دنیا که قصد داشته باشد وارد سایت شما شود باید به سرورهای موجود در امریکا درخواست ارسال کند، طبیعتا اگر کاربری در آسیا یا نقاط دورتری نسبت به شهر ویرجینیا امریکا باشد زمان درخواست و پاسخ از سرور اصلی بیشتر به طول میانجامد.
سناریو دو: به نیمه پایین تصویر دقت کنید و و تصور کنید که شما از شبکه توزیع محتوا یعنی CDN استفاده میکنید و سرور اصلی سایت شما در شهر ویرجینیا امریکا قرار دارد در این حالت تمام سرورهای CDN در مناطق مختلف یک نسخه کپی از سایت شما در سرور اصلی برداشته و در خود ذخیره میکنند و اگر برفرض کاربری در کشور چین قصد داشته باشد وارد سایت شما شود، نزدیکترین سرور CDN به چین پاسخ کاربر را خواهد داد و این عمل در بهبود سرعت سایت نقش بسیاری را ایفا میکند.
مزایای استفاده از CDN
- افزایش سرعت سایت : طبق توضیحات بالا استفاده از شبکه توزیع محتوا باعث بهبود سرعت سایت و سریعتر لود شدن صفحات برای کاربران میشود.
- کاهش مصرف پهنای باند سرور اصلی : زمانی که شما از CDN استفاده میکنید سرورهای CDN یک نسخه کپی از محتویاتی که تقریبا ثابت هستند (فایلهای CSS ، جاوااسکریپت، عکسها، فونتها و …) در سرور خود ذخیره میکنند و زمانی که کاربر درخواستی را برای باز شدن صفحات سایت شما ارسال میکند به جای ارسال درخواست به سرور اصلی به سرورهای CDN ارسال میشود که باعث کاهش مصرف پنهای باند سرور اصلی میشود.
- کاهش مصرف منابع سرور اصلی: استفاده از شبکه توزیع محتوا باعث کاهش تعداد درخواستهای HTTP از سمت کاربران میشود و این عمل بار بسیاری را از دوش سرور اصلی کم میکند که نتیجه آن کاهش مصرف منابه سرور اصلی میباشد.
- افزایش رتبه سایت در گوگل : یکی از موارد بهبود سئو سایت بالا بردن سرعت سایت است و گوگل اعلام کرده است که سرعت سایت یکی از فاکتورهای مهم در رتبهبندی نتایج خواهد بود.
- بهبود تجربه کاربری : سرعت سایت و بارگذاری سریع صفحات سایت ارتباط مستقیمی با تجربه کاربری (UX) خواهد داشت، چرا که کاربران زمان کمتری را برای لود شدن فایلهای لازمه یک صفحه صرف خواهند کرد و تاخیر در بارگذاری تا حد بسیار زیادی کاهش پیدا میکند، همین موضوع میتواند باعث کاهش نرخ دفع کاربری هم شود.
- ۱۰۰ درصد بالا بودن سرور : زمان که شما از شبکه توزیع محتوا یا CDN استفاده میکنید حتی زمانی که سرور اصلی قطع شود نسخه کپی موجود در سرورهای CDN به کاربران نمایش داده میشود تا با قطعی سرور کاربران شما برخورد نکنند.
- افزایش امـنیت سایت : استفاده از CDN باعث افزایش امنیت سایت و جلوی حملاتی نظیر DDoS را میگیرد چرا که شبکه توزیع محتوا به راحتی میتواند با استفاده از پهنای باند نامحدود خود بار حملات DDoS خنثی کند.
معایب استفاده از CDN
- هزینه CDN : یکی از معایب استفاده از شبکه توزیع محتوا هزینه نسبتا بالای برخی از ارائه دهندهگان CDN است، هر چند برخی از ارائه دهندهگان دارای پنل رایگان هستند همانند سایت cloudflare ولی استفاده از پنل رایگان با توجه به محدودیت های فراوانی که دارند، برای سرورهای داخل ایران توصیه نمیشود که در ادامه علت آن را خواهیم گفت، از بین سایت های ارائه دهنده شبکه توزیع محتوا خارجی میتوان سایت MaxCDN را اشاره کرد که دارای پنلهایی با قیمت مناسب است. در ادامه انواع سایتهای ارائه دهنده CDN را نام خواهیم برد.
- مسدود شدن برخی کاربران : گاهی پیش آمده دسترسی برخی کاربران به سایت مسدود شده چرا که برخی سازمانها و یا حتی کشورها دسترسیها را به برخی کاربران محدود میکنند و درنتیجه بسیاری از دامنه ها در این سازمان ها و کشورها غیر قابل دسترسی می گردد. یا برخی CDNها حساسیت بالایی به تعداد درخواستهای HTTP دارند و اگر حتی یک کاربری صفحات زیادی از یک سایت را باز کند ممکن است CDN واکنش نشان دهند و تصور کند که سایت مورد حمله است و ای پی آن شخص را مسدود کند (این موضوع برای خوده بنده بسیار پیش آمده)
- کش کردن فایلها : البته کش شدن فایلها به معنی معایت حساب نمیآید مگر آنکه فایل های ما نظیر JS و CSS تغییرات بسیاری را در هفته دارند و این موضوع باعث میشود که نسخههای متفاوت برای کاربران نمایش داده شود. به همین منظور باید به شکل منظم کش ها را پاک کنید و این امر شاید زمانگیر و گاهی ناکارآمد باشد چرا که در برخی موارد کش اعمال شده به شدت سنگین است.
معرفی برخی از CDNهای معروف
برخی از CDNهای معروف عبارت اند از:
[box type=”note” align=”” class=”” width=””]چند نکته:
- سرور Cloudflare پنل رایگانی دارد که اکثر سایتهای ایرانی برای استفاده از CDN از این سایت استفاده میکنند ولی اگر سرور اصلی سایت شما در ایران است توصیه نمیشود از این پنل رایگان استفاده کنید چرا که در بیشتر موارد مشاهده شده به جای بهبود سرعت سایت باعث کاهش سرعت سایت برای کاربران ایرانی میشود.
- سایت Arvancloud توسط یک شرکت ایرانی تاسیس شده است و خدمات مناسبی را ارائه میدهد، پیشنهاد ما استفاده از این CDN است هر چند استفاده از این شبکه توزیع محتوا باعث رفع خطای Use a Content Delivery Network در جی تی متریکس نمیشود که نشانه ضعف این ابزار آنلاین است.
- سایت MaxCDN نسبت به CDNهای خارجی دیگر پنلی ارزانتر دارد و اگر قصد خرید سی دی ان خارجی با هزینه مناسب هستید میتواند گزینه مناسبی باشد.
- اگر از سیستم مدیریت محتوا وردپرس استفاده میکنید میتوانید از افزونه رایگان Jetpack استفاده کنید که امکان استفاده از شبکه توزیع محتوا یا CDN اختصاصی را به شما میدهد.
شبکه توزیع محتوا عمومی چیست؟
استفاده از سرویس رایگان شبکه توزیع محتوای عمومی (Free Public CDN Services) باعث افزایش سرعت سایت، ذخیره پهنای باند سرور اصلی، بهبود تجربه کاربری میشود، در سرویسهای رایگان توزیع محتوای عمومی کتابخانههای معروف جاوااسکریپت و CSS قرار دارند تا برنامهنویس ها به جای اپلود کردن این کتابخانه های مهم و معروف در سرور اصلی سایت، از سرورهای رایگان توزیع محتوای عمومی استفاده کنند، این عمل باعث کاهش تعداد درخواستهای HTTP به سمت سرور شما هم میشود، مثلا به جای اینکه فایل jquery.min.js را مثل آدرس زیر در سایت خود لود کنیم
<script src="https://mizfa/com/file/js/jquery.min.js"></script>
از jquery.min.js موجود در Google CDN که یکی از شبکههای توزیع مجتوای عمومی است استفاده کنیم:
<script src="https://mizfa.com/blog/wp-content/litespeed/localres/aHR0cHM6Ly9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvlibs/jquery/2.1.4/jquery.min.js"></script>
Google CDN
لینک: https://developers.google.com/speed/libraries
پایداری یکی از مهمترین خصوصیات این CDN است، شبکه توزیع محتوا عمومی گوگل از محبوبترین کتابخانه های منبع باز JavaScript پشتیبانی میکند و همیشه این شبکه توزیع محتوای عمومی اخرین نسخههای انتشار شده را در کتابخانه CDN خود قرار میدهد.
Microsoft CDN
لینک: http://www.asp.net/ajax/cdn
یکی از محبوبترین کتابخانههای CDN به شکل رایگان را برای کاربران فراهم کرده است. شبکه توزیع محتوا عمومی مایکروسافت از محبوبترین کتابخانه Ajax در انواع نسخهها را پشتیبانی میکند.
jsDelivr CDN
لینک: http://www.jsdelivr.com/
jsDelivr خود از ۵ سی دی ان قدرتمند دیگر برای ارائه خدمات هر چه بهتر به کاربران استفاده میکند که معروفترین آنها Cloudflare و MaxCDN هستند. شاید این لینک برای شما جالب باشد که نحوه توزیع محتوا عمومی در jsDelivr به چه شکل است، انواع کتابخانههای معروف این CDN عمومی درون خود دارد و کافیست برای استفاده از یک فایل نام آن را در صفحه اول تایپ کنید.
cdnjs CDN
لینک: https://mizfa.com/blog/wp-content/litespeed/localres/aHR0cHM6Ly9jZG5qcy5jb20v
cdnjs توسط CloudFlare حمایت میشود و فایلهای مربوط به jQuery ، Modernizr و Bootstrap در خودش دارد، استفاده بسیاری از این سی دی ان عمومی و محبوب میشود.
jQuery CDN
لینک: https://mizfa.com/blog/wp-content/litespeed/localres/aHR0cHM6Ly9jb2RlLmpxdWVyeS5jb20v
jQuery قدرت گرفته از MaxCDN است. و اخرین نسخههای کتابخانه JavaScript را همیشه در دسترس قرار میدهد.
اطلاعات بیشتر درباره شبکههای توزیع محتوای رایگان را در این لینک بخوانید.
نحوه رفع خطای Use a Content Delivery Network در جی تی متریکس
برای رفع این خطا در Yslow پیشنهاد میکنیم از CDNهایی که در مقاله معرفی کردیم، استفاده نمایید، البته اگر بنا به شرایط خود نمیتوانید استفاده کنید، بهتر است حداقل برای لود کردن برخی از فایلهای معروف در سایت خود همانند کتابخانههای JavaScript از CDN Public استفاده کنید.
البته استفاده از CDN به شکل اصولی به یک سری شرایط بستگی دارد، مثلا به عنوان اولین شرط اینکه:
- به چه علت ما قصد استفاده از CDN داریم؟ ایا فقط به خاطر سبز زدن GTMetrix؟
اگر به دنبال نمره باشید ممکن است فقط نمره کسب کنید بدون عملکرد مفید، ولی اول پیشنهاد میشود به دنبال عملکرد بهتر باشید تا نمره خوب به خودی خود نمایان شود. - سوال بعدی که باید از خود بپرسید این است که میزان بازدید چه قدر است؟ آیا بازدید آنقدری بالا هست که نیاز باشد از CDN برای توزیع محتوا استفاده کنیم؟
- بعد از پاسخ دادن به سوال بالا باید بررسی کنید که میزان پراکندگی بازدید کنندگان شما به چه نحوی است؟ آیا خارج از کشور بازدید دارید؟
- سایت شما آیا اختصاصی طراحی شده و یا از CMS های رایگان قدرت گرفته؟ به این علت این سوال را میپرسیم که برخی سایتهای اختصاصی به دلیل نامطمئن بودن از امنیت وبسایت خود از CDN استفاده میکنند درحالی که سیستم های همانند وردپرس و … به دلیل داشتن تیم قوی به شکل پیشفرض امنیت خوبی دارند.
- بودجه شما چقدر است؟ آیا این امکان دارید هزینه های سنگین سی دی ان را پرداخت کنید؟
- آیا دانش بهینه سازی تنظیمات سی دی ان را دارید؟ ایا میدانید باید چطور تنظیمات سی دی ان را به خوبی و متناسب با وبسایت خودتان صورت دهید؟
- هاست شما از کجا تهیه شده است؟ از ایران و یا خارج از ایران؟ جواب شما هر کدام باشد سناریویی که برای سی دی ان باید پیاده سازی شود متفاوت خواهد بود.
با پاسخ دادن به سوالات بالا و بررسی موارد اشاره شده می توانید یک تصمیم مناسب برای استفاده و یا عدم استفاده از سی دی ان را داشته باشید. اگر نیاز به راهنمایی داشتید در نظرات حتما مطرح کنید.
به پایان مقاله حل مشکل Use a Content Delivery Network از دوره آموزش افزایش سرعت وبسایت با ابزار جی تی متریکس رسیدیم و امیدواریم در این آموزش سئو که باعث افزایش سرعت سایت و سئو میشود، کمک شایانی کرده باشیم، اگر سوالی داشتید حتما در نظرات مطرح کنید. در جلسه بعد به معرفی خطای Use cookie-free domains میپردازیم. با ما میزفا همراه باشید.
27 پاسخ
سلام
نحوه فعالسازی jsdelivr رو میشه بگید باید چیکارکنم هاستم فرانسه است قبلا کلود فلایر امتحان کردم با افزونه wp rocket مشکل داشت.
سلام مجید.
برنامه نویس ها و توسعه دهنده ها از فایل هایی که داخل سایت jsdelivr هست ممکنه استفاده کنن. به عبارت دیگه باید برنامه نویس باشید.
بسیاری از مشکلات gtmetrix رو با کمک سایت شما حل کردم.
خیلی محتوای مفید و کاربردی توی سایت دارید؛ تولید محتوای رایگان و با ارزش یکی از دغدغه های وب فارسی بود و هست.
مرسی بابت خدماتتون
سلام امیر.
بسیار خوشحالم که تونستید مشکلتون رو حل کنید.
دوست داشتی حتما در دوره رایگان سئو ما هم شرکت کن.
موفق باشی.
با سلام ، ببخشید یه سوال
من تو سایت gtmetrix دو حالت داره
یا ارور cdn میده چون cdn رو نزاشتم و کوکی نمره 100 میگیره
یا cdn نمره 100 میگیره و کوکی 0 میگیره
چیکار کنم؟ از cdn سایت cloadflare استفاده میکنم
سلام میعاد عزیز.
از سی دی ان اسفتاده کن و اشکال نداره کوکی نمره نگیری. مهم نیست.
موفق باشی.
وب عالی داری
سلام و عرض ادب
هاستو انتقال دادم، dnc ها با دامنه تغییر پیدا کرد همه چی اوکی شد، 24 ساعت بعد بابت تنظیمات Cdn, دوباره dns های دامنه رو همونطور که شرکت هاستینگ گفته بود تغییر دادیم، بعد از گذشت چند ساعت، سایت و وردپرس باز نمیشه و با خطا رو به رو هستیم، به هیچ عنوان سایت و وردپرس رو نداریم
آیا این مشکل طبیعه و باید صبر کنیم تا dnc ها و تنظیمات اوکی بشن یا با مشکل اساسی رو به رو هستیم؟
با تشکر
سلام عزیز.
من که نفهمیدم شما چه کار کردید. یک بار dnsها رو عوض کردید و دوباره عوض کردید؟ یک بار باید عوض بشه و دی ان اس های CDN بشه و بعدش دیگه نیازی به تغییر دی ان اس نیست.
پیشنهاد میکنم اموزش کلودفلر مشاهده کنید.
سلام اگر بخوایم بهینه سازی سرعت سایت و کسب رتبه در گوگل رو به شما بسپارم چه کار باید بکنم
سلام بهنام عزیز. منوی خدمات در بالای سایت موجود است ولی در حال حاضر به دلیل تعدد پروژه ها، پروژه جدیدی انجام نمیدیم. امیدوارم بتونید به کمک مقاله ها نیاز خودتون رو رفع کنید.
ممنونم از حضورت. موفق و شاد باشی.
سلام خسته نباشید
وبسایت بنده خطای صفر درصدی Use a Content Delivery Network (CDN) از سایت GTMetrix میده
از طرفی هاست سایت وردپرسیم از شرکت پارس پک هست و خوده شرکت cdn رایگان ارائه داده بصورت ازمایشی
در حال حاضر بجز تنظیمات پنل cdn در پارس پک ، تنظیمات دیگه ای باید انجام بدم؟
واینکه چرا نمره ای تو سایت GTMetrix اعمال نشده یعنی نمیتونه cdn که از این شرکت گرفتم رو تشخیص بده؟
سلام محمدرضا. این سی دی ان شرکتی که اشاره کردید واقعی نیست (البته این نظر من هست) میتونید از کلودفیلر و یا سی دی ن ایرانی ابرآوران استفاده کنید. البته برای سایت های تازه تاسیس خیلی سی دی ان نیاز نیست.
موفق باشی
سلام
خسته نباشید
سایت من در لینک های زیر خطا میده به نظرتان چیکار کنم ؟
سلام مصطفی جان. هیچ کاری لازم نیست. طبیعی هست این نوع ارورها در جی تی متریکس. درواقع وقتی شما از ریکپجا استفاده میکنید این ادرس ها باید لود بشن و مشکلی نداره
من از ریکپچا خیلی قبل استفاده میکردم و الان ندارم ولی این خطا رو میده
خب ممکنه استفاده نکنی. باید غیرفعال کنی و یا ممکنه قالب استفاده کنه و یا افزونه های فرم ساز.
چطور میتونم همین و غیرفعال کنم از کجا بفهمم چه قسمتی داره از ریکپچا استفاده میکنه ؟
سلام و عرض ادب
اگر امکانش هست من رو راهنمایی کنین لطفا. در وردپرس در آنالیز نتایج سئو در هر نوشته، نتایج به زبان فارسی بود ولی بعد از بروزرسانی نسخه وردپرس، آنالیز نتایج به زبان انگلیسی شده. می شه لطفا راهنماییم کنین.
ممنون
سلام دوستم. این مورد هر چند مربوط به مقاله نیست ولی پیشنهاد میشه به سئو کار و یا برنامه نویس سایت خودتون ارجاع بدید. این موارد باید بررسی بشن و نمیشه از زبان دیگری مورد تحلیل قرار داد.
سلام و درود
من برای رفع خطای سایت از cdn رایگان کلودفلیر استفاده کردم و ابر نارنجی را هم برای خود ادرس سایت و هم برای ns1 و ns2 فعال کردم اما خطای gtmetrix همچنان برطرف نشده. ممنون میشم راهنمایی کنید
سلام. سعی کنید به فکر بهبود سرعت سایت باشید تا کسب رتبه. سبز کردن gtmetrix کار سختی نیست ولی بهینه سازی سرعت سایت کار سختی هست. پس وقتی دارید از کلود استفاده میکنید نیاز به تایید gtmetrix ندارید. هر چند این ابزار با تاخیر متوجه میشه.
با سلام
بنده یک سایت فروشگاهی دارم – مشکلی که هست در GTmatrix تعداد در خواست های من بالا میزنه و این تعداد در خواست 160 عدد برای محصولات داخل سایت هست یعنی در قسمت waterfall نمایش میده – چطور میتونم این درخواست ها رو کم کنم ؟کاهش بدم
سلام، لطفا نظرات تکراری درج نکنید. پاسخ شما در یک پست دیگر داده شد.
خیلی مطلب مفیدی بود ممنون از سایت خوبتون
سلام با دامنه ی دات آی آر هم میشه cdn نصب کرد؟
درود بر شما و پوزش برای تاخیر
خیر مشکلی نداره فقط سی دی ان کلودفلیر برای فعال سازی اس اس ال بر روی دامنه های ir مشکل داره، جهت اطلاعات بیشتر حتما مقاله جامع آموزش کلودفلیر رو مطالعه کنید.