به عنوان مدیر یک وب سایت شما همیشه به دنبال افزایش سرعت وب سایت خودتان برای بالا بردن رضایت کاربرانتان یا همان تجربه کاربری هستید. یکی از جدیدترین و مدرنترین مدلهای افزایش سرعت سایت در حال حاضر استفاده یک سرویس CDN میباشد. (CDN به معنای شبکه تحویل محتوا یا شبکه توزیع محتوا یاد میشود).
این سرویسها بار اضافه را از سرور اصلی سایت شما کاهش داده و باعث میشود سرعت تحویل محتوا به کاربران بالاتر رود، تجربه کاربری بهتری در مدیریت وب سایت به شما و کاربرانتان هدیه میدهند.
امروز ما میخواهیم شما را با نحوه کار CDN ها و همچنین دلیل استفاده از آنها و معرفی برخی مزایای اضافی CDN ها آشنا کنیم. همچنین با نمایش چندین آزمایش سرعت قبل و بعد از فعال سازی سرویس CDN شما را به چالش میکشیم که خود تفاوت استفاده کردن و استفاده نکردن CDN را قضاوت کنید.
۴۰ درصد کاربران اگر وب سایتی بیشتر از ۳ ثانیه لود شود آن رها میکنند. (این یک شاخص جهانی است ولی در ایران با توجه به سرعت بسیار پایین اینترنت و حجم بالای وب سایت ها این شاخص تا ۷ ثانیه پیشبینی میشود).
کلمه CDN مخفف کلمه content delivery network به معنای شبکه تحویل محتوا (شبکه توزیع محتوا) میباشد. این سرویس یک شبکه از سرورها در سراسر جهان میباشد که برای میزبانی اطلاعات استاتیک (و گاهی داینامیک) وب سایت شما نظیر تصاویر، ویدیوها، فایلهای CSS و فایلهای جاوااسکریپت طراحی شده است. توجه داشته باشید که وقتی از میزبانی صحبت میکنیم منظور میزبانی وب سایت شبیه هاستهای اشتراکی یا اختصاصی سایت شما نیست. CDN به طور کامل یک سرویس جداگانه میزبانی میباشد. سرویسهای CDN جایگزین هاستهای میزبانی شما نیست ولی راهی اضافه برای بهبود سرعت سئو سایت میباشد.
سرویس CDN دقیقا چگونه کار میکند؟ خب، به عنوان مثال ، وقتی شما قصد خرید یک هاست میزبانی وب را دارید ، میبایست مکان یک دیتاسنتر فیزیکی مثل آلمان، فرانسه، امریکا، ایران و غیره را انتخاب کنید. به عنوان نمونه فرانسه را برای میزبانی انتخاب کردیم. این به معنی آن است که مثلا وب سایت شما توسط سرورهایی واقع در پاریس میزبانی میشود. حال در نظر بگیرید فردی در ایران بخواهد وارد وب سایت ما شود و فردی نیز از فرانسه وارد وب سایت ما شوید، به علت مکان قرارگیری سرور و همچنین انتقال دادهها از مبدا به کشور مقصد، زمان لود وب سایت در ایران بیشتر از فرانسه خواهد بود. این چیزی است که به آن لِیتنسی یا تاخیر گفته میشود (latency). لیتنسی به زمان یا تاخیری گفته میشود که برای انتقال اطلاعات در شبکهها لازم است. بنابراین هرچه فاصله کاربر از مکان قرارگیری سرور وب سایت دورتر باشد لیتنسی نیز بیشتر میشود.
همچنین لیتنسی را در تبادل دادهها فراموش نکنید، هنگامی که شما به عنوان کاربر دادهها را دریافت میکنید و با پر کردن فرم یا کلیک روی کلیدی درخواستی را برای سرور ارسال میکنید، باز هم فاصله شما با سرور باعث تاخیر در دریافت پاسخ میشود. حال جایی است که CDN وارد بازی میشود و ما در این زمان برای کاهش لیتنسی سرویسی به نام CDN را وب سایت خود اضافه میکنیم. سرویس CDN اطلاعات را از نزدیکترین سرور برای کاربر نمایش میدهد و این کار باعث کاهش لیتنسی لود وب سایت میشود. سرورهای CDN را گاهی نقطه حضور (POPs) مینامند.
کاربران وردپرسی در ابتدا برای استفاده از CDN بیمیلی نشان میدهند. در اینجا ما در ۳ مرحله خیلی ساده نحوه عملکرد CDNو همچنین نحوه فعالسازی آن در وب سایتتان را آموزش میدهیم.
یک ارائه دهنده سرویس CDN را انتخاب کنید و در وب سایتش ثبت نام کنید. سرویس دهی آنها بیشتر به صورت ماهیانه یا حجم پهنایباند میباشد و اکثر ارائه دهندگان برای محاسبه قیمت، به صورت هوشمند عمل میکنند و نیازی به ارسال تیکت یا تماس با ارائه دهنده نیست.
برای ادغام CDN خود با وردپرس از یک افزونه رایگان مانند CDN Enabler استفاده کنید. این افزونهها به صورت خودکار دادههای شما را با CDN ادغام میکنند. با این افزونهها نیازی نیست که شما به هیچ چیزی دست بزنید و همه کارها به صورت خودکار انجام میشود، صرفا برخی اطلاعات اولیه برای وصل شدن به CDN لازم دارند. در حال حاضر استفاده ازCDN نسبت به چند سال پیش خیلی راحتتر شده است.
حال هنگامی که کاربران شما وارد وبسایتتان میشوند، اکنون محتوای وب سایت وردپرسی شما در CDN هایی در سراسر دنیا لود میشود و نسبت به مکان کاربر نزدیک ترین سرور CDN انتخاب میشود و اطلاعات برایش لود میشود. پس اگر حال کاربر از ایران وارد وب سایت ما شود دیگر لیتنسی قبلی را برای انتقال از فرانسه به ایران را احساس نمیکند زیرا اطلاعات از سروری در آسیا برایش ارسال میشود. حال به این بخش میرسیم که CDN چگونه مکان کاربر را تشخیص میدهد. این سرور برای تشخیص مکان فعلی کاربر از تشخیص IP و همچنین مسیریابی جغرافیایی استفاده میکند تا دقیقترین مکان را تشخیص و نزدیکترین سرور را به درستی انتخاب کند.
با این حال، هنوز هم انتخاب یک سرور قدرتمند در یک مکان مرکزی بسیار اهمیت دارد، چون اگر از یک CDN قدرتمند برای لود اطلاعات وب سایت خود استفاده کنید نیز مرورگر باید چند درخواست برای دریافت فایلهای استاتیکی مثل HTML وPHP ارسال کند، مگر اینکه از تکنیک ذخیره سازی در سرور پروکسی استفاده کنیم که آن بخشی جداست که بعدا به آن میپردازیم. در حال حاضر وب سایتهای میزبانی بسیاری هستند که از نظر ارائه سرور قدرتمند در ایران فعالیت میکنند و از مکانهای مختلفی از جهان از جمله خود کشورمان ایران سرویس دهی میکنند.
در زیر تعداد اندکی از مزایای بسیار زیاد CDN ها را بیان میکنیم.
بهبود عملکرد یکی از مهمترین دلایل استفاده از این سرویس میباشد. با این سرویس هربار که وب سایت را لود میکنید سرویس از نزدیک ترین سرور با حداکثر سرعت دادهها را دریافت کند و نرخ فرار کاربران یا bounce rate را کاهش دهد (اطلاعات بیشتر درباره bouce rate را میتوانید در مقاله bounce rate چیست بخوانید) و برای شما بازدیدکنندگانی وفادار پیدا کند. و این به معنای تغییر سادهای در تجربه کاربری نیست. آخرین باری که وارد وب سایتتان شدید و وب سایت دیر لود شد چه زمانی بود؟ این چیزی است که دوست دارید براتون خاطره شود و همیشه سرعتی عالی برای لود شدن صفحه داشته باشید. این سرعت به همین راحتیها هم به دست نمیآید. در زیر آماری معتبر از بزرگان این صنعت براتون آماده کردیم که بهتر است به آن توجه کنید :
تمامی این مشکلات و نکات توسط CDN امکان پذیر است.
ما قبلا در بالا ذکر کردیم که اتصال یک CDN به وب سایت وردپرسی شما باعث میشود که لیتنسی وب سایت شما با کم شدن مسافت فیزیکی کاربران نسبت به سرور کاهش یابد. همچنین میتواند باعث کاهش زمان دستیابی شما به اولین بایت وب سایت شود.(TTFB یا time to first byte)
در تعریف ساده TTFB باید بگویم که برای دریافت اولین بایت دادههای وب سایت، مرورگر موظف است زمانی منتظر بماند. هرچقدر که این زمان بیشتر باشد، لود وب سایت نیز دیرتر انجام میشود. ولی پیشنهاد مهمی برای شما داریم و آن این است که حتما مقاله TTFB چیست را مطالعه نمایید تا باعث بهینه سازی زمان بارگذاری سایت خود شوید.
یک تصور غلط در رابطه با محاسبه TTFB این است که بیشتریها تصویر میکنند که زمان دستیابی مرورگر به اولین بایت وب سایت بعد از بررسی DNS میباشد که این تصوری کاملا اشتباه است. زمان تاخیر TTFB به لیتنسی وب سایت شما بستگی دارد و هرچه پایینتر باشد TTFB شما نیز پایینتر است.
به طور کلی لود شدن اولین بایت در وب سایت باید ۳ مرحله پردازش، تاخیر و لیتنسی را بگذراند. TTFB بالا در وبسایت شما ممکن است به علت کدنویسی اشتباه ویا استفاده اشتباه از سیستم کش باشد.ولی مکان کاربران نیز یکی از دلایل موجود میباشد. ما با انجام آزمایشی تفاوت فعال بودن و نبودن CDN را در TTFB وب سایتمان بررسی کردیم که نتیجه آن به صورت زیر میباشد.
ما در ابتدا یک تست را بدون فعالسازی CDN انجام دادیم که در نتیجه تست زمان لود وب سایت ۱.۴۵ ثانیه نمایش داده شد که از این زمان ۱۳۶ میلی ثانیه اش به TTFB وب سایت مربوط بود.
پس از فعالسازی CDN و تست دوباره وب سایت، همانطور که مشاهده میکنید زمان لود وب سایت ۷۸۸ ثانیه و TTFB وب سایت نیز 37 میلیثانیه شده است. حال وقت آن است که بگویید، واو CDN چه تغییری ایجاد کرد