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)
اولویت: پایین
میزان سختی: متوسط
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 اختصاصی را به شما میدهد.
[/box]
شبکه توزیع محتوا عمومی چیست؟
استفاده از سرویس رایگان شبکه توزیع محتوای عمومی (Free Public CDN Services) باعث افزایش سرعت سایت، ذخیره پهنای باند سرور اصلی، بهبود تجربه کاربری میشود، در سرویسهای رایگان توزیع محتوای عمومی کتابخانههای معروف جاوااسکریپت و CSS قرار دارند تا برنامهنویس ها به جای اپلود کردن این کتابخانه های مهم و معروف در سرور اصلی سایت، از سرورهای رایگان توزیع محتوای عمومی استفاده کنند، این عمل باعث کاهش تعداد درخواستهای HTTP به سمت سرور شما هم میشود، مثلا به جای اینکه فایل jquery.min.js را مثل آدرس زیر در سایت خود لود کنیم
از 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
پایداری یکی از مهمترین خصوصیات این CDN است، شبکه توزیع محتوا عمومی گوگل از محبوبترین کتابخانه های منبع باز JavaScript پشتیبانی میکند و همیشه این شبکه توزیع محتوای عمومی اخرین نسخههای انتشار شده را در کتابخانه CDN خود قرار میدهد.
Microsoft CDN
یکی از محبوبترین کتابخانههای CDN به شکل رایگان را برای کاربران فراهم کرده است. شبکه توزیع محتوا عمومی مایکروسافت از محبوبترین کتابخانه Ajax در انواع نسخهها را پشتیبانی میکند.
jsDelivr CDN
jsDelivr خود از ۵ سی دی ان قدرتمند دیگر برای ارائه خدمات هر چه بهتر به کاربران استفاده میکند که معروفترین آنها Cloudflare و MaxCDN هستند. شاید این لینک برای شما جالب باشد که نحوه توزیع محتوا عمومی در jsDelivr به چه شکل است، انواع کتابخانههای معروف این CDN عمومی درون خود دارد و کافیست برای استفاده از یک فایل نام آن را در صفحه اول تایپ کنید.
cdnjs CDN
cdnjs توسط CloudFlare حمایت میشود و فایلهای مربوط به jQuery ، Modernizr و Bootstrap در خودش دارد، استفاده بسیاری از این سی دی ان عمومی و محبوب میشود.
jQuery CDN
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 میپردازیم. با ما میزفا همراه باشید.
/
5
(
7
امتیاز
)