یکی از بزرگترین چالشهای مدیران فروشگاههای اینترنتی، حفظ سرعت و پایداری سایت در زمان بروز اختلالات در شبکه اینترنت بینالملل است. حتی اگر هاست شما در داخل ایران میزبانی شود، وجود تنها یک لینک خارجی (مثل یک فونت، فایل جاوا اسکریپت یا کد آمارگیر) که از CDN های خارجی فراخوانی میشود، میتواند باعث کندی شدید یا حتی لود نشدن کامل سایت شما شود.
در این مقاله، قصد داریم به صورت مستمر و موردی، افزونهها و بخشهایی از پرستاشاپ که وابستگی خارجی دارند را بررسی کرده و راهکارهای بومیسازی و رفع مشکل آنها را آموزش دهیم.
نکته: این مقاله به مرور زمان تکمیل میشود، بنابراین پیشنهاد میکنیم این صفحه را در مرورگر خود ذخیره کنید تا از جدیدترین راهکارها مطلع شوید.
۱. رفع کندی با آپدیت ماژول مدیریار
یکی از دلایل کاهش سرعت بارگذاری سایت (در هر دو بخش مدیریت و کاربری) هنگام اختلالات اینترنت، استفاده از کتابخانههای JS میزبانیشده روی CDN کلادفلر در ویرایشگر ماژول مدیریار است. زمانی که ارتباط با این CDN ها دچار مشکل میشود، مرورگر کاربر زمان زیادی را منتظر دریافت فایل میماند.
راهکار:
برای رفع این مشکل و بومیسازی لود این منابع، کافی است ماژول مدیریار را به آخرین نسخه آپدیت کنید. در نسخههای جدید (منتشر شده از ۱۱ فروردین به بعد)، این وابستگیها برطرف شدهاند.
۲. غیرفعالسازی کامل ماژول آمارگیر گوگل (Google Analytics)
اگر از ماژول رسمی «آمارگیر گوگل» (بهخصوص در پرستاشاپ ۱.۷) برای اتصال سایت به گوگل آنالیتیکس استفاده میکنید، باید به یک نکته فنی و مهم دقت کنید: این ماژول حتی در صورتی که در پنل مدیریت غیرفعال (Disable) شده باشد، باز هم کدهای گوگل تگمنیجر را در بخش فرانت سایت (Front-end) اضافه میکند. تلاش مرورگر برای لود این کدهای خارجی در زمان قطعی اینترنت، باعث افت شدید سرعت میشود.
راهکار:
برای رفع کامل این مشکل دو راه پیش رو دارید:
روش اول: ماژول را از بخش ماژولهای پرستاشاپ کاملاً حذف نصب (Uninstall) کنید.
روش دوم: وارد فایلمنیجر هاست خود شوید و در پوشه `modules`، نام پوشه این ماژول یعنی ps_googleanalytics را تغییر دهید (مثلاً آن را به ps_googleanalytics_old تغییر نام دهید).
۳. بومیسازی فونتآیکونها در ماژولهای PrestaHero
در برخی از ماژولهای محبوب شرکت PrestaHero (به عنوان مثال ماژول سئو ets_seo و ماژول افزایش سرعت ets_superspeed)، فایلهای مربوط به فونتآیکونِ Font-Awesome از طریق یک آدرس خارجی بارگذاری میشوند. در زمان اختلال شبکه، این موضوع باعث کندی لود صفحه و نمایش داده نشدن آیکونها (به صورت مربعهای توخالی) میشود.
راهکار:
باید این فایلها را روی هاست خودمان و در یک پوشه اختصاصی بومیسازی کنیم.
۱. ابتدا فایل زیپ حاوی استایل و فونتها را دانلود کنید. (دانلود فایلهای فونتآیکون)
۲. وارد پنل هاست خود شده و در پوشه اصلی سایت (معمولاً public_html) یک پوشه جدید به نام assets ایجاد کنید.
۳. فایل فشرده را داخل پوشه assets آپلود و اکسترکت کنید (با این کار دو زیرپوشه css و fonts ایجاد میشود).
۴. حالا باید فایلهای استایل ماژول مورد نظر را ویرایش کنید. برای مثال در ماژول ets_seo به مسیرهای زیر بروید و فایلهای front.css و all.css را برای ویرایش باز کنید:
modules/ets_seo/views/css/front.cssmodules/ets_seo/views/css/all.css
۵. در خط اولِ این فایلها، کد زیر قرار دارد که باید آن را پاک کنید:
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
۶. کد زیر را جایگزین کد قبلی کنید (فراموش نکنید که به جای YOUR-Domain.com آدرس سایت خودتان را وارد کنید):
@import url('https://YOUR-Domain.com/assets/css/font-awesome.min.css');
۷. فایلها را ذخیره کرده و در نهایت کش پرستاشاپ را از منوی پارامترهای پیشرفته پاک کنید.
---
سخن پایانی:
بهینهسازی سرعت فروشگاه در شرایط ناپایدار اینترنت، نیازمند بررسی مداوم و شناسایی منابع خارجی است. ما در این مقاله سعی میکنیم به مرور زمان، افزونهها و بخشهای دیگری که نیاز به اصلاح دارند را معرفی کنیم.
اگر شما هم در فروشگاه خود با ماژولی برخورد کردهاید که باعث کندی در شرایط اختلال اینترنت میشود، در بخش نظرات همین مقاله با ما در میان بگذارید تا راهکار آن را بررسی و به متن مقاله اضافه کنیم.