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

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

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

برای بررسی علت این موضوع چند نمونه از وب سایت ها از جمله وب سایت هایی که توسط سیستم مدیریت محتوای وردپرس راه اندازی شده را بررسی کرده ایم. نتایج مشاهده شده نشان میداد که علل کندی سرعت بارگذاری این سایت ها یکی از موارد زیر بوده است:

  • دریافت فایل های کتابخانه ای از سرور یا CDN های خارجی
  • دریافت فونت های گوگل
  • دریافت از GTM گوگل
  • دریافت فایل های کتابخانه از Unpkg.com
  • Gravatar در وردپرس
  • فراخوانی admin-ajax.php در وردپرس
  • لوگوی اینماد
  • افزونه ها و API ها

دریافت فایل های کتابخانه ای از سرور یا CDN های خارجی

دسترسی به فایل های کتابخانه ای از سرور یا CDN های خارجی در حال حاضر امکان پذیر نیست که این شامل فونت های گوگل، فایل های کتابخانه unpkg.com و … نیز می شود. این امر منجر به انتظار طولانی برای دریافت فایل ها از این نشانی و در نهایت شکست این ارتباط می شود. در نتیجه زمان کلی بارگذاری سایت در تمامی وب سایت هایی که از این سرورها استفاده می کنند به طور محسوس افزایش پیدا می کند. راه حل این است که دسترسی به سرور ها قطع شده و از کتابخانه های مشابه محلی در ایران استفاده شود و یا کتابخانه ها به صورت محلی در سرور سایت آپلود شود تا کمترین وابستگی به سرور های خارج از کشور را در زمان بارگذاری سایت داشته باشیم.

برای سایت های وردپرسی می توان از پیکربندی زیر در فایل wp-config.php استفاده کنید. این پیکربندی دسترسی سایت به آدرس های خارجی را مسدود می کند:

define ('AUTOMATIC_UPDATER_DISABLED', true);
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'WP_ACCESSIBLE_HOSTS', '' );

دریافت فونت های گوگل

اغلب وب سایت ها از فونت های گوگل استفاده می کنند که این فونت ها از آدرس fonts.googleapis.com دریافت می شود. این را می توانید در تب Network بخش Inspect Element مرورگر ببینید.

وردپرس و بعضی از افزونه های آن از جمله افزونه دیجیتس (Digits) از فونت های گوگل استفاده می کنند. برای بررسی اینکه کدام افزونه در وردپرس از فونت های گوگل استفاده می کند ساده ترین راه این است که تمام افزونه ها را غیرفعال کرده و سپس یکی یکی فعال و تست کنید. ممکن است بعضی از قالب ها نیز از فونت های گوگل استفاده کنند. در هر صورت برای رفع این مشکل در سیستم مدیریت محتوای وردپرس می توان از افزونه Disable & Remove Google Fonts که توسط fontsplugin.com توسعه داده شده، استفاده نمود. این افزونه در مخزن وردپرس نیز موجود است اما از آنجایی که مخزن وردپرس نیز در اغلب سرویس دهنده ها در دسترس نیست ما آخرین نسخه از این افزونه را آماده کرده ایم و می توانید از لینک پایین دانلود نمایید. استفاده از این افزونه دسترسی بخش فرانت سایت را به فونت های گوگل مسدود می کند.

دریافت از GTM گوگل

Google Tag Manager یا GTM ابزاری رایگان است که به شما امکان می دهد بدون نیاز به تغییر کدها، برچسب های بازاریابی (قطعه کد ) را در وب سایت خود (یا برنامه موبایل) مدیریت کرده و گسترش دهید. اگر از برچسب های گوگل به هر نحوی استفاده می کنید به ناچار می بایست دسترسی به این تگ ها که در وب سایت googletagmanager.com ارائه می شود را مسدود نمایید.

دریافت فایل های کتابخانه از Unpkg.com

دریافت فایل های کتابخانه unpkg.com می تواند منجر به کاهش محسوس سرعت بارگذاری سایت ها شود چرا که در اغلب وب سایت هایی که از کتابخانه های جاوا اسکریپت استفاده می کنند درخواست هایی به این آدرس وجود دارد. برای مثال افزونه دیجیتس در وردپرس برای دریافت پیش شماره کشور های جهان از کتابخانه MobileNumbers استفاده می کند. می توانید از نسخه بومی سازی شده ی دیجیتس استفاده کنید. در وب سایت هایی که از کتابخانه های unpkg.com استفاده می شود می توان کتابخانه ها را دانلود و به صورت محلی استفاده کرد.

استفاده از Gravatar

گراواتار (Gravatar) یک سرویس جهانی برای نمایش عکس پروفایل است که می توانید با استفاده از این سرویس، عکس پروفایل گراواتار را در تمامی وب سایت ها و شبکه های اجتماعی که از این سرویس پشتیبانی می کند استفاده کنید. وردپرس نیز از این سرویس پشتیبانی می کنند اما در حال حاضر این سرویس که در آدرس gravatar.com ارائه می شود در ایران در دسترس نیست لذا فعلا می بایست دسترسی به این سرویس دهنده مسدود و از استفاده از آن چشم پوشی کرد.

در وردپرس برای غیرفعال سازی سرویس gravatar می بایست از پنل مدیریت پیشخوان > تنظیمات > گفت و گو نسبت به غیرفعال سازی نیم رخ ها اقدام نمایید.

فراخوانی admin-ajax.php در وردپرس

ویژگی Heartbeat API از نسخه وردپرس 3.6 به بعد معرفی شد این ویژگی برای مدیریت درخواست های ajax اضافه شده است، برای مثال ذخیره خودکار نوشته ها، بررسی احراز هویت کاربر به صورت زنده و … توسط این ویژگی مدیریت می شود . اگر چه محدودیت اینترنت خارجی بر روی این مورد تاثیرگذار نیست اما برخی افزونه ها باعث افزایش بار این فایل و در نهایت کندی سرعت بارگذاری وب سایت می شوند. برای حل این مشکل با استفاده از افزونه می توانید سیکل درخواست و اجرای این فایل را تغییر و فاصله بین هر درخواست را افزایش دهید. افزونه Heartbeat Control یکی از افزونه هایی است که می توانید استفاده کنید.

ای نماد

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

افزونه ها و API ها

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

  • API ارائه دهنده قیمت ارز
  • API ارائه دهنده نقشه
  • API ارائه دهنده خدمات ایمیل
  • API جمع آوری اطلاعات بازدید
  • API بررسی لایسنس های نرم افزار

نتیجه گیری

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

مقالات مرتبط

پاسخ‌ها